SoundCloud for Developers

Discover, connect and build

Backstage Blog RSS

  • April 4th, 2012 Announcements Developer Contest: SoundCloud + Acapela Group Mashup By Paul Osman

    SoundCloud is teaming up with Acapela Group for our first Developer Contest. Acapela Group offers amazing text to speech solutions and have a variety of SDKs so you can write apps that create sound files using one of their voices (including hip-hop and country!). Take a listen to some sample voices.

    We're calling on our developer community to mashup SoundCloud and Acapela. Show us what you can do using a text to speech service with the best audio content platform on the web. Maybe you want to have your email read (or sung!) to you layered on some instrumental or drum tracks. We think there are loads of options for making interesting and accessible apps using these two services.

    Read more...

  • March 22nd, 2012 Announcements HTML5 Widget API By Alexander Kovalev

    HTML5 Widget API

    Today we're officially announcing our JavaScript API for the new HTML5 SoundCloud Widget. To use it, just insert the script tag on a page where you're using our HTML5 Widget.

    <script src="https://w.soundcloud.com/player/api.js" type="text/javascript"></script>
    

    What does it permit?

    Access and control the properties of HTML5 Widget

    <iframe id="sc-widget" src="https://w.soundcloud.com/player/?url=http://api.soundcloud.com/users/1539950/favorites" width="100%" height="465" scrolling="no" frameborder="no"></iframe>
    <script src="https://w.soundcloud.com/player/api.js" type="text/javascript"></script>
    <script type="text/javascript">
      (function(){
        var widgetIframe = document.getElementById('sc-widget'),
            widget       = SC.Widget(widgetIframe);
    
        widget.bind(SC.Widget.Events.READY, function() {
          widget.bind(SC.Widget.Events.PLAY, function() {
            // get information about currently playing sound
            widget.getCurrentSound(function(currentSound) {
              console.log('sound ' + currentSound.get('') + 'began to play');
            });
          });
          // get current level of volume
          widget.getVolume(function(volume) {
            console.log('current volume value is ' + volume);
          });
          // set new volume level
          widget.setVolume(50);
          // get the value of the current position
        });
    
      }());
    </script>
    

    Load widgets

    <iframe id="sc-widget" width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F1848538&show_artwork=true"></iframe>
    <script src="https://w.soundcloud.com/player/api.js" type="text/javascript"></script>
    <script type="text/javascript">
      (function(){
        var widgetIframe = document.getElementById('sc-widget'),
            widget       = SC.Widget(widgetIframe),
            newSoundUrl = 'http://api.soundcloud.com/tracks/13692671';
    
        widget.bind(SC.Widget.Events.READY, function() {
          // load new widget
          widget.bind(SC.Widget.Events.FINISH, function() {
            widget.load(newSoundUrl, {
              show_artwork: false
            });
          });
        });
    
      }());
    </script>
    

    Resources

    • take a look at our documentation for more details and technical descriptions
    • check out our playground to get an overview of functionalities provided by the API

    Feedback

    If you've got a suggestion, found a bug, please let us know by leaving a comment below.

  • March 19th, 2012 Hacks Hacker Time – the first 3 months By Alexander Grosse

    Over 3 months ago we started the “Hacker Time” initiative (see here) and now it is time for a recap what’s happened so far. From the outset, people outside of the engineering department were very forthcoming in suggesting ideas for Hacker Time projects. While it was great to see so much interest, the essence of Hacker Time is that engineers create the projects that they’re personally motivated to develop. (It’s absolutely key to keep things separate from the general backlog!). Once that clicked, our engineers started initiating and working on their passion projects. Hacker Time has found momentum; currently around 50% of our engineers (who have been in the company longer than 6 months) have a project they are currently working on. These projects range from doing remote online courses to participating in competitions to cool hacks (which sometimes start at “Hack Days” and are then continued within Hacker Time). Some of the highlights are:

    • Instasound lets you record your sounds, apply a range of filters in real time, and instantly share to SoundCloud – video
    • Large Hadron Migrator – a tool to migrate database tables online without downtime
    • HyperSpec – HyperSpec provides a Ruby DSL for testing HTTP APIs from the “outside”
    • Story Wheel lets you record a story around your Instagram pictures and share it on the web as a nostalgic slideshow.
    • Massive Site Map – a ruby gem to build painfree google sitemaps for webpages with millions of pages. Differential updates keep generation time short and reduces load on DB.
    • KDD Cup 2012 – a team of 5 SoundCloud engineers is participating
    • Some engineers are taking online courses from Stanford, e.g. the machine learning online course

    We’ve decided not to track the aggregate hours spent on Hacker Time projects, but to leave it to the teams to organize. It’s an approach that’s working well, because it reinforces the spontaneity and informality that this kind of initiative needs in order to be credible.

    So what about the 50% of engineers that haven’t yet worked on their own Hacker Time project? Well, no big surprises here, there are two main reasons: Either they feel they have don’t have enough time or they haven’t found a topic yet.

    Overall we’ve seen the initial concept successfully initiated and it’s begun to get into full swing. We’re really pleased with the output so far and will have more updates soon – some engineers will present their projects in more detail!

  • March 16th, 2012 Announcements Wave64 BETA By leemartin

    Wave64 BETA

    If you've developed with HTML5 canvas before, you know that accessing and manipulating images from different domains or origins is prohibited. However, a quick search will present several ways of dealing with this problem. One of these solutions is a simple jQuery plugin called $.getImageData developed by @maxnovakovic. A proxy server converts the image into a base64 encoded data URL and returns the image as a JSON object. The image can then be included and edited within canvas. Magic? You know it.

    So what's Wave64? It's a slimmed down version of this idea made specifically for you: SoundCloud developer! Here's how it works:

    Read more...

  • March 12th, 2012 Announcements Stratus 2 BETA By leemartin

    Stratus 2 BETA

    Stratus is a jQuery powered SoundCloud player that lives at the bottom (or top) of your website or blog. In version 2, we've rebuilt Stratus from the ground up to include many requested features, a nicer aesthetic, and a much easier installation.

    Pumped? Yeh, me too. Here's how to participate in the BETA:

    Read more...