Live data from Hacker News

Make Dope Beats with ReactJS

formidable.com

31–40 of 47 posts

Re: Make Dope Beats with ReactJS

#31

I'll take a second to shamelessly plug my library TinyMusic for those of you who might want similar-ish functionality but aren't familiar with or don't like React https://github.com/kevincennis/TinyMusic

Have you looked at CSound? http://csound.github.io/documentation.html I'm really into the idea of having a standard for music scoring, and not just for music scoring, but also for like... identifying the instrument.

I wish that the music tools that existed accept CSound (or any standard) more. Your JS array is solid though :thumbsup-emoji:

Re: Make Dope Beats with ReactJS

#32

I'll take a second to shamelessly plug my library TinyMusic for those of you who might want similar-ish functionality but aren't familiar with or don't like React https://github.com/kevincennis/TinyMusic

Oh this is nice. I'll take a second to also shamelessly plug my library Barrel, which is like these except it's for sequencing anything you can do with a JavaScript function, not specifically music.

https://www.npmjs.com/package/barrel

Re: Make Dope Beats with ReactJS

#34

Neat I made a grid sequencer synth thing using react and webaudio a few months back. Let's you edit the adsr envelopes in realtime, sync to a plugged in launchpad over midi, and supports sharing. Music is fun! http://ell.github.io/grid/

I don't hear any sound using Firefox 48.0 on Fedora 23. The tab has the loudspeaker icon on it indicating that it probably should be making sound. I pressed a bunch of the buttons, turning them green and they are changed to yellow row by row.

Meanwhile, Chromium 51 on Fedora 23 works fine.

Re: Make Dope Beats with ReactJS

#36

Neat I made a grid sequencer synth thing using react and webaudio a few months back. Let's you edit the adsr envelopes in realtime, sync to a plugged in launchpad over midi, and supports sharing. Music is fun! http://ell.github.io/grid/

I don't hear any sound using Firefox 48.0 on Fedora 23. The tab has the loudspeaker icon on it indicating that it probably should be making sound. I pressed a bunch of the buttons, turning them green and they are changed to yellow row by row. Meanwhile, Chromium 51 on Fedora 23 works fine.

Apparently it uses Web MIDI, and apparently Web MIDI only works in Chrome right now.

Of course, this would all have been a lot easier to root-cause if somebody had documented his stuff a little, but... :)

Re: Make Dope Beats with ReactJS

#38

React is actually really ideal for web audio components. The web audio api is quite easy to use for the most part. The hard part tends to be building usable ui on top of it. I've tried in the past to bundle up modular audio components in a way that they can be used in a package manager. It is hard to do well since you also need css and html to go along with the js. With react, all that stuff is already together in on…

That's really cool! How much of the audio processing is software DSP in Javascript, and how much is wiring together API components?

Ideally none of it. In this app I don't believe that I used any scriptProcessorNodes. I can't remember though. The general idea is that you are connecting nodes into an audio grid but all of the dsp is happening natively. You can process the audio manually in js but it isn't as fast and is generally frowned upon. I believe that they are deprecating the scriptProcessorNodes and providing a way for you to define dspin js but have it run on the system level.

Re: Make Dope Beats with ReactJS

#39
I'm a huge fan of this kind of programming! While not using the Web Audio API, I built a DSL in Ruby that allows you to sequence an analog synth (or anything that speaks MIDI): https://github.com/tubbo/mass

I'm also working on a synth that models a Moog Voyager called "Worf: Son of Moog".

Re: Make Dope Beats with ReactJS

#40
post #17

Earlier quoted context omitted.

Yeah, its severely limited compared to a DAW in almost every way. But its super fun to mess around with, and if you like React and the Web Audio API then its a cool example integration as well. My vision long term is that this will serve as a set of primitives that can be composed into instrument presets and have UI hooks so you can build something like a step sequencer UI or a drum machine.

Have you ever played Rez on the Dreamcast? I kept wondering if you could do procedurally generated music from monitoring inputs so that you could listen to your production system. I mention this only because I've flailed and failed to even figure out where to start to do such a thing a few times, and what you're doing looks like sufficient fun that I'm actually tempted to try again. No promises I ever will or that I'…

i haven't but that sounds dope. you should give it a shot!
Post reply on HN