Dan Prince
Dan Prince
  • Видео 7
  • Просмотров 101 623
Analyzing and synthesizing spring reverb
I've been interested in spring reverb lately and it's unique "drippy" sound. In this video I reverse engineer a spring reverb impulse response and take a stab at synthesizing one like it from scratch.
60 Cycle Hum - Drippy Reverb Shootout #5
ruclips.net/video/9OdF9jkVJGM/видео.html
Dubbhism - Free spring reverb impulse responses
www.dubbhism.org/2008/10/free-download-60-classic-and-king-tubby.html
Просмотров: 3 412

Видео

Programming basic FIR delay effects and convolution
Просмотров 6 тыс.5 лет назад
In my first Python DSP video (!!!), I make a basic Finite Impulse Response (FIR) audio delay effect and use it to introduce convolution. We can use this to create echoey effects, and practice these concepts since they are core to a lot of more complex DSP ideas. Download the Anaconda Python distribution: www.anaconda.com/distribution/ Spyder IDE: www.spyder-ide.org/
Learn Audio DSP 5: Fourier series and additive synthesis
Просмотров 7 тыс.6 лет назад
The Fourier Series is a fundamental concept in DSP and has close ties to additive synthesis techniques. By generating a lookup table oscillator using the Fourier Series coefficients for a saw or square wave, we can finally control the amount of aliasing in our oscillators, but only by reducing their high frequency content. Links from stuff in the video: Wikipedia: the Fourier Series en.wikipedi...
Learn Audio DSP 4: Lookup table oscillators
Просмотров 8 тыс.7 лет назад
Wavetable oscillators are dope because you can use any arbitrary waveform. I play some bass lines and melodies using a quirky rectified sine wave and a regular ol' saw wave. We'll hear some aliasing, but that's ok. Links from stuff in the video: Earlevel: A wavetable oscillator introduction www.earlevel.com/main/2012/05/03/a-wavetable-oscillator—introduction/ The Audio Programmer: Juce Tutorial...
Learn Audio DSP 3: Playing MIDI notes with an oscillator
Просмотров 8 тыс.7 лет назад
Lets make some music with what we know so far! I introduce some of the ideas behind the MIDI note format and demo the equations with the melody and bass line from Autumn Leaves. Links from stuff in the video: University New South Wales - Derivation of midi to frequency function newt.phys.unsw.edu.au/jw/notes.html Michigan Tech - Physics of music: Equal temperament tuning (used in MIDI) pages.mt...
Learn Audio DSP 2: Basic waveforms and sampling
Просмотров 18 тыс.8 лет назад
In this episode of my audio DSP series, we tackle basic waveform generation and the concept of sampling. These ideas are fundamental to many parts of audio generation and will come up again and again. We cheat a little bit and create waveforms that alias when played back, but you know, it still mostly sounds like the thing. Links to things I talked about in this video: Learn Audio DSP Part 1: G...
Learn Audio DSP 1: Getting started with Octave and making a sine oscillator
Просмотров 52 тыс.8 лет назад
Do you want to learn how computers make and manipulate sounds? C'mere and watch this video and I'll show you. This is the first video in a series of tutorials on audio DSP using Octave. In this video, you'll learn how to make a simple sine wave oscillator. We'll make some audio effects and synthesizers and stuff in a future video. Download page for Octave installers: www.gnu.org/software/octave...

