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.
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!
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!
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!
very well presented, recorded & described. subscribed. would really like to see more in this series. also really nice to see someone else who types in DVORAK ;)
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?
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 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: ruclips.net/video/UVAHVqd5Eno/видео.html
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?
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!
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.
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
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.
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
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!
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!
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 🎉
Thanks a lot for sharing your knowledge.
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 video is great! I decided on following the series and it's quite fun also :)
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.
very well presented, recorded & described. subscribed. would really like to see more in this series.
also really nice to see someone else who types in DVORAK ;)
wavwrite is depreciated in v4.3.93 must use instead the audiowrite. good tuts Dan keep it up
hate changing languages
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.
You, my sir, are a legend.
This is absolutely brilliant. Thank you Dan!
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. ;)
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
Awesome video, Dan!
Great tutorial...clear and to the point....keep up the good work...
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!
Thank you for sharing your knowledge on youtube
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?
Why not Flowstone ? That's a really great program to see and ear instantly what we do in dsp.
Great tutorial ! thanks a lot :) I'm going to test and play with it right now :)
Wow what a great channel, teaching exactly what been wanting. Sub! Thanks.
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.
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:
ruclips.net/video/UVAHVqd5Eno/видео.html
Thanks Dan. I'm just brushing up on my maths.
Freaking AWESOMNESS!!!!! Thanks great video.
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?
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!
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.
By tone, it means a matrix of amplitudes?
Very cool :) Thank you!
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! That was really helpful. Can you you also teach how to do processing for stereo audio.
Ah Radiohead, yes I too am a man of great culture *sniff*
The newest versions of Octave use audiowrite instead of wavwrite. Example: audiowrite(filename,tone,fs);
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.
very interesting, thanks!
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.
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)
Ctrl + L also clears the screen
Amazing, thank you SO MUCH
I downloaded the program and it nearly destroyed my computer. Is there another program?
fs - sampling rate, is in samples per second, not cycles per second, so shouldn't really be annotated as 'Hz'.
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 :-)
Dsp tries it
Fuck this game. Nothing I could do.
very clever video! anybody knows how to play a sound from the python interpreter?
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