Your coolest single cycle waveform based sounds/tricks

Finally this is helping me understand how a speaker can vibrate in such a way that you here the sounds of every instrument and whatever all at one time… :smiley:

To me that’s always been sort of a mystery, I don’t even know if many people think about it but it’s always fascinated me that you can keep piling on sounds or waveforms, and the flippin speaker can vibrate in a way that lets you hear them all… :smile:

4 Likes

Even after learning all that stuff the hardcore way (piles of maths) in university decades ago, it still amazes me, too.

When you see a waveform on screen that’s exactly how the speaker’s membrane moves forwards and backwards over time …

5 Likes

shit, you got me :smiley:

nothing wrong with that mate, its just: I really liked what you did back then. Great Performances on our beloved Elektron machines for sure! That was always kinda awesome :slight_smile: Will keep an eye out on your channel, lets see what you come up with :wink:

1 Like

I have a whole bunch of thoughts like that that I categorize as “obvious trivia”, stuff people usually don’t think about but it’s super amazing and strange… I imagine a lot of people just use speakers and don’t really trip out on them, but I’m sure others do. It’s funny, I can’t make my vocal chords sound like a whole band.:joy:
Could have researched it many of times but never did, it was in some back burner category in my brain as well… I never look at waveforms on screens either because I record stereo pair jams and don’t make tracks by multitracking and editing.

It’s still pretty weird and amazing, but I can now see how it’s all a linear waveform and the more sounds you put in it it’s still just one waveform that only can be a certain amplitude from one moment to the next… Thanks for getting me there… :slight_smile:

Orwell’s big brother finally got reality. I just need to turn on that great surveillance tool called youtube and can directly watch what people are doing :smiley:

1 Like

2+2=5

1waveform+2waveforms=1waveform :rofl:

i should really consider masking my footsteps a bit better :wink:

Thanks for the tip! I might be wrong, but i think it should be really easy. It should just play the wav faster to transpose. I think when i figure out how to change the samplerate without resampling it, then mix it with the original should be perfect. Alot of libs do too much, trying to preserve pitch when playing faster, or trying to preserve length while raising pitch. I don’t need that for this. But i will check out that lib for sure!

It seems like no one knows how to transpose audio the simple way without any stretching or pitch shifting algo. https://stackoverflow.com/questions/49844938/how-do-i-transpose-the-pitch-of-a-wav-in-net-c-sharp?noredirect=1#comment86709972_49844938
Maybe some devs amongst us here that can shine a light on this?

Just modifying the playback speed of a sample to transpose sounds reasonable at first, but:

  • no audio engine I know of can handle samples running at different playback speeds and mix them together
  • most audio engines can only handle a bunch of fixed sample rates

So you need to do it the other way around. Keep the same speed (samplerate), but change the
length (number of samples).

For each samplepoint in the result you need to determine it’s position in the original and
then interpolate between its neighbour samplepoints there (because the position in the original
will be likely in between samplepoints).

For low quality just linear interpolation between its two neighbours is enough. For high
quality the interpolation needs to consider more neighbours.

As I already wrote: this can become quite tricky when you head for high quality :slight_smile:

2 Likes

Hmm maybe you are right, but I can’t help feeling there must be an easier way. If I could transpose a single file without stretching/shifting, then render the output and use that for further layering, would be good too. I’ve seen some very simple apps that could transpose a sample, even in the early nineties this was not a problem for most audio apps and samplers, and I don’t think they used any fancy interpolation algo’s, but maybe I’m totally wrong.
Funny thing is that NAudio includes libraries for time stretching and pitch shifting, but not for a simple transpose. Apart from the quality loss this is not useable for the chord generating app because it generates wrong lengths.
I wanted to do this as a small hobby project but if it comes down to interpolating bits and bytes I won’t be able to pull it off in a reasonable amount of time.

You are wrong here. I’ve implemented such stuff back in the early nineties by myself (first in assembler, then later in C) :wink:

Interpolation is by far the simplest approach, because it is really fast and straight forward and even back then it was possible to do it on-the-fly during runtime.

NAudio is meant for realtime audio manipulations. With realtime audio you have the problem that you have a fixed length input buffer and you need to fill an output buffer of the same length (you cannot simply make the audio shorter or longer). So you need to analyse which frequencies are in the incoming signal (FFT), then manipulate that frequency spectrum (shift up or down) and finally calculate the output buffer samples from the shifted spectrum.

That’s the real fancy stuff (and for high quality it doesn’t stops there).

I really suggest to find a library or tool you can base your project on. Otherwise I fear you won’t be satisfied by the result (the simplest solutions produces terrible artefacts and phasing problems).

Ok cool thanks for the info. I guess I’ll have to drop the idea then. It was meant as a fun project to make in a few hours. This sounds more like it would take me weeks and that’s it not worth to me

Sorry, if I discouraged you. That wasn’t my intention. But, yeah, this stuff looks far more easy than it really is.

1 Like

nobody mentioned here!?

single cycle waveform editor :thinking:
http://scw.sheetsofsound.com/editor.html

1 Like

Just wanting to know, is this the original adventure kid pack you are finding has waveforms with the wrong tuning or the one that is tuned in c for the monomachine?