Frequency modulation (for audio synthesis) - the maths behind it

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ค. 2024
  • This is a tutorial about frequency modulation for audio synthesis. It's for people who want to know about the maths behind it. It includes practical examples and demonstrates how to use the formulas of different waveforms (sawtooth, triangle, square) to create your own modulated signal.
    ▬ Chapters ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    0:00 - Intro
    1:17 - What is a waveform?
    1:45 - How does frequency modulation sounds?
    3:17 - Maths: waveform formulas
    9:06 - Maths: basic frequency modulation
    11:36 - Maths: advanced frequency modulation
    15:27 - How to turn all of this into a sound?
    17:51 - Frequency modulation with 3 waveforms
    ▬ Tools ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    ► FM Plotter (python project)
    github.com/denczo/FM_Plotter
    ► Online plotter
    www.desmos.com/calculator?lan...
    ► Audacity
    ► Pycharm Community Edition 2020.1
    ▬ Editing ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    ► Sony Vegas Pro Edit 14
    ► OBS
    ► t.bone SC400
    ► Steinberg UR22C
    ► Nokia 6.1 Plus Camera
    ▬ Social Media ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    ►Instagram: / denicz92
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 15

  • @x-mine4237
    @x-mine4237 3 ปีที่แล้ว

    Really useful video! I've been looking into programming FM for a while and this video cleared up a few things for me.

  • @aziomo
    @aziomo 2 ปีที่แล้ว

    Hey man, a few months ago I was making a synth for my thesis and I hit a major block when it came to understanding FM. I remember that your video was nothing short of perfect for me back then. Forgot to thank you though, so here I am now, massive thanks for saving my ass, champ.

    • @fullstacklab
      @fullstacklab  2 ปีที่แล้ว

      Thanks man :) This really means a lot to me and I'm glad I could help. I've also struggled the first time when I've read about FM and wanted to use it for a synth as well. Now you've made me curious. What kind of synth did you create?

  • @rodrigo_dm
    @rodrigo_dm 3 ปีที่แล้ว

    This is a really good video, with use of really good tools. Congrats bro! I've started developing a synth myself and your video kinda motivated me into recording the theory :)

    • @fullstacklab
      @fullstacklab  3 ปีที่แล้ว

      I'm glad to hear it :)

    • @samueljevix234
      @samueljevix234 ปีที่แล้ว

      @@fullstacklab hey mr. can ou help me on kivy search filter fanctionality?

  • @fullstacklab
    @fullstacklab  3 ปีที่แล้ว

    maths can be awesome!

  • @mortenrobinson5421
    @mortenrobinson5421 2 ปีที่แล้ว +1

    9:30 hold on! Wouldn't this be phase modulation rather than frequency modulation? I get it that phase modulation also introduces overtones, but for fm synthesis, shouldn't it be the frequency rather than the phase that was another function? So that it is effectively extremely fast pitch modulation? I would have thought the formula would look something like this:
    CarrierEnv*Sin(2*Pi*(frequencyCarrier + ModulatorEnv*Sin(2*Pi*FrequencyModulator*x))*x + phase)

    • @flrn84791
      @flrn84791 2 ปีที่แล้ว

      Exactly my thoughts...

  • @ConorFenlon
    @ConorFenlon 10 หลายเดือนก่อน

    Hey, I can't seem to be able to run this python program, am I missing something? I have python running without any issues. I've checked the github instructions, but there's not that much information there. (It says to run '/code/visuals.py' but there's only a file called 'visual.py' and I can't even run that one!) Can anyone help me please? I feel like being able to play with this software would help to strengthen my understanding a bit better. Thanks in advance.

    • @fullstacklab
      @fullstacklab  10 หลายเดือนก่อน

      Hey! You simply need to run visual.py and please make sure the library Matplotlib is installed :)

    • @ConorFenlon
      @ConorFenlon 10 หลายเดือนก่อน

      @@fullstacklabI have matplotlib installed. I get this error when I try to run it:
      Traceback (most recent call last):
      File "C:\Users\********\Downloads\FM_Plotter-main\code\visual.py", line 5, in
      from code.tools import running_sum, normalize, current_fourier_wf, current_trigon_wf, current_equation
      ModuleNotFoundError: No module named 'code.tools'; 'code' is not a package

    • @fullstacklab
      @fullstacklab  10 หลายเดือนก่อน +1

      @@ConorFenlon please get the latest version of it. I released an update which fixes a few issues.

    • @ConorFenlon
      @ConorFenlon 10 หลายเดือนก่อน

      @@fullstacklab You are a gentleman and a scholar, sir. I salute you.

  • @flrn84791
    @flrn84791 2 ปีที่แล้ว

    At 11:12, you're describing phase modulation, not frequency modulation!