Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A web synthesizer/sequencer.
JavaScript Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
public
tmp
views
.gitignore
.gitmodules
.rvmrc
Gemfile
Gemfile.lock
README
app.rb
config.ru
pattern.yml
soundgenerator.rb

README

*** Webloop ***

This is the second iteration on the idea of a synthesizer in the web.

This time around, it's another crazy thing: software synthesis in javascript. Yes, that's possible.

What is currently not possible is to output calculated sound data via javascript, so for that purpose, I use a simple flash applet.

The name is derived from Nanoloop (see www.nanoloop.com) from which I also "stole" the pattern editor design.

To see it in action, install the dependencies and start the sinatra app:

$ ruby app.rb

Now you can direct your Safari browser to http://localhost:4567

If your browser is fast enough and it does support flash, you can press the link that says "play" and then you should hear the
sounds of my javascript only synthesizer.

*** Issues***

As it seems, the flash applet I use to stream the sound, has some issues in that it sometimes hogs way too much CPU.
I wasn't able to debug that.

Feel free to report issues to http://github.com/halfbyte/webloop/issues


pattern.yml is random shit, don't hold me responsible for this not being proper music :)

*** License ***

           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                   Version 2, December 2004

  Copyright (C) 2004 Sam Hocevar
  14 rue de Plaisance, 75014 Paris, France
  Everyone is permitted to copy and distribute verbatim or modified
  copies of this license document, and changing it is allowed as long
  as the name is changed.

           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. You just DO WHAT THE FUCK YOU WANT TO.
Something went wrong with that request. Please try again.