For those following along using 5.x, you now have to type the following to generate the .wav file. audiowrite('test-tone.wav', tone, fs); It's a new command, audiowrite instead of wavwrite and you have to change the order a bit.
being someone who has worked in music production for only about 2 years (and is pretty mediocre xd) I have been lookign around to find a way to do things like this. So far, this tutorial has proved useful!
For anyone having problems saving the file 'test-tone.wav', the function has been changed. audiowrite('test.wav', tone, fs); worked for me. Hope this helps.... Also, great video!
Dan I have to be honest this was amazing! I'm so excited I found your channel, schools not possible for me but I have been reading a lot about DSP and want to know more great video!
School in the traditional sense isn't as or even maybe at all important compared to what it is you do with the knowledge. Think how much our lives have been changed by VSTs made by people with little or no formal schooling. Thank you Dan for this video!
Wow, nice video! I’m glad you criticized DSP for all of his ebegging and lies. I mean, to hear someone else use music to talk about the fact that DSP has scammed his fans dozens of times really brought it home. Great analysis, can’t wait for your DSP anthology.
looking forward to the next. I thought at first, oh, here's another guy who thinks it's a good idea to teach me a programming language other than the one I've already learned, but after struggling all day with function pointers, the sound of that sine was like cool rain upon my feverish brow
Hahaha I'm glad you liked it! I like to think of Octave/Matlab as an awful programming language, but the absolute best graphing calculator. Definitely way simpler than C++, or anything else where you have to manage pointers!
fascinating - but what I have heard in demos are fairly crude sounds. Is it possible to do something really advanced with Octave such as the complex timbres possible with Omnisphere, etc?
Hi Dan, this channel is awesome! I'm loving these videos. One thing that I have always wondered about is how a plugin creates a faithfull osc of a Minimoog or some other synth using maths. Do you ever plan on making a video to show the methods of that? I'm guessing the maths involved will be mind blowing :) Do they analyse the wave generated by the osc or something and then work the maths out?
You're in luck pal, I just uploaded the next video in the series that talks about how many software synthesizers generate waveforms for their oscillators! It's probably simpler than you think too. Of course, making something that sounds as good as a Minimoog takes a lot of work, but we can get most of the way there with just a little effort. Here's the link: ua-cam.com/video/UVAHVqd5Eno/v-deo.html
Great question, this is actually what I am planning to do in the second video! There is a technically "wrong" way to do it that results in some aliasing that is pretty simple where you basically just directly draw whatever waveform you want, and some more involved ways that reduce aliasing by using the Fourier series or band limiting or other things. I'll give a simple explanation next and slowly introduce the more advanced techniques.
Just a guess, but do we get different waves my multiplying sine waves by the desired harmonics? Like that weird sinewave* 1/3 aplitued* 3* ferquency * 1/5th amplitude * 5 times frequency thing?
I think what you are describing is an additive synthesis approach using something like the Fourier series. Definitely one valid way to get arbitrary waveforms is to add sines at different frequencies and amplitudes, and there are some rules you can use to help you get different waveforms. I'll go over this technique and others in future videos.
Hi, excuse I have a questions. Which high-level programming languages can be used for DSP, spec? Can they be used for digital signal processors? Thanks a lot
Hi Dan, I recall hearing in one of your videos that you moved to Pittsburgh. Do you still live here? If so, let me buy you a coffee sometime! I'm working on some analog stuff that I'd love to show you. BTW, Loved your video on convolution reverb.
It's near end of 2021 ... I just found this gem while looking around for working with octave for I/Q data analysis, I haven't found it yet. Anyone that could help me with any pointers to that is much appreciated.
Yes! In fact, the next video I'm planning is generating oscillators -with- aliasing by just drawing them directly with discontinuities, just to prove a point. You can get some cool retro video game sounds that way, but of course it's not the "correct" way. I'm planning to cover anti aliasing later, as well as effects like delay, modulation fx, filters and EQ, etc. Let me know if there's anything else you'd like to see!
It's great to learn in an environment like Octave, MATLAB or Python, but what advice do you give for those trying to get into hardware after already having learned on these simpler platforms?
hi there Dan: there is a paper with the title: real-time pitch tracking in audio signals with the extended complex kalman filter Can this be done in gnu Octave: there is a github page with matlab code. I have the idea this could be useful if it runs on a raspberry pi or similar hardware as an effect processor. I have a background in C and C++. But no DSP.
Richard Nash sorry to hear that! Octave is a little finicky on Mac for sure. I recommend using the binary installer from their site instead of Homebrew. What did you try and what happened?
I tried home-brew and got as far as the command line interface, but not the GUI...dunno how to use the binary, or whatever that may mean...hopefully it's not too tough...
Richard Nash sorry, by “binary” I just mean the installer from their site and not from a package manager. Try this download, it’s linked from the wiki page Octave for macOS: sourceforge.net/projects/octave/files/Octave%20MacOSX%20Binary/2016-07-11-binary-octave-4.0.3/octave_gui_403_appleblas.dmg/download
you act a lot with your glasses and eyes ,,, dont fake it just be yourself ... wearing a glasses and talking smart dosent need an effort , it shuld be natural ...
For those following along using 5.x, you now have to type the following to generate the .wav file.
audiowrite('test-tone.wav', tone, fs);
It's a new command, audiowrite instead of wavwrite and you have to change the order a bit.
Dude, you're awesome.
thx
thanks, you helped me out of my frustration!
fu****** OCTAVE why f******* change commands I hate that languages
Thanks a lot , will give this a test right now
being someone who has worked in music production for only about 2 years (and is pretty mediocre xd) I have been lookign around to find a way to do things like this. So far, this tutorial has proved useful!
For anyone having problems saving the file 'test-tone.wav', the function has been changed.
audiowrite('test.wav', tone, fs); worked for me. Hope this helps....
Also, great video!
Best audio dsp tutorial I’ve ever seen. My hero ❤ my question now is how does the interpolation from but to bit work??? Thanks so much 🎉
Dan I have to be honest this was amazing! I'm so excited I found your channel, schools not possible for me but I have been reading a lot about DSP and want to know more great video!
School in the traditional sense isn't as or even maybe at all important compared to what it is you do with the knowledge. Think how much our lives have been changed by VSTs made by people with little or no formal schooling. Thank you Dan for this video!
Thank you for making these videos, your efforts wont go waste
This is perfect, I can't wait for the coming videos! I just started digging up DSP learning resources today and this hit the spot.
This video is great! I decided on following the series and it's quite fun also :)
Wow, nice video! I’m glad you criticized DSP for all of his ebegging and lies. I mean, to hear someone else use music to talk about the fact that DSP has scammed his fans dozens of times really brought it home. Great analysis, can’t wait for your DSP anthology.
Thanks a lot for sharing your knowledge.
this was fantastic! your teaching style is great! really looking forward to more!
This is fascinating! Thank you so much for sharing your knowledge. Hope you continue with this series. Learned alot! :D
Очень интересная тема, здорово изложена. Спасибо Вам за это видео!
This is absolutely brilliant. Thank you Dan!
You, my sir, are a legend.
wavwrite is depreciated in v4.3.93 must use instead the audiowrite. good tuts Dan keep it up
hate changing languages
looking forward to the next. I thought at first, oh, here's another guy who thinks it's a good idea to teach me a programming language other than the one I've already learned, but after struggling all day with function pointers, the sound of that sine was like cool rain upon my feverish brow
Hahaha I'm glad you liked it! I like to think of Octave/Matlab as an awful programming language, but the absolute best graphing calculator. Definitely way simpler than C++, or anything else where you have to manage pointers!
Great tutorial...clear and to the point....keep up the good work...
Awesome video series, Dan! Great work!
Matthew Fecher thanks! I hope you’ll subscribe and check out the other videos as well! 😄
Oh, I subscribed. ;)
Awesome video, Dan!
fascinating - but what I have heard in demos are fairly crude sounds. Is it possible to do something really advanced with Octave such as the complex timbres possible with Omnisphere, etc?
Thank you for sharing your knowledge on youtube
Hi Dan, this channel is awesome! I'm loving these videos. One thing that I have always wondered about is how a plugin creates a faithfull osc of a Minimoog or some other synth using maths. Do you ever plan on making a video to show the methods of that? I'm guessing the maths involved will be mind blowing :) Do they analyse the wave generated by the osc or something and then work the maths out?
You're in luck pal, I just uploaded the next video in the series that talks about how many software synthesizers generate waveforms for their oscillators! It's probably simpler than you think too. Of course, making something that sounds as good as a Minimoog takes a lot of work, but we can get most of the way there with just a little effort.
Here's the link:
ua-cam.com/video/UVAHVqd5Eno/v-deo.html
Thanks Dan. I'm just brushing up on my maths.
Wow what a great channel, teaching exactly what been wanting. Sub! Thanks.
Hi,
can please share your inputs what does the below details means
Sound pressure levelat 24 W/36 W / 1 W (1 kHz, 1 m)
Great tutorial ! thanks a lot :) I'm going to test and play with it right now :)
What equation would you use to generate a square or triangle wave? They seem like they would be a fairly simple equation as well.
Great question, this is actually what I am planning to do in the second video! There is a technically "wrong" way to do it that results in some aliasing that is pretty simple where you basically just directly draw whatever waveform you want, and some more involved ways that reduce aliasing by using the Fourier series or band limiting or other things. I'll give a simple explanation next and slowly introduce the more advanced techniques.
Just a guess, but do we get different waves my multiplying sine waves by the desired harmonics? Like that weird sinewave* 1/3 aplitued* 3* ferquency * 1/5th amplitude * 5 times frequency thing?
I think what you are describing is an additive synthesis approach using something like the Fourier series. Definitely one valid way to get arbitrary waveforms is to add sines at different frequencies and amplitudes, and there are some rules you can use to help you get different waveforms. I'll go over this technique and others in future videos.
Why not Flowstone ? That's a really great program to see and ear instantly what we do in dsp.
Hi, excuse I have a questions. Which high-level programming languages can be used for DSP, spec? Can they be used for digital signal processors? Thanks a lot
how can I modulate the duration of a tone I want to create?
Hi Dan, I recall hearing in one of your videos that you moved to Pittsburgh. Do you still live here? If so, let me buy you a coffee sometime! I'm working on some analog stuff that I'd love to show you. BTW, Loved your video on convolution reverb.
It's near end of 2021 ...
I just found this gem while looking around for working with octave for I/Q data analysis, I haven't found it yet.
Anyone that could help me with any pointers to that is much appreciated.
Subscribed, i'm really interested in the topic!
Will you cover concepts of antialiasing, band limiting and stuff?
Yes! In fact, the next video I'm planning is generating oscillators -with- aliasing by just drawing them directly with discontinuities, just to prove a point. You can get some cool retro video game sounds that way, but of course it's not the "correct" way. I'm planning to cover anti aliasing later, as well as effects like delay, modulation fx, filters and EQ, etc. Let me know if there's anything else you'd like to see!
Freaking AWESOMNESS!!!!! Thanks great video.
Hi! That was really helpful. Can you you also teach how to do processing for stereo audio.
By tone, it means a matrix of amplitudes?
It's great to learn in an environment like Octave, MATLAB or Python, but what advice do you give for those trying to get into hardware after already having learned on these simpler platforms?
I downloaded the program and it nearly destroyed my computer. Is there another program?
hi there Dan:
there is a paper with the title:
real-time pitch tracking in audio signals with the extended complex kalman filter
Can this be done in gnu Octave: there is a github page with matlab code. I have the idea this could be useful if it runs on a raspberry pi or similar hardware as an effect processor.
I have a background in C and C++. But no DSP.
Very cool :) Thank you!
very interesting, thanks!
Amazing, thank you SO MUCH
The newest versions of Octave use audiowrite instead of wavwrite. Example: audiowrite(filename,tone,fs);
Ctrl + L also clears the screen
Gave up on trying to install Octave on macOS...nothing makes sense... :-(
Richard Nash sorry to hear that! Octave is a little finicky on Mac for sure. I recommend using the binary installer from their site instead of Homebrew. What did you try and what happened?
I tried home-brew and got as far as the command line interface, but not the GUI...dunno how to use the binary, or whatever that may mean...hopefully it's not too tough...
Richard Nash sorry, by “binary” I just mean the installer from their site and not from a package manager. Try this download, it’s linked from the wiki page Octave for macOS:
sourceforge.net/projects/octave/files/Octave%20MacOSX%20Binary/2016-07-11-binary-octave-4.0.3/octave_gui_403_appleblas.dmg/download
yay! that worked, thank you :-)
Ah Radiohead, yes I too am a man of great culture *sniff*
fs - sampling rate, is in samples per second, not cycles per second, so shouldn't really be annotated as 'Hz'.
very clever video! anybody knows how to play a sound from the python interpreter?
Dsp tries it
Fuck this game. Nothing I could do.
121:0 like/dislike ratio 10/10 WOW
It's 211:2 now.
10(211/121)/10(2/0) = NaN WOW?
Bugged sound mechanics
Nothing I could do.
you act a lot with your glasses and eyes ,,, dont fake it just be yourself ... wearing a glasses and talking smart dosent need an effort , it shuld be natural ...
Yeah, you know all about sounding intelligent, completely naturally.
this is a bit like R