Комментарии

  • @Lekqer
    @Lekqer 2 месяца назад

    It seems the download link is no longer working. Could someone kindly share the files? Thanks!

  • @pauljabezjohndavid6185
    @pauljabezjohndavid6185 3 месяца назад

    If you're watching in 2024 the last line of code is deprecated so use audiowrite. something like this audiowrite('test.wav', tone, fs);

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

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

  • @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 🎉

  • @sushmachandrashekar2206
    @sushmachandrashekar2206 Год назад

    Very nice and clearly explained

  • @spht9ng
    @spht9ng 2 года назад

    Ok i think i finally enjoy math now.

  • @forhadahmed4643
    @forhadahmed4643 2 года назад

    such a cool tech dude.....you are..... hope you a great youtube experience....

  • @kierand8385
    @kierand8385 2 года назад

    69

  • @jasonbelcher4476
    @jasonbelcher4476 2 года назад

    Dude you’re awesome for making these vids! I’ve always wanted to learn dsp programming as both a programmer and musician but I don’t have a math background.

  • @miguelangelmartinezmartine8253
    @miguelangelmartinezmartine8253 2 года назад

    Thanks for this effort !!! Looking forward for more videos

  • @loveforallbxlmannif
    @loveforallbxlmannif 2 года назад

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

  • @forresterickson6225
    @forresterickson6225 2 года назад

    Very very good. Thanks for the pointers to the other sources too. I found you after I found Rich Radke and when I got to part 4 of his series I started looking for help on Octave and found this series. NICE.

  • @forresterickson6225
    @forresterickson6225 2 года назад

    I had a terrible time because "l" and "1" look the same when typed.

    • @forresterickson6225
      @forresterickson6225 2 года назад

      I rewrote to this: %Duration and Tone %sawTone = @(l,t) repmat(linspace(-1, 1, t*FS), 1, round(l/t)); sawTone = @(d,t) repmat(linspace(-1, 1, t*FS), 1, round(d/t));

  • @forresterickson6225
    @forresterickson6225 2 года назад

    Very helpful tutorial. Using Octave 6.4 I can not get both the command window and the editor open at the same time like he did. Something must drag I guess that I do not see. Anyone?

  • @fuzzjohn
    @fuzzjohn 3 года назад

    Just so I'm clear, this code: bass(numel(bass) : numel(melody)) = 0; is extending the length of the bass vector by going from the final index of the existing bass vector (15) to the final index of the melody vector (16) and setting the value to 0 in a single step (in this case it's only missing one beat but if there were more it would just fill them all with 0 values).

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

  • @now4917
    @now4917 3 года назад

    These videos are so helpful! Thank you!

  • @imagiromusic
    @imagiromusic 3 года назад

    fantastic video!

  • @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

  • @Catbangin
    @Catbangin 3 года назад

    Hi Dan, Very nice video. Do you have a video for cab impulse response?

  • @dardonj
    @dardonj 3 года назад

    Thanks a lot for sharing your knowledge.

  • @cunningham.s_law
    @cunningham.s_law 4 года назад

    whats the theory behind this

    • @DanPrince
      @DanPrince 4 года назад

      DSP theory says a linear time-invariant system can be perfectly modelled by convolution with its impulse response. An actual spring reverb unit is probably not perfectly LTI, but close enough that convolution gives a reasonably convincing impression of it. Since the spring reverb impulse response is just an audio signal, what I'm doing in this video is to try and reconstruct it from a model of some of its components that I analyze with the plots I show in this video.

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

  • @ankitanand2448
    @ankitanand2448 4 года назад

    At 11.38 when you plotted the values?what was chosen as x axis?

    • @DanPrince
      @DanPrince 4 года назад

      The x axis there is just the index into the array. The first value gets plotted at 1, the second value at 2, and so forth. Nothing fancy!

    • @ankitanand2448
      @ankitanand2448 4 года назад

      Thankq

  • @ankitanand3115
    @ankitanand3115 4 года назад

    I feel blessed that I got this video. Only 11,000 views that means I have chosen a path which is not travelled by a lot of people. Thanks for these contents

  • @leoh2251
    @leoh2251 4 года назад

    I've an issue!! wondering if I could get some help, im getting the error - error: zeros: conversion of 66461.5 to int64_t value failed

    • @DanPrince
      @DanPrince 4 года назад

      It looks like you are asking the zeros function to make an array that has a fractional number of elements. Try using the round, floor, or ceil functions to remove the fractional part of the size of the array and turn it into an integer value instead.

    • @fuzzjohn
      @fuzzjohn 3 года назад

      Same issue here using the exact code from the video, maybe it's caused by using a newer version of Octave. As Dan recommended using a round function made it work: instead of bassTone = zeros(1, bassNoteDur * FS); use bassTone = zeros(1, round(bassNoteDur * FS));

  • @rasmusmerten9840
    @rasmusmerten9840 4 года назад

    My octave is just opening the first of the two plots, but i used the exact code :/

  • @ogueyratogeyrat7448
    @ogueyratogeyrat7448 4 года назад

    Dsp tries it

    • @m.h3846
      @m.h3846 4 года назад

      Fuck this game. Nothing I could do.

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

  • @omer-sela-rothenberg
    @omer-sela-rothenberg 4 года назад

    5:19 is that Dead Man's Tetris by Flying Lotus? Very cheeky of you ;)

  • @omer-sela-rothenberg
    @omer-sela-rothenberg 4 года назад

    Hey can anyone please help? I'm writing a different melody (No Surprises by Radiohead) and I'm getting this error: operator +: nonconformant arguments (op1 is 1x782636, op2 is 1x820030) - Which I think means that the melody and bass aren't synced up, but I'm using the same beat pattern (meaning melodyBeats and bassBeats are the same vector copied and pasted) so I don't really understand what the problem is.

    • @omer-sela-rothenberg
      @omer-sela-rothenberg 4 года назад

      UPDATE: I realized my mistake! For some reason copying and pasting the beats vector from the melody to the base confuses Octave because it thinks you want get different values out of the same vector, so I just had to make a new arrangement for the bass notes :) tl;dr Octave LOVES counterpoint lol

  • @johnsondetlev1545
    @johnsondetlev1545 4 года назад

    please continue making these videso! I cannot tell you how helpful they are and how good you are at explaining this extremely complicated stuff.

  • @mikael5743
    @mikael5743 4 года назад

    Please continue this series! Thank you

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

  • @apfelkuchen4672
    @apfelkuchen4672 4 года назад

    I can't get over how fun this tutorial is! Who would have thougt I'd have fun with a calculating program :D I learned way more than in my matlab class

  • @apfelkuchen4672
    @apfelkuchen4672 4 года назад

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

  • @slmjkdbtl
    @slmjkdbtl 4 года назад

    Nice and clear video thanks!! Can you do a video explaining what is convolution and how it works?

  • @arctictimberwolf
    @arctictimberwolf 4 года назад

    0:32 I make an LFO by taking a paper Puncher & Punching a bunch of holes in a plastic sheet then Rip the F...sucker through My S...finger Nails! Thanks for the video Mac!!! Yours Truly, Not a hanging CHAD aka Guess who! Psi, If you click this link you got Balls;^D. ruclips.net/video/sKWe_xnq5_8/видео.html

  • @sriharsha7709
    @sriharsha7709 4 года назад

    keep making these videos, when ever you can, your good effort on internet will stay for generations

  • @sriharsha7709
    @sriharsha7709 4 года назад

    Thank you for sharing your knowledge on youtube

  • @fstopspictures8834
    @fstopspictures8834 4 года назад

    do you think i need to learn c and c++ for recording and dealing with the audio api with a daw ?

  • @andregois7926
    @andregois7926 4 года назад

    Isn't the Hammond Organ an analog additive synth?

  • @yoanmolia8652
    @yoanmolia8652 4 года назад

    Incroyable, vraiment un grand merci from Paris

  • @cyanozoid2706
    @cyanozoid2706 4 года назад

    Great video, sir! Really appreciate the work that went into this.

  • @cyanozoid2706
    @cyanozoid2706 4 года назад

    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!

  • @bubuDev
    @bubuDev 4 года назад

    Hey Dan, the second part of the video, when you synthesize your response, is crazy *awesome* !! I still need to understand some stuff in there ( like when moving from frequencies to phase values ), but seeing how to tweak things little by little was really super useful !! thank you for this !!