120 likes | 193 Views
MuseBox is a revolutionary multichannel music player with intelligent agents called Muses, offering a unique way to play music across networks. With MuseBox, users can create channels, assign muses, and enjoy personalized music selections. The thin client interface allows seamless access and control of music streams. It leverages Java Media Framework and various streaming outputs for a versatile music experience. Open-source and highly customizable, MuseBox is the future of interactive music playback.
E N D
Looking at iTunes • Rating, Feedback • Search, Categorization • Collaboration • Party Shuffle • Smart Playlists • AirTunes • iTunes is smart and loaded • …and so are its clones
iTunes shortcomings • AirTunes can play only one channel • Party Shuffle can’t be easily configured • iTunes players can’t network • iTunes can’t be easily extended • Smart Playlists can only take you so far • No remote capabilities
In addition • What if you could play music from any computer on any computer? • What if you could train an agent to select music to play for you? • What if you could have a player that could be used to make you feel like a radio DJ – only without the work?
Our Solution: MuseBox • Muses: Agents that pick your music • Channels:As many as you like – anywhere you like. • Interface:Thin client.
How it works: • User creates a channel on a server • User assigns an output to the channel • User assigns a muse to the channel • The muse picks a song for the channel to play • The channel plays that song on the assigned audio output.
Muses • A muse is a channel’s source of inspiration. • DirectoryMuse is inspired by a directory • MySQLMuse retrieves song info from a DB • RequestTakerMuse waits to hear from user • MasterMuse can delegate work to all the muses according to a ranking system (and whatever muse is willing to inspire)
Outputs Local Outputs • Java Media Framework (all platforms) • Delegation to mpg123 (nix) Streaming Outputs • Icecast (nix to all platforms, multiclient) • JMF/RTP (all, single or multiclient) • Faux-Stream [download, play, delete] (all, single)
Interface • Built-in implementation of HTTP1.0 • Entirely in HTML • Plain interface gets created by objects • Advanced interface uses HTTP.Template (java port of HTTP::Template) • XML interface might connect real GUIs(much like mldonkey works) • Can you really have an mp3 player in HTML?
http://lamp.mit.edu/ Multichannel - Multiuser HTML Driven “Analog Streaming”
Resources Open Source • Java Media Framework • MySQL server, MySQL JDBC connectors • ID3Reader (www.ueberdosis.de) • Other (e.g. Tray Icon, HTML.Template) Technologies • JDBC, XML, TCP/IP, Multicasting, Web Services