Buchla 700 FM Ring implemented in Moselle Modular Synthesizer Software (Four Oscillator Algorithm)

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ก.ค. 2024
  • Moselle Software Synthesizer (free!): moselle-synth.com
    Moselle introduction: • Moselle Modular Synthe...
    Buchla 700/Yamaha TX81Z comparison: • Buchla 700/ID700 Confi...
    Cherry Audio Sines implementation: • Four-Oscillator FM Rin...
    Supercollider implementation: • Supercollider and the ...
    Support this channel via a special purpose donation to the Georgia Tech Foundation (GTF210000920), earmarked for my work: • Support This Channel v...
    Moselle patch:
    [FMAlgo]
    Freq1 = Pitch
    Gain1 = BreathCtrl
    Freq11 = 2*Pitch
    Gain11 = CN3
    Freq111 = 0.5*Pitch
    Gain111 = FootCtrl
    Freq1111 = 0.25*Pitch
    Gain1111 = Balance
    Plus1111 = Control1
    [Voice]
    PreGain = MakeBus( FMAlgo:PreGain1, FMAlgo:PreGain111)
    [Osc]
    Frequency = Pitch:Output * 0.25
    [Scope]
    SyncIn = Osc:SyncOut
    Probe1 = FMAlgo:PreGain1
    Probe2 = FMAlgo:PreGain111
    0:00 -- Demo
    0:48 -- Buchla's algorithm
    3:01 -- FMAlgo block
    5:32 -- Audio vs "Control" outputs
    5:58 -- MakeBus for stereo output
    6:41 -- Oscilloscope syncing
    7:23 -- Resources to learn more

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

  • @rizacantarcan8188
    @rizacantarcan8188 12 วันที่ผ่านมา +10

    KORG Opsix has freely comfigurable 6 operator algorithms. The opreators may be oscilators , ring modulators, filters, wave shapers etc......

  • @ezion67
    @ezion67 12 วันที่ผ่านมา +11

    On the SY77 every operator has two inputs. When not used by the algorithm a free input can be used for a user defined 2nd feedback path or even patch in a AWM part. Unfortunately they dropped these options in later FM versions, the 2nd feedback path is quite a usable feature. In a way the synth engine of the SY77/99 was more advanced than that of the Montage and MODX.

  • @EvilDragon666
    @EvilDragon666 9 วันที่ผ่านมา +4

    NI FM8, Steinberg HALion 7, Image-Line Sytrus, these all have freeform FM matrices where you can route any operator into any operator, so in theory you could have a 6-operator deep feedback chain (with each of those operators feeding back to any other operator in the chain simultaneously, AND itself), in case of HALion 7 you get the FM-X engine, which is 8 operators, too...

    • @superpie0000
      @superpie0000 8 วันที่ผ่านมา

      sytrus is my fav, serum too

  • @VocalChainsStudio
    @VocalChainsStudio 13 วันที่ผ่านมา +4

    The opening tones are glorious🔥🔥🔥🔥🖖nice work

  • @DivKid
    @DivKid 4 วันที่ผ่านมา

    Love the idea of ring modulation operator networks. It's something I play around a fair bit as a bit AM (over FM a lot of the time) fan, at least in analogue.

  • @johnmeroney2007
    @johnmeroney2007 12 วันที่ผ่านมา +6

    I think Jon Schatz in a recent update for the ID700 gives the option of more graphically discernible configurations for anyone interested. I really love that app and I'm not really into, but greatly appreciate, vsts.
    For what it's worth a Buchla700 reimagining would be my ultimate fantasy instrument. When I use the id700 it does help inspire my patching on my small 200e; I wish one could change out the wavetables on the 259e.

    • @Lantertronics
      @Lantertronics  12 วันที่ผ่านมา +1

      I've wondered what a modern Buchla 700, call it a 700e, would look like. People might say, well, just get a computer with a DAW you like and run ID700. But you also need a touch surface. And the 700 also has those CV ins and outs. Well, you could add a MIDI-CV thing. But then an appealing thing of the 700 is its compact size.

    • @johnmeroney2007
      @johnmeroney2007 7 วันที่ผ่านมา

      @@Lantertronics When I get/can afford the 223e, I may then get the the 226h cv-to-midi, which you can chain two of apparently, and use that to operate the ID700. Also have plans to interface with the Rossum Assimil8or (amazingness) via the Locutus(which I don’t have as of yet).

    • @johnmeroney2007
      @johnmeroney2007 7 วันที่ผ่านมา +1

      Just putting this here, I know we aren't a MW forum, where I wish there was more active discussion sometimes in this regard.
      But I can explore the idea of routings of amp, bw, fm modulation with the 291e and 261e (and 259e)

    • @topiaarnio8440
      @topiaarnio8440 7 วันที่ผ่านมา

      I too use the ID700 for ideas of things to try with my small 200e. Nice to hear there are others.

    • @topiaarnio8440
      @topiaarnio8440 2 วันที่ผ่านมา

      @@johnmeroney2007 And remember that the 200e can be polyphonic, if you have enough oscillators. Just having two 259e's opened up nice possibilities. But the amount of envelopes one starts wanting after playing with something like the ID-700 is mind boggling. Why do synth manufcturers still keep using just adsr's on everything?

  • @garaughty
    @garaughty 10 วันที่ผ่านมา +1

    Awesome insights... excellent tutorial Aaron !

  • @franksheeran9243
    @franksheeran9243 12 วันที่ผ่านมา +3

    2:00 Moselle has had "waveshaping" penciled in for a decade. If anyone has some favorite waveshapers I should take a look at before making something dedicated, please let me know!
    That said, the normal math operators SelectN(), SelectLoopN(), Select(), LinFade(), LinFadeX() and Peak() do most of what the Map() module was meant to do. You can also do all sorts of waveshaping with logic and math functions. For instance IF( Signal >.5, .5, Signal) would clip the input signal. Tanh() can give classic tube-style nonlinearity as the output keeps getting higher but never quite gets to 1 no matter how high the input goes. You could run a Sawtooth LFO's Positive output into Sin() to get a "poor man's sin oscillator" and do all that kind of thing.

    • @Lantertronics
      @Lantertronics  12 วันที่ผ่านมา +1

      The Buchla wave shapers are based on Chebychev polynomials, which should be doable using the math operations in Moselle without too much fuss, I think.

    • @topiaarnio8440
      @topiaarnio8440 7 วันที่ผ่านมา

      I can second the Buchla Chebychev wavshapers!

  • @topiaarnio8440
    @topiaarnio8440 วันที่ผ่านมา +1

    I was so excited with this that I made an approximation of Config #02 on the Gotharman's Urano modular-in-a-box with either wavefolding at the end, or having oscs 1 and 3 be wavetable oscs with VCAs 3 and 6 modulating the tables. I gets quite weird (and fun). There is a massive amount of sounds to be found in just this one configuration/algorithm. Need to try out some of the other Configs.

    • @Lantertronics
      @Lantertronics  วันที่ผ่านมา

      I hadn't heard of the Urano, it looks really cool!

    • @topiaarnio8440
      @topiaarnio8440 วันที่ผ่านมา +1

      @@Lantertronics It is discontinued, but his Zaturn continues the tradition.

  • @weederian123
    @weederian123 12 วันที่ผ่านมา +1

    The intro sound. Wow. I want this. Nice algorithms.

    • @Lantertronics
      @Lantertronics  12 วันที่ผ่านมา +1

      Just google moselle synth, download, and get started! :)

    • @Lantertronics
      @Lantertronics  12 วันที่ผ่านมา +1

      Well... it is Windows only, alas. I generally run it on my M1 Mac (my "daily driver") using Parallels running Windows for ARM; it's a bit glitchy, alas, I think from the emulation of the Intel chip. To make this demo I ran it on a Windows machine.

    • @weederian123
      @weederian123 12 วันที่ผ่านมา

      Thank you. I will definitly have a look into Moselle.

  • @hermask815
    @hermask815 9 วันที่ผ่านมา

    as a beginner of fm the thing i want for learning and exploring is a output of every OSC and LFO and the points where they addUpp/FMup so i can see how the parts combine.
    i get the general gist of it but i'd like to see what happens.

  • @franksheeran9243
    @franksheeran9243 12 วันที่ผ่านมา

    3:29 Yes: FMAlgo can be totally replaced with Osc blocks set to sine waves. In fact you can also write the same thing using raw math with the Sin() function and Note:Time and Global:FreqEval (the sampling rate). But FMAlgo will be a bit higher performance and as you say, hopefully easier. BTW there's a Word manual that is 80% incomplete but has a nice chart of how to do the Yamaha DX7 algos in Moselle.

  • @franksheeran9243
    @franksheeran9243 12 วันที่ผ่านมา +2

    2:15 Without any disrespect to the Buchla engineers or the documentation effort, showing the crossed lines on config #02 and #10 wasn't strictly necessary. It would be understandable if they wanted to maintain all operators with inputs on top, outputs on bottom, as in the renowned diagrams for the DX7. The root problem, I think, is that they only had maybe 80x60 pixels or so to work with.

    • @Lantertronics
      @Lantertronics  12 วันที่ผ่านมา +1

      Yeah, those diagrams are based on someone deciphering the source code that spits out the diagrams. And yeah they didn't have a lot of pixels. :)

  • @mycosys
    @mycosys 12 วันที่ผ่านมา +1

    Did you know theres a 16op 80s Yamaha? The Electone HX-1 in solo mode on the top register can be 16 op mono on that register (it has 96 voices normally, not sure how many it loses).
    That thing would be right up your alley - it has so much potential but nobody on earth has truly mastered programming it, and the software only runs on Atari ST, MSX, or one DOS laptop.

  • @dEadnAstyrEcords
    @dEadnAstyrEcords 5 วันที่ผ่านมา +1

    Interesting

  • @pauljs75
    @pauljs75 7 วันที่ผ่านมา +1

    Borrowing from this concept, I patched some funky FM thing in VCV Rack based upon a 4 oscillator loop. Not sure what to do with it yet though.
    Also Jummbox has similar diagrams for its FM synth modes (if anyone wants a browser based thingy to mess with), but I'm not sure if any of those is the same as the one used here.

    • @Lantertronics
      @Lantertronics  7 วันที่ผ่านมา

      This makes me very happy to hear! :)

  • @TockTockTock
    @TockTockTock 13 วันที่ผ่านมา +2

    I need to check out Mosselle. I've been learning Pure Data over the past week or so and have fallen in love with it. I want to learn a script-based programming language like SuperCollider, but I've struggled with those in the past (like with Javascript). Mosselle looks a lot more approachable though.

    • @Lantertronics
      @Lantertronics  12 วันที่ผ่านมา +2

      Moselle is closer to Pure Data. SuperCollider is a full-fledged programing language; the language of Moselle is just a text equivalent of hooking graphical blocks together in something like PD.

    • @markblacket8900
      @markblacket8900 12 วันที่ผ่านมา +1

      Don't give up on SuperCollider, its language is pretty difficult and complex, but it is also very flexible and easy to extend. Check out Eli Fieldsteel's channel for some fantastic tutorials on it

    • @Lantertronics
      @Lantertronics  12 วันที่ผ่านมา +1

      @@markblacket8900 Also check out my 4-part series where I implement my guess of the Buchla 700 architecture (all of the algorithms, including the wave shaping) in Supercollider.
      And yeah, I don't think I could have done it without Eli Fieldsteel's tutorials!

  • @baddriddimworkshop
    @baddriddimworkshop 12 วันที่ผ่านมา +2

    i'de love to see you talk about fm in the regen one time or another.

    • @Lantertronics
      @Lantertronics  12 วันที่ผ่านมา +2

      Ah! I'm actually planning to do a video on implementing the Synclavier architecture in Moselle. ;)

    • @baddriddimworkshop
      @baddriddimworkshop 12 วันที่ผ่านมา +2

      @@Lantertronics that's interesting

  • @superultramegarobot
    @superultramegarobot 12 วันที่ผ่านมา +3

    Can you run moselle at higher sample rates / use oversampling? I ask because the digitone made me realize how much better fm sounds when the modulation is done at ultrasonic rates - the digitone uses 192khz if I'm not mistaken, and it results in much smoother and glassier tones and less of the "Sega fuzz" we traditionally associate

    • @superultramegarobot
      @superultramegarobot 12 วันที่ผ่านมา +4

      (continued, accidentally pressed reply too soon)
      ...we traditionally associate with the FM sound. BTW, digitone also has a somewhat similar feedback algorithm if I recall correctly, you can check the manual to verify but there's definitely some feedback configurations at any rate.

    • @Lantertronics
      @Lantertronics  12 วันที่ผ่านมา +2

      Yeah, FM can get nasty at high indices of modulation if there's a lot of aliasing.
      There's a place in the configuration file of Moselle where you set the sample rate. This needs to match the rate of your audio interface -- to my knowledge it doesn't do upsampling, but if you run it and your interface a higher rate, you could always take the rendered file and downsample it later (I personally don't see a need for higher rendered rates than 48K, since all modern DACs are fancy upsampling ones anyway).

    • @superultramegarobot
      @superultramegarobot 12 วันที่ผ่านมา +4

      @@Lantertronics Dang, they should still add a specialized oversampler similar to some supercollider ugens. Oversampling the entire DAC is a bit overkill - it's mainly the modulation that needs to be oversampled, since FM generates a lot of higher harmonics and chaotic behavior once feedback is introduced. I'd recommend checking out the sound of the digitone, I've yet to find another FM synth (plugin or hardware) that sounds as smooth and glassy, and it's all due to the oversampled modulation IMO.

    • @Lantertronics
      @Lantertronics  12 วันที่ผ่านมา +2

      @@superultramegarobot Moselle development staff is just one guy working in his spare time. I'm wondering if they set up a Patreon or something to support development, would people support that?

    • @superultramegarobot
      @superultramegarobot 12 วันที่ผ่านมา +3

      @@Lantertronics I would, especially if we had input on development ideas!

  • @Grow.YT.Views.306
    @Grow.YT.Views.306 12 วันที่ผ่านมา +1

    May God save us all

  • @d3tuned378
    @d3tuned378 10 วันที่ผ่านมา +2

    No, but my OpSix can :)

    • @Lantertronics
      @Lantertronics  10 วันที่ผ่านมา

      I've heard a lot of good things about it!