Build-a-sampler / Build-a-sequencer challenge


#1

I’m keeping this one open-ended because I don’t know how many people will actually do it, but I know I’m down for at least making a few (very rough) sketches that at least function 50% of the time :smiley:

Basically this: make a device that makes sound. Use a programming language, IDE, microcontroller, VST wrapper, game engine (easiest option) or any scripting environment (there’s probably one in your DAW) to build a sequencer or sampler that functions as intended and does something cool.

(We can technically even include things like modular rigs and Midinous patches just to include those who can’t code, so anything that fucks with logic is good to go!)

Basically anything that generates, plays or helps play sound(s) is fair game, even if it’s just a MIDI controller.

Here are some other examples:

  • Euclidean sequencers
  • Pure Data MIDI devices
  • Raspberry Pi or Arduino MIDI controllers
  • Physics-based actions (bouncy note, ricochet, etc)
  • Mouse-over sample spammers
  • General sample spammers
  • Basic gamedev for the sole purpose of making sounds happen
  • Random piano-roll MIDI note plotters
  • Complex modular patches with branching paths
  • Fantasy console tracker triggerers
  • Protoplug / Plug’n Script MIDI controllers
  • Retro Gadgets sound devices
  • Midinous rigs
  • Etc

Remember that the GUI (if applicable) can be as simple as basic shapes, since we’re really just after sound generation here. No need for fancy visuals (unless you want to no-life it!), because we’re just after the sounds :slight_smile: .

Soft deadline can be Halloween, but I’ll probably keep it afloat for a while longer if I don’t burn out on ideas and projects early. Will also toss up source codes and things like that if there’s any interest.

Update: no deadline!


Anybody wanna do something new for the label?
#2

This one is gonna be tough…

But its worth it.

:slightly_smiling_face: :100:


#3

Interesting challenge! And especially UE as a game engine is def a nice option for this with its modular Metasound system (starting with UE5). Much easier and faster (once it is installed…) than programming something from scratch and also fun to play around in (including UI stuff or using gameplay aspects for controlling sounds/music). I’m not sure if I get around to doing something new for this, but in case anyone wants to use Metasounds in UE5 and has no experience with it, maybe some of my tuts can help:

Making a DNB beat in Metasounds (3 part series) & building sequencers (longer tuts for beginners focusing only on Metasounds):

Using Blueprints to control Metasounds with gameplay (10 min, for people who already know UE and Metasounds):


#4

Yes! I have no experience with UE, but this is such a great idea. Especially for those who don’t know how to code, since they can dip a little bit into the logic side of things without having to actually learn those sometimes grueling fundamentals :smiley:

I already have a sample-spammer cooked up in Love2D, but I’m having trouble with it playing more than like 6 samples at once. Trying to find solutions – either glitching the samples in unique ways or just shutting them off when they need to make room for another one, but I was really hoping this environment would be easy.

Thankfully there’s like a million ways to do this challenge though, so I’m hoping to come up with quite a few variants over time! I’m also excited to see what everyone else comes up with!


#5

Yeah, best thing is you can use UE to really learn bout coding, including Metasounds which has lots of logic-related stuff in terms of triggers for instance, but especially if you get into Blueprints which offer nearly the same options as a programming language.

Six parallel samples already sounds like a lot, so shutting them down should open up enough room for some nice loops or even tracks.

Yeah, I’m really looking forward to see what comes out of this, def lots of very different options.


#6

This was basically my idea for a ricochet, but since Love’s FX are limited, you can only spam 6 instances at a time (not nearly enough for bouncy notes, dammit!) and there’s seemingly no way to slow down or speed up the sample rate, my only options are to do some heavy batch editing on my sample banks or find a more audio-inclusive environment.

It works as a proof of concept, but I wanted something worth resampling from so this isn’t going to work.

Also, I shrunk the dingbat set I used really far down so they’re hard to see without fullscreen mode, but basically every time the DX / DY flips you get a trigger in return. Unfortunately it won’t trigger extras after a simultaneous 6 though, and cutting them short also sucks so I need to do this in something else for sure.

Although it might be a bit ‘hard mode’-esque since I can’t really import samples, I might just do a version inside of Pico-8 / Tic-80 and make use of their built-in trackers and FX generators to see if I can make anything cool in those departments. Also, my brain is already in Lua gear so it’s kind of on tap


#7

Dunno if this counts as it’s not really coding or building from scratch (I never learned how to code and don’t really even know where to start) but I’ve been heavily fuckin around with setting up Renoise to create semi-generative style music for a couple of years now. Trying to get it to work in ways that it wasn’t really intended to be used. Almost like turning it into a modular environment.

I made this thing a few years back and never extended it much further. The project file is on an old hard drive that I can’t get to right now cause I’m living abroad so i can’t study how I set it up fully but I have a pretty loose idea of what I did. It’s more or less total random selection of sounds and patterns using very basic boolean logic done with Renoises built devices to switch between sounds and tracks, like a hocket., and layering samples with random playback selection. There’s also most likely pitch, and fx triggering done by random / semi random key triggering as well. Occasionally I would also set it up to do some random key tracked triggering changes to the master bpm & lpb of the track as well which were sub-divisions of the original track bpm & lpb to create randomised slow down and sped up juxtapositions for rhythmic shifts that gave an offsetting sort of push-pull stretching feel but I didn’t seem to do it in this track.

I’d really like to be able to break away from Renoise though and start to learn how to do true generative stuff in maybe something like Reaktor, Pure Data, SuperCollider, Tidal Cycles, etc. Recently I found out about the Algorave community and wanted to start producing with similar techniques to them

but after 8 years of using Renoise I’m just so used to it and know it so well that its fast for me to produce with I can’t be bothered to go through the whole process of learning something new from scratch.


#8

Wow, that definitely counts and your Renoise setup sounds awesome! I love how it never really repeats whatsoever and feels like it continually evolves.

Have you ever taken a look at Sonic Pi? It’s one of the easier ones to get started with, and I’ve been using it (along with Renoise) a lot as part of my workflow this year. I also want to get into Tidalcycles but Haskell seems a bit daunting for my basic-bitch OOP brain. But maybe one day :smiley:


#9

I’ve heard of Sonic Pi a lot, seen it mentioned on the Renoise forum a couple of times, but it never really crossed my mind to learn it. If it’s easier then maybe I’ll give it a go, could be fun :slight_smile:


#10

I’m going for a round 2 if anyone wants to join in! Last week was hectic, but I should have a little bit of spare time each day to come back to this if all goes well.

Even though it’s as slow as molasses and probably not the best way to do things, I might literally make everything in Python – visual elements in Pygame and FX in whatever DSP libraries will give me the goods without having to know all the math (spoiler alert: there are a lot of them. Usually with high-level libraries, it’s pretty easy to call up something that already has the math – all you really need to do is work it into your own project).

At least this way, it should be pretty easy to just record whatever I make which is kind of the goal anyway.

I might eventually start working Pyo (DIY DSP) into some of these, but I at least want to find a decent setup that works well so that I can get stuff up and running. Relearning Pygame is definitely going to be the shitty part, but it’s worth it in the end.

If anyone wants to get setup with something like this, DM or post here. You don’t really need to know too much, and honestly it’s a great way to learn the fundamentals rather than staring at a textbook all day :smiley: