Learn Audio DSP 1: Getting started with Octave and making a sine oscillator

Поділитися
Вставка
  • Опубліковано 20 січ 2025

КОМЕНТАРІ • 79

  • @OttosTheName
    @OttosTheName 5 років тому +31

    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.

  • @Auxilor
    @Auxilor 7 років тому +1

    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!

  • @cyanozoid2706
    @cyanozoid2706 4 роки тому +1

    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!

  • @flywittzbeats4008
    @flywittzbeats4008 Рік тому

    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 🎉

  • @mikalthompson1238
    @mikalthompson1238 6 років тому +1

    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!

    • @pipelineaudio
      @pipelineaudio 6 років тому

      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!

  • @sriharsha7709
    @sriharsha7709 4 роки тому

    Thank you for making these videos, your efforts wont go waste

  • @workethicrecords5901
    @workethicrecords5901 8 років тому +1

    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.

  • @apfelkuchen4672
    @apfelkuchen4672 4 роки тому

    This video is great! I decided on following the series and it's quite fun also :)

  • @m.h3846
    @m.h3846 4 роки тому

    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.

  • @dardonj
    @dardonj 3 роки тому

    Thanks a lot for sharing your knowledge.

  • @happilyconfuseddog8951
    @happilyconfuseddog8951 8 років тому +1

    this was fantastic! your teaching style is great! really looking forward to more!

  • @code8180
    @code8180 7 років тому

    This is fascinating! Thank you so much for sharing your knowledge. Hope you continue with this series. Learned alot! :D

  • @МиленаКаленова-ь5к
    @МиленаКаленова-ь5к 7 місяців тому

    Очень интересная тема, здорово изложена. Спасибо Вам за это видео!

  • @hamiltool
    @hamiltool 7 років тому

    This is absolutely brilliant. Thank you Dan!

  • @cyanozoid2706
    @cyanozoid2706 4 роки тому

    You, my sir, are a legend.

  • @scriptwarlock
    @scriptwarlock 6 років тому +14

    wavwrite is depreciated in v4.3.93 must use instead the audiowrite. good tuts Dan keep it up

  • @eggmuncher6445
    @eggmuncher6445 8 років тому +3

    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

    • @DanPrince
      @DanPrince  8 років тому

      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!

  • @IMOXPLUS
    @IMOXPLUS 7 років тому

    Great tutorial...clear and to the point....keep up the good work...

  • @analogmatthew
    @analogmatthew 7 років тому

    Awesome video series, Dan! Great work!

    • @DanPrince
      @DanPrince  7 років тому

      Matthew Fecher thanks! I hope you’ll subscribe and check out the other videos as well! 😄

    • @analogmatthew
      @analogmatthew 7 років тому

      Oh, I subscribed. ;)

  • @thedrumengineer
    @thedrumengineer 8 років тому

    Awesome video, Dan!

  • @SuperJV4x
    @SuperJV4x 5 років тому +1

    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?

  • @sriharsha7709
    @sriharsha7709 4 роки тому

    Thank you for sharing your knowledge on youtube

  • @SynthMagic
    @SynthMagic 7 років тому +2

    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?

    • @DanPrince
      @DanPrince  7 років тому

      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

    • @SynthMagic
      @SynthMagic 7 років тому

      Thanks Dan. I'm just brushing up on my maths.

  • @jkuebler89
    @jkuebler89 5 років тому

    Wow what a great channel, teaching exactly what been wanting. Sub! Thanks.

  • @hobbypilots794
    @hobbypilots794 7 років тому

    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)

  • @didierjoomun
    @didierjoomun 6 років тому

    Great tutorial ! thanks a lot :) I'm going to test and play with it right now :)

  • @MattHayes
    @MattHayes 8 років тому +1

    What equation would you use to generate a square or triangle wave? They seem like they would be a fairly simple equation as well.

    • @DanPrince
      @DanPrince  8 років тому +3

      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.

    • @workethicrecords5901
      @workethicrecords5901 8 років тому

      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?

    • @DanPrince
      @DanPrince  8 років тому

      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.

  • @loveforallbxlmannif
    @loveforallbxlmannif 2 роки тому

    Why not Flowstone ? That's a really great program to see and ear instantly what we do in dsp.

  • @eduardoortiz4461
    @eduardoortiz4461 3 роки тому

    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

  • @amparohidalgo6126
    @amparohidalgo6126 6 років тому

    how can I modulate the duration of a tone I want to create?

  • @DIYGuitarMods
    @DIYGuitarMods 4 роки тому

    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.

  • @denbeibaron7797
    @denbeibaron7797 3 роки тому

    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.

  • @filosquartapecore
    @filosquartapecore 8 років тому +1

    Subscribed, i'm really interested in the topic!
    Will you cover concepts of antialiasing, band limiting and stuff?

    • @DanPrince
      @DanPrince  8 років тому +1

      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!

  • @jennyott1200
    @jennyott1200 7 років тому

    Freaking AWESOMNESS!!!!! Thanks great video.

  • @aryamicksingh1898
    @aryamicksingh1898 5 років тому

    Hi! That was really helpful. Can you you also teach how to do processing for stereo audio.

  • @declannnadozie4595
    @declannnadozie4595 6 років тому

    By tone, it means a matrix of amplitudes?

  • @mimmotronics
    @mimmotronics 7 років тому

    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?

  • @hosoiarchives4858
    @hosoiarchives4858 6 років тому

    I downloaded the program and it nearly destroyed my computer. Is there another program?

  • @lordbyte7
    @lordbyte7 5 років тому

    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.

  • @maxkonyi
    @maxkonyi 7 років тому

    Very cool :) Thank you!

  • @alterdings
    @alterdings 6 років тому

    very interesting, thanks!

  • @mikael5743
    @mikael5743 8 років тому

    Amazing, thank you SO MUCH

  • @Machiuka
    @Machiuka 5 років тому

    The newest versions of Octave use audiowrite instead of wavwrite. Example: audiowrite(filename,tone,fs);

  • @ionre24
    @ionre24 7 років тому

    Ctrl + L also clears the screen

  • @rchrdnsh
    @rchrdnsh 7 років тому

    Gave up on trying to install Octave on macOS...nothing makes sense... :-(

    • @DanPrince
      @DanPrince  7 років тому

      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?

    • @rchrdnsh
      @rchrdnsh 7 років тому

      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...

    • @DanPrince
      @DanPrince  7 років тому

      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

    • @rchrdnsh
      @rchrdnsh 7 років тому +1

      yay! that worked, thank you :-)

  • @alexbooth5981
    @alexbooth5981 5 років тому +4

    Ah Radiohead, yes I too am a man of great culture *sniff*

  • @TomLeg
    @TomLeg 4 роки тому

    fs - sampling rate, is in samples per second, not cycles per second, so shouldn't really be annotated as 'Hz'.

  • @albertom6239
    @albertom6239 6 років тому

    very clever video! anybody knows how to play a sound from the python interpreter?

  • @ogueyratogeyrat7448
    @ogueyratogeyrat7448 4 роки тому +1

    Dsp tries it

    • @m.h3846
      @m.h3846 4 роки тому

      Fuck this game. Nothing I could do.

  • @Auxilor
    @Auxilor 7 років тому

    121:0 like/dislike ratio 10/10 WOW

    • @frechjo
      @frechjo 7 років тому

      It's 211:2 now.
      10(211/121)/10(2/0) = NaN WOW?

  • @rafiqul84
    @rafiqul84 7 років тому +1

    Bugged sound mechanics

    • @m.h3846
      @m.h3846 4 роки тому

      Nothing I could do.

  • @mustaphaalkhafaaf5512
    @mustaphaalkhafaaf5512 4 роки тому

    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 ...

    • @m.h3846
      @m.h3846 4 роки тому

      Yeah, you know all about sounding intelligent, completely naturally.

  • @Bm23CC
    @Bm23CC 7 років тому

    this is a bit like R