langel / botb_irc_bot

battle of the bits instant relay chat magic
BSD 3-Clause "New" or "Revised" License
11 stars 7 forks source link

Ultrachord sample-based timbres #64

Open jangler opened 7 years ago

jangler commented 7 years ago

I think it's pretty self-explanatory? To the end user, sample-based timbres work just like synths and yell at you in the same way as pluck yells at you if you give it a pitch out of its range.

What this doesn't do is move samples outside the repo as discussed in #34, which can be changed later once we figure out how that's going to work.

langel commented 7 years ago

Looks good. One thing I'd like to point out is that I think the list of samples should be loaded dynamically during an initialization process. We don't have to that now, but it could automagically know pitch range based on the files available. Also savestate is gonna beat you up because ES6 is the new shazbot!

jangler commented 7 years ago

I agree! I don't see myself doing that right now, though, so I suppose I'll open a second issue for that.

jangler commented 7 years ago

I don't think I have it in me to resolve this right now ;P

langel commented 7 years ago

I don't have much github branching pull request experience. I pulled this down. I did my best to fix the merge conflicts with savestate's ES6 patch.

I tried a bunch of stuff with the ultrachord command, but I'm at work w/o headphones so I wasn't totally sure what I was hearing. I'm guessing that the samples are quieter than the generated tones so they were hard to hear w/o turning up my cornputer speakers. Will checkout when I get home.

After all this I committed my changes and tried pushing to your remote branch. I don't see this update here, but it is a remote branch after all. If you can't pull it you'll have to resolve the conflicts all over again.

I'm also not clear on the default timbre. I think most of us think square makes the most sense given the community. But I think the help says sine, but I'm pretty sure I'm hearing triangles.

jangler commented 7 years ago

You might also check out my branch and try running the bot using that code, just to make sure that any issues weren't introduced during the merge process.

I also just gave you an invite for push access to my repo.

langel commented 7 years ago

I have been playing with this for over a week. Sorry I haven't written this up.

There is some inconsistent behavior when you try to stack sample-based timbres. If you try some combos you'll see an error occur.

Also, mixing is pretty bad. The generated tones are way louder than the samples. I don't know if this could be fixed by normalizing the samples or if we could gen the tones quieter.

I can try and fix the conflicts again for a merge. Really busy this week.

jangler commented 7 years ago

Best way to get consistent mixing volumes would be to adjust the samples to the same LUFS level, and then adjust the generated tone levels to match. If we're going to move the samples outside the repository, then we should probably do that first, since we'll get huge binary diffs otherwise.