Need Help Making My Noise Interesting


#1

NOTE : THE LINKS BELOW CONTAIN HARSH NOISE!
Be mindful of your volumes when you click them. You have been warned. lol.

So, I finally built out my “playNoise” function, that lets me play from a random set of samples at different rates and points in the sample.

I have been able to get some cool results from it, like this:

now comes the fun part, adding effects to it.

Right now, all the effects in the song are coming from a reverb and distortion, as well as the randomness of the samples, (all of them are system32 files)

So, my question is, do you veterans of Sonic Pi have any tips and tricks on how to make this noise sound any crazier through effects?

A big influence of mine is (VERY LOUD!!!) Merzbow, and I would love to eventually get my noise onto his level. I know it won’t be an exact match because all his stuff is analog and I’m dealing with code and computer noise as my samples, but I still feel like there can be a lot in common with the way he processes his signals, and the way I do.

Below is the noise generator, because I wanted to show it off. haha

samples = ["advancednstallers-Incmiv2.dll.wav", "gm.dls.wav", "igdfcl32.dll.wav",
           "imageres.dll.wav", "inetres.wav",
           "Microsoft-Windows-Foundation-Package~31bf3856ad4.wav","nvoglv32.dll.wav",
           "setupEP.wav", "shell32.dll.wav"]
#Sample
x = ""
#Timing
#y = start
#z = end
y = 0
z = 1
#Rate
r = 1
#Offset
o = 0

define :randomseed do |a|
  use_random_seed a
  puts a
end

define :picksample do
  x = sl + samples.choose
end

define :picktime do |ymin,ymax,zmin,zmax|
  y = rrand(ymin,ymax)
  z = rrand(zmin,zmax)
end

define :pickrate do |rmin,rmax|
  r = rrand(rmin,rmax)
end

define :playnoise do |a, pan|
  randomseed a
  picksample
  picktime 0.8, 0.1, 0.5, 0.6
  pickrate 0.1, 2
  sample x, start: y, finish: z, rate: r, amp: 6
  sleep sample_duration(x, start: y, finish: z) / (r+0.1)
end

with_fx :distortion, distort: 0.1 do
  with_fx :reverb do
    in_thread do
      playnoise 100, 0
    end
  end
end

Edit : Obviously, I know that basics of fx, but I’m looking for maybe some more advanced tips, like layering effects without making the output feeling too “muffled” or “extreme”. Or combinations of effects that you know from experience work and don’t work.


#2

Honestly, the result you came up with is already great and sounds just like Merzbow with this supplementary distinctive digital sound that you cannot avoid when dealing with computers. It’s very precise and dense. So I guess your noise is already interesting!


#3

That is really nice to hear. I guess that’s just because of the samples are so weird that they do the effects for me?

Idk. I just feel like I want to do more to it. Haha.

But thanks for that. :slight_smile: It really means a lot.

My goal is to keep building on this idea, creating different functions with different effects and calling them at intervals. I think I can also use some slides to the values to get the “Knob Turning” effect he gets.


#4

Very nice! Serendipitous, look at the breakcore code I just posted for some ideas on how to sequence the bitcrusher randomly, among other things. I don’t have any slides in that snippet but I have a delay tweaker you might like.


#5

Very cool. :slight_smile: I will check it out!

I am about to sit down and see how well N64 Roms fair in this code. I know they are a lot longer then the samples from Systm32(6-12 mins as opposed to I think like, 3 mins max).

That means instead of random track, it will one track that I cut up, so there should be a lot more consistency in the next experiment


#6

The really cool thing is, because all my samples are just the raw data from different programs, I have an infinite amount of samples I can use. Literally any file on my computer can become a noise file


#7

I’m a fan of Audacity-based abuse. :slight_smile:

Between the automatic chop detection and the chopping example I posted in my thread, it might save you time to just hit the transients in particular.


#8

I’m finishing up recording my Super Mario 64 Remix. All I did was plugged the sample into the code with like, one or two parameter changes and let it go. It’s a lot longer(15 mins I think, i’ll edit when it’s done playing), but a lot more substantial as a proof of concept. It’s just like Merzbow.

Some songs will be 3 mins long. Some will be 32 min long. :joy:

Edit : It is actually 12 minutes, so I was pretty close


#9

Grateful for your inspiration. I’m going to try out playing with some raw files using some of my tricks. I’ll share back when I do.


#10

I am so proud of it, this had to go up on my bandcamp, so I had to throw a quick cover together and organize it.


#11

So, for the next one, I’m going to work with an already 12 minute long sample, and I’m actually going to structure it out instead of playing randomly. Let’s see how that goes.

Edit : It’s going to be Donkey Kong 64


#12

Cool. Have to try making some noises from raw files at some point. Other way to make noise more interesting is to turn something interesting to noise :slight_smile:

For example playing random samples with bitchrusher. Treat to Windows users:

win = "C:/Windows/Media" # Windows system sounds folder

live_loop :foo do
  n = rrand_i(1,100)
  
  with_fx :bitcrusher,bits:rrand_i(1,6) do
    sample win, n
  end
  
  sleep (sample_duration win,n)/rrand_i(6,16)
end

#13

Very interesting. I’ll have to plug that in when I get home.

If you guys are interested, I’m trying to package up the experiements from last night, and I’m going to release them on bandcamp today/tonight, along with all the code and samples in a repo. So I’ll be dropping that link later!


#14

Was just experimenting with large file that generated about ~10 mins of noise. One thing you can do is control the effects.

This experiment phases some notes from pentatonic scale using lengthy noise sound:

m = "/path/to/some_noise_.wav"
use_bpm 90

l = ((sample_duration m) / (current_beat_duration)).to_i
rr = (range 1,l)
r_mix = (range 0.5,1.0,0.1).reflect

live_loop :test do
  with_fx :pitch_shift, window_size: 0.1, pitch: 0, pitch_dis: 0.1, time_dis: 0.1 do |pitch|
    control pitch, mix: r_mix.tick, pitch: degree(rrand_i(1,6),:c3,:minor_pentatonic)-note(:c3)
    sample m, slice: rr.tick, num_slices: l
  end
  sleep current_beat_duration
end

But you could also control other effects, such as wobble or ixi_techno as well.


#15

Yes. Controlling effects is exactly what i needed. I will play with this later on tonight!!!

I need some of that to try and get that “knob turning” effects that you get with a lot of analog noise. If I can get that down, I can build a true Merzbow-Bot for Sonic Pi. :joy:


#16

Who would have thought that random Windows sounds could sound this nice!


#17

If you want to mimic knobs its best to use _slide parameters with the control if those are available in the effect, for example:

m = "/path/to/some_noise_.wav"

l = ((sample_duration m) / (current_beat_duration)).to_i

live_loop :test do
  with_fx :pitch_shift, pitch: 0, pitch_slide: current_beat_duration*10, pitch_slide_curve: 3 do |pitch|
    sample m
    l.times do
      control pitch, pitch: degree(rrand_i(1,6),:c3,:minor_pentatonic)-note(:c3)
      sleep current_beat_duration*10
    end
  end
end

#18

So, Thank you everyone for the feedback in this thread! :slight_smile:

I got side tracked by another opportunity last night, and I am switching focus from sonic pi for a few months to focus on VR and try to get VR Music Performances off the ground.

Be on the look out 2 or 3 months down the line, when I’m posting again about trying to get Sonic Pi to work with VRChat using OSC. lol

I will still post the songs to bandcamp when I get the chance and post the result here for you guys! :slight_smile: