1 / 13

Soundulous A better music visualizer

Rafi Khan, Mike Levine, Jacob Metrick , and Hari Ganesan. Soundulous A better music visualizer. Concept. Streaming music and visualizer to mobile device Interactive visualizer with touches Sync to multiple phones Two user functions: New: a user (master) creates a session

teenie
Download Presentation

Soundulous A better music visualizer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rafi Khan, Mike Levine, Jacob Metrick, and Hari Ganesan SoundulousA better music visualizer

  2. Concept • Streaming music and visualizer to mobile device • Interactive visualizer with touches • Sync to multiple phones • Two user functions: • New: a user (master) creates a session • Join: a user joins an existing session

  3. What Is It Good For? • Audience: teens, young adults, other bored people • Fun group activity • Parties! Bar Mitzvahs! Weddings!

  4. Technical Challenges • Streaming images to each phone • Combining touch events from various phones • Integrating touches into visualizer quickly • Network Options • TCP/HTTP • UDP • Some combination of both

  5. Technical Challenges • The Visualizer! • Need to do audio parsing for volume, frequency detection • FFT, amplitude, etc. • Map touch events to changes in volume, or frequency, or something else • Make it fast • Make it cool

  6. The Client Side • Listening to touch events • Mixing events • Differentiating between “touches” and “swipes” • Rendering the bitmap images successfully

  7. The Server Side • Getting packets and transferring to input of visualizer • So far: one thread • Getting data via UDP from client

  8. The Server Side • Using Processing (processing.org) • Making visualizer based on inputs • So we need three more threads: • One for doing the actual rendering • One for receiving video data from processing • One for sending video data to client(s) • Total threads: 4! Wow!

  9. Workflow (creating session) • Phone posts to /new • Server responds with a port number (eg. 10001) • Server starts sending visualization data (compressed as JPG) on 10001 • Phone opens an HTTP connection on 10001, and renders the incoming JPG data • Whenever the phone detects a touch event, it sends the event via UDP

  10. Workflow (joining session) • Phone posts to /join with the port number • Server responds to confirm. • Exact same workflow as with creating!

  11. Demo

  12. Future Considerations • Making the full-scale app • Limiting number of people/session • Viewers/Enablers? • Private/Public sessions? • More options • Multiple visualizers • Different touch functionalities

  13. Thanks!

More Related