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!
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 ;)
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!
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!
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.
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: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-UVAHVqd5Eno.html
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.
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?
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?
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 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.
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.
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 ...