Home | ER-101 | ER-102 | ER-301 | Wiki | Contact

Replicating Radio Music with ER-301

Hi everyone,

Long time lurker-learner, first time poster here. I have a question for the more proficient 301 users here: what would be a good, CPU-efficient way of replicating the functions of the Music Thing Radio Music module? Specifically, I’d like to be able to instantly switch between 10-15 looping samples using just one control. Is the easiest way to render all samples into one file, slice and address slice points via CV?

Any tips appreciated!

yes i think so.
another way perhaps might be different mixer channels each with a bump scanner fed by the same control signal but you’d end up eating up a lot more cpu i think…

you won’t get the same behavior like the radio music with slice points since these would be fixed and you would come always to the same point in the audio files…radio music as i understand it constantly plays all files in the background and you “tune” in where the playhead currently is. so i think you need several loopers and something like a switch to scroll through. the card player uses little cpu but then you can’t change pitch etc but it would replicate radio music quite well i think.

2 Likes

or maybe it works if you make a gazillion slices so chances that you hit the exact same slice are small. even better would be something like a randomize function…so your cv triggers a s&h and that then selects your slice.

but then it will loop a very tiny slice

Yes, that’s true about Radio Music – all files are playing in the background.

hm true, but isnt there an option to set loop to whole file and use slice only as start, reset point? i’m not in front of the setup now so i might be wrong…

Probably the most direct analogy you could build (of the original RM=radio music firmware) would be to use the Raw Player.

You can set up your “stations” by selecting the sample using “Select From Pool” and then “Enable Multi Select”. Choose all the wave files that you want to represent your “stations” and hit Enter, and the 301 will automatically create a wave file in RAM that concatenates and pre-slices all these wave files. Default mode for the Raw Player slice control should be “indexed” which is what you want. Adjusting the “slice” parameter by enough (1 divided by number of slices) and fire a trigger into gate will switch “stations”. There is also a “start” parameter which you can use to offset the start position when you reset - similar to the start knob/cv in on the RM. It only goes up to 5s but you should be able increase this by putting an external offset into the subchain and giving it a high gain (say using a rational VCA in addition to it’s built in subchain gain of up to 3).

This should be very CPU friendly. But a big difference between the Radio Music and the Raw Player is that the Raw Player keeps the wave file in RAM, the RM reads direct from the SD card, I’m pretty sure. There’s a pretty good bunch of sample RAM available but if you’re talking about really, really long samples, RAM is more the resource to pay attention to than CPU. There is also a Card Reader unit in the 301 but it doesn’t support slices - so you’d have a single “station.”

http://wiki.orthogonaldevices.com/index.php/ER-301/Raw_Player
http://wiki.orthogonaldevices.com/index.php/ER-301/Card_Player

3 Likes

Aha, thank you very much! I will try this out.

This forum is the best, btw!

the card player has a position control, so if you combine all your samples into one long file you could use this player and control the position with your cv. however you’d need always a trigger to reset to the new position but i think with @Joe new motion sensor unit you can make a trigger from the same cv so everything with one control and very low in cpu.

1 Like

You’re welcome. At the risk of making this sound like a shameless self-plug…

If you want to replicate the behavior where turning a knob switches the station automatically (without having to also fire a trigger/gate), you could try out my experimental bespoke Motion Sensor unit to fire a trigger to the gate control automatically when you move the external offset knob. You’d likely have to put a short delay (perhaps a uDelay/MicroDelay) behind the Motion Sensor to make it work, I think.

2 Likes

exactly @Joe ! :wink:

1 Like

Will do, thanks again!

Seems like this would be a great use of the Grid and Teletype here.

Oh, yeah, I suppose that’s true. You could use one or more of the patterns as a look up table of sorts to configure an array of buttons that would let you jump to very specific points on the card reader’s file. And use the PARAM knob to further offset. :slight_smile:

1 Like

i have to make tests but i remember that recently i tried using the START parameter instead of slices to address different portions of an audio file when triggered but wasn’t able to do so.
EDIT: well, it was the shift parameter on variable sample players, sorry.

anyway, just tested. can anyone confirm that SHIFT parameter is not working? i retrigger the sample with various SHIFT values but nothing happens, it always restarts from the beginning

Are you sure that’s necessary? All you have to do is keep a global time counter and whenever you change files you just skip to (global time) modulo (length of the file).

6 Likes

This might be a silly question but how would you implement a modulo in the er-301?

5 Likes

I’m intrigued by this too. Is the modulo function only in middle layer custom unit we’d have to code using lua?

1 Like

Question: how can we practically use the FOLD unit to perform precise MODULUS (or MODULO) mathematical operation on signals? thanks!

1 Like