Coder Social home page Coder Social logo

ambientcloud's Introduction

AmbientCloud

SoundCloud. Now with added droning.

Why it's Awesome

Because it's a tremendous jumble of technology, and probably shouldn't be possible.

How it Works (a 10 step program)

  1. User adds a SoundCloud url to the playlist.
  2. SoundCloud JS SDK chats to SoundCloud, gets the track info.
  3. User decides to play the track.
  4. Request for SoundCloud stream url sent to Node.js proxy.
  5. SoundCloud redirects us around a bit, eventually chucks an MP3 back to Node.js...
  6. ...which chucks it back to the client.
  7. Track is decoded into a Web Audio API buffer.
  8. Web Audio API streams the decoded frames into Audiolet.
  9. Audiolet processes the audio in real-time...
  10. ...and passes it back to the Web Audio API, which plays it for the user.

Caveats

  • Chrome only for now 'cause Firefox won't load .mp3s, and the mobile browsers don't support the Web Audio API.
  • Loading tracks is slow as hell. MediaElementAudioSourceNode isn't implemented yet, so we can't stream the tracks but have to get the whole thing in an XHR. Fine, except http://code.google.com/p/chromium/issues/detail?id=96136 means that we have to proxy the tracks first. Sheesh...
  • Spent a bit longer than the time limit, as getting SoundCloud to play nicely with the Web Audio API and Audiolet was "interesting". Sorry :(
  • No tags or playlist descriptions yet. Spent too much time futzing around with audio. More apologies.

ambientcloud's People

Contributors

oampo avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.