-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add drum synth #192
Comments
Cool! Any way I can help? |
@itsjoesullivan: for some reason I'm experiencing hard crashes after the module has triggered many (say 1000+) times. I'm running inside of electron. Trying to get to the bottom of it. Very strange. |
@itsjoesullivan: I just tried the updated kick-eight, snare, and hi-hat. Great news! They aren't causing crashes anymore! Guess it must have been the noise buffer generation causing problems. |
Oh sweet, good to hear. My benchmarks ( I'm interested to see how you're using these! Would be great to checkout a branch. |
@itsjoesullivan: I'm currently experimenting with adding params to all of the different drum modules. Would you prefer I create issues, or just send you some PRs? Working on adding them to audio-slot and then I'll expose them as source nodes in Loop Drop. I'll give you a link once I push something. Hopefully I'll have some stuff on SoundCloud soon featuring your drums 😄 |
I'm not sure exactly what the API change is, but issue or PR is fine! I'll be excited to hear them in your music. I git cloned Loop Drop, and boy do things sound great going through the effects chain you've set up. That's an area I haven't spent much time in. |
Got distracted testing this afternoon and this happened: https://soundcloud.com/destroy-with-science/overflow-noise-buffer - it's all kick-eight, kick-nine, snare and a couple of basic synths. As you can probably hear, I have added params for controlling pitch, and added decay time to the snare. Haven't got as far as messing with hi-hats yet, but I think I'd like to swap out the DRUM SYNTHS ARE SO MUCH FUN!! Finally can stop using boring old 808 and 909 samples 😆 |
Wow, awesome! Listened a few times, I guess you've got pitch on the kick, at least? I spent some time working on the snare. With what I just published, snareNodes have Yeah, samples are a little boring, but when it comes to pitched snares I think our ears are more used to hearing and 808 snare sample tuned rather than the actual synthesizer. So I think there's room/need for both. |
@itsjoesullivan: I see you are experimenting with "custom" AudioParams. I tried something similar a while back, and I found that while it worked great - there was a major performance penalty when using a lot of them (over built in params). But there's also another hack where you can take the output of the node, run it through a flatline waveshaper, and then apply gain to that. I seem to recall it performed a little better. But I actually ended up removing all of the AudioParam hacks from loop drop, and did my own thing. It's a bit crappy, but at least there's no performance penalty. |
@itsjoesullivan: But yes, exposing the params like that does fit my model nicely, so will have to benchmark and see how it goes! |
Naturally, I got the voltage idea from you -- maybe you should publish it as a module? But I don't think there's anything custom about the detune param -- it's just an AudioParam attached to a GainNode that is attenuating a buffer source node ("voltage") that's connected to the oscillators' respective detune params. No script processor involved. It is some complexity though, so if there is a performance hit I'm in trouble because that's what my envelope generator uses as well. re: performance, I realized that now that these instruments share some audio graph between "node"s, I need to do something like this to avoid leaving around thousands of silent gain nodes that eat up CPU. so, look for that to roll out eventually. Anyway, I'll follow this, happy to merge in whatever you need when the time comes. |
@itsjoesullivan: I created audio-voltage a while ago, but it looks like it could do with being updated to the BufferSource method. Didn't realise it was still using the old ScriptProcessor method. |
Add sources for synthesised drum sounds based on @itsjoesullivan's awesome drum modules:
Will need to figure out a way to integrate the params into Loop Drop's automation/linking system. May have to import the source directly to hook (maybe add to audio-slot).
Not sure if there should just be a single "Drum Synth" source, or if each sound should be it's own.
The text was updated successfully, but these errors were encountered: