also / remix.js

The Echo Nest Remix API for JavaScript
MIT License
9 stars 3 forks source link

Is this still an Active project? #1

Open johnjelinek opened 12 years ago

johnjelinek commented 12 years ago

I am very interested in making some remixes with javascript. I read that this is only compatible with an older version of the Remix API. Are there plans to update this to work with the newer API? Is there any way I can contribute? (I don't speak fluid python)

also commented 12 years ago

The project isn't active any more, but I should be able to help you get something working.

It doesn't actually use the Python Remix API, it just recreates a bunch of it in JavaScript. It's v3 of the Echo Nest API for analysis that it relied on, and they're on v4 now.

The code that uses the API is all in Flash. I've updated that library (https://github.com/also/echo-nest-flash-api), but haven't updated this project to use it.

I rewrote it to use exclusively JavaScript with the Web Audio API. Take a look at https://github.com/also/remixjs2. That one uses v4 of the Echo Nest API, but only works with browsers that support the Web Audio API.

johnjelinek commented 12 years ago

@also thanks for responding. So remixjs2 has replaced this repo and uses v4 and with no dependency on flash? If that's the case, I think that should be perfect. I want to play with the remix API, but I haven't used python in a pretty long time, and my audience is browsers (mobile + desktop), so a JS client library would be perfect for me. Is this the appropriate scope for remixjs2?

also commented 12 years ago

Browser support for audio is still pretty limited (http://caniuse.com/audio-api). I'm not sure if there's any way to run remix in a mobile browser without using a server to render the audio (Chrome or Firefox for Android might have something).

For the desktop, only Chrome and Safari support the Web Audio API. I haven't tested with Safari. Firefox has something similar, but it'd take some work to get it work with remix; I think you'd need to use JavaScript codecs like https://github.com/nddrylliog/jsmad.

Remix.js uses Flash to do the stuff some browsers can't, like decoding the MP3 to PCM and playing back the rearranged samples, and it works in any browser with Flash, on the desktop at least.

So, it depends on where you need it to work. If current versions of Chrome is good enough, the remixsj2 should get you there. Otherwise, remix.js will need some work in ActionScript and JavaScript to get it up to date with v4 of the Echo Nest API.

johnjelinek commented 12 years ago

Can I use remix2 with node.js to render the audio on the server-side?

also commented 12 years ago

It shouldn't be hard to do with node.js. Most of that code is in https://github.com/also/js-audio-segments/.

Basically, in the browser, generate a list of the segments of audio you want reassembled. In node.js, load that list and the audio decoded to WAV, and you can use most of js-audio-segments unmodified.

Here's a quick hack to get it working https://gist.github.com/3603856