A Drum 'n' Bass-Genre Study


just published a rendition of a coding study exploring the Drum’n’Bass genre:

I used a sample from freesound.org, a female voice singing ‘Shireau’ (https://freesound.org/people/maurolupo/sounds/212669/) and some royalty free drum samples from Partners In Rhyme.

Code can be found here: https://gist.github.com/mbutz/4be114efccbde3e38dba44903ab245d1


Wrote this about 6 weeks ago… due to all the 'Me me’s - people who log a call. and then push and push
to jump ahead of other people waiting in the call queues… by whatever means.

Me me’s make my day so unbearable at times…


Well, assumed that you don’t mean this metaphorically: I didn’t know that you can manipulate call queues. But then, however, it is somehow soothing and worrying at the same time that people can get appreciation they need from doing that.

I do like the song’s title but would have not guessed the message from the music itself. That is probably because music, if it has a message at all, works on a metaphorical level and is able to capture a mood.

Dodging a queue is easy. Lets say your laptop isn’t working, but I have pre-arranged work
for other people until… Thursday, and that doesn’t suit you.

So… you complain to your line manager that this is impacting your ability to do your job… he then writes a snotty email to the head of I.T. She sends it down the line to your line manager, and you get a call saying… do the laptop because… blah,blah… etc. Not only do you have to endure the smarmy smile from the person who has jumped the queue, you get to re-contact the person who’s work you were meant to do next, and
re-allocate them to Friday, all the while apologising, like it’s your fault… or something.

Yeah… .perhaps I should have pointed out the majority of the sound other than the beat on that track is ‘Me, me, me’ through a microphone and beat/pitch shifted to produce male and female versions… :slight_smile:

I’ll stop ranting now… and go away somewhere quiet.


1 Like

Oh. I thought you’d managed to synthesise the word ‘Shireau’ using synthesis and the vowel filter. I was trying to work out how you did it :smiley:

Hi @PiEaterAndPlayer,

that’s to much honor :wink: . No, as you obviously found out, I used this found sample from freesound.org.

1 Like

You may not have synthesised that vocal sound from scratch, but you certain went on to do something very impressive with it!

Oh, thanks for you kind words. I am very much interested in ‘granular synthesis’. So I tried made some experiments what you can do with SP. I did also use an external reverb for that… partly because I needed a reverb with another character as the one build in, partly because I was also experimenting whether I could increase the performance with that…

1 Like

I have one particular project in mind which will use granular synthesis. But, I think I’m going to do it by making a granular synthdef. But, it’s very interesting to see what you did in pure SP, and how you did it.

1 Like

… looking forward to that!

1 Like

It will be a while. I’m hoping to get going on it proper in July.

1 Like

Excellent news! That was one of the synths on my (eventual) todo list (maybe using TGrains or similar) - if you tackle one instead, so be it! I too will be looking forward to what you create :slightly_smiling_face:

1 Like

Speaking of Drum’ n’ Bass, I’ve looked into how you could use the spread function to generate breakbeats, and it turns out that when you feed it float values, you can get some interesting results. So far I’ve managed to find two of these magic numbers (2.75,16 and 1.375,8), but I haven’t found the formula for them yet.

live_loop :kickSetter do
  set :kicks, (ring
               (spread 1.375,8).take_last(4),
               (spread 1.375,8).drop_last(4),
               (spread 2.75,16),
  sleep 4

live_loop :drums do
  (ring 16,32,64).choose.times do
    sample :bd_haus if get(:kicks).tick
    sample :sn_zome, amp: 0.5 if (spread 2,16).look
    sample :elec_cymbal, amp: 0.3 if (spread 9,16).look
    sleep 0.25

live_loop :bassline do
  temp = (ring 2,3,5,8).choose
  with_fx :wobble, phase: 0.25, cutoff_max: 110, cutoff_min: 80, res: 0.7 do
    synth :dsaw, sustain: temp, note: (chord :f2,:min).choose, amp: 0.5, attack: 0.025, release: 0
    sleep temp

a little up to indicate i get an

Thread  death +--> :live_loop_drums
 divided by 0

on spi 3.2.2 on windows 10

1 Like

Good spotting! if I’m reading things right, looks like there’s a bug in .take_last :grimacing:

very good composition @Martin !

1 Like

fix submitted:

Will hopefully be merged soon and ready for the next release :slight_smile:
1 Like

super fast @ethancrawford
Thanks !

As this topic still seems interesting I’d like to add a hint to a version of this track I much more prefer:

Please don’t hesitate to skip the following talk as the English is very bad and the facts are probably known amongst the people of this forum.


Hi Martin,

really nice talk. I could see some habits that are similar to me like always closing a section first (writing “end” for a function first) :slight_smile:
And a really good live coding performance :grin:


1 Like