Amplitude Modulation in MSoundFactory?
-
- KVRian
- 1275 posts since 3 Jan, 2020
What's the best way to do Amplitude Modulation (AM) between two oscillators in MsoundFactory?
The best way I came up with is to generate a custom modulation source with one oscillator and modulating the volume of the other oscillator. That sounds pretty good with oversampling, but I'm hoping there's an easier way to do this.
The Merger module seems like an obvious candidate, but I don't see AM as an option there.
The best way I came up with is to generate a custom modulation source with one oscillator and modulating the volume of the other oscillator. That sounds pretty good with oversampling, but I'm hoping there's an easier way to do this.
The Merger module seems like an obvious candidate, but I don't see AM as an option there.
-
- KVRist
- 375 posts since 9 Dec, 2014
What about just 1 oscillator modulated by a LFO with 'Follow note frequency' enabled?Held wrote: Thu Sep 07, 2023 8:12 pm What's the best way to do Amplitude Modulation (AM) between two oscillators in MsoundFactory?
The best way I came up with is to generate a custom modulation source with one oscillator and modulating the volume of the other oscillator. That sounds pretty good with oversampling, but I'm hoping there's an easier way to do this.
The Merger module seems like an obvious candidate, but I don't see AM as an option there.
-
- KVRian
- Topic Starter
- 1275 posts since 3 Jan, 2020
That's a good suggestion. I tend to forget that the LFOs are fully fledged oscillators as well. They don't have an option for anti-aliasing, though, so that might be an issue. But I haven't done enough tests to tell for certain.vanerio wrote: Fri Sep 08, 2023 6:20 am What about just 1 oscillator modulated by a LFO with 'Follow note frequency' enabled?
If I understand Wikipedia correctly, the main difference between ring modulation and amplitude modulation is that amplitude modulation maintains the frequency of the carrier while ring modulation removes it.
Following that logic, using ring modulation and setting the dry/wet control to 50% should create the same result as amplitude modulation.
Maybe Vojtech can let us know if that's correct.
-
- KVRist
- 375 posts since 9 Dec, 2014
RM and AM are similar, but AM modulator signal has been converted to positive values only (I am not an expert though). So to do that ,you can do several things:
Seting an Oscillator as modulator: In this MSF preset you have a multiparameter to compare methods to do the exact same thing, from math operations only, to mix RM and math operations, or to directly offset & scale modulator osc.
Or you can use an unipolar LFO, what I think is the easy way, but as Osc´s Volume knob is not linear, it will produce a stronger effect! Have that in mind.
Seting an Oscillator as modulator: In this MSF preset you have a multiparameter to compare methods to do the exact same thing, from math operations only, to mix RM and math operations, or to directly offset & scale modulator osc.
Or you can use an unipolar LFO, what I think is the easy way, but as Osc´s Volume knob is not linear, it will produce a stronger effect! Have that in mind.
Code: Select all
$eNrdWU2MI0cVLk8CinKBA+IAEmppQhTIDu32eHbngrw1Y3uwmF477pnZzrHc-cZuTbnKqqqejPewiAMi4pQrHODAKZcVHJAAhR8hbpFyiIQiDpE2QjkhoUUcEBIS6PWPp+2xd23vJIvog9tV9b2qV19VvXrvNXH3fN-1ZCzCJguMVGMNxkSirwndJE6Jbh5w2WNcH7FeUqT1OozMgIQkeR7WEBGF0AHVDgw7B+IQegJKR1KQKnnh84R+67XjkWbDEY9EH1sbYWSk8qJ70GB6TLSzXd6+sevsFluIdqo7Ozd2d6qE7sdKgTAdBRpMq050nZ1H4f3GBfYJ+j51LVfGnJlIitDKqgl1Y26iDlNsCAaU3pecs5GGEFVw2cVhs73HZXCWjOZYFJGcA4-uJR3hZA+73ohHxkCikpPN+c23bs+0VHI2HtVoh8f9SBA9xSnxvbiXtkxq0qI3YdsDDoGBMO+gfKOcLcFVZTNhnfdCqI+zeh1-7rAhEN3WQcQ5M1IR2ow5n9Rayez1WUsguAuCDZGSkr-HxFmZ2Ff0SnfBieTxEArz3DwWkZaiIViPQ4HbEt3s3HVdGQLR9Uhja0iSulyYzKPfd9v1fBA6tcMe1ei+jIUhzobfLZO8UKJaBWWiD5ttnNJFmYQPHuzvfPX1D35n+13ncbhcDdv2vQEbAaHeUaPT6Ta8xhFxiG3bRVpLy9FaITTlIttfOcP4rx2j9p8M2emh08R5finiW-VWR8m+YsP9ARN9SLtERaeq95mBvlTRPVDzj8tc5vz2CFRyejShHalN3nspKXkB41Ckfw7RpYxol5lBkeKvl7+xM5fhjSLD7diMYtMSIVyUsa9C2SHOf5ZfgZTGxIKM+Njqja1ACm2YMEhp0fgdRsPI5BUv3b4+hueQs7GAnFefBTk0DJ81KYnFe24BKbh4c0l5LvvnGWAciy0xik1SSnhJijktpUKrc41biny6JD2fkwSqD1O2q+uuQFK+ecinylk3En1rKMPsiid0s67Gd2HCHblW7tAqXd7W-jVd1NgrNYYFZw6hhyD6ZoAXWkOcA5doSKnWUX+idOPOSW5VNyaSlbUlt9eWrK4tubO25M21JW+tLbm7hmRDnDvEP1IwlFzO9yQQU1kCs70EproEZmcJzM0lMLeWwOw+CZNGDg1xTmhKcsER6QIHpoGE-3777++7vU6N1iFg4wLCi7Vhkbj0gp4w2mGzjQ4tM0DCf-36Oz8Pmp+7PbN+UyKXO4U2JefyjTvSJK5KwaOacp6ueDdT-szDWlJHw5CE33-nB87x8Z9qqVYVspwaCXh7FXB1FfDOKuCbq4BvrQLeXRrcZSKUw+SEMaFPpRpm5n-hoXzBzqUqa0ltryVVXVHq2zDWuHOcNeVWndsJcBlEZr1Bp4TXHXmm4bITDOl1rGAxIDLBYA9E6C+EuDK8OwDgCwFH0bCn4FZ1IWBPATODcmUhoHExQkUjKRxnISi3V4va0by0T09n25PkSWbSpltm8hdkpqJMJj6dGciQ0NRZQodKE3rCeAxZzdjqMXFmoc9FqGdglIXGn6HeCCAs2NxEqhB3Hhy30pQM9lQh+g4uPCdY77EhdOUbuOoHx619yaUiulq-1ayWm01CUY3JMFhAXcvoblquDKPTCIPTvN4hmroYZKU+fF5dSeC9sdU+PdVgXk7sbWi1dVC5BG1PZGNurJcfi63m2MNmm9AJk130DPWlE+xPWgqglOsDEHgHSGVtWV3X2rJyqWnqSOphJx3jPdK4MF28UUonvVdyBHlUI1PPbJmgW7yUJhgcX48uV3VYVZdX-4d0SbbEU+ny5LVaVpckR2RtWclRn7xHUputkZIBmhfRR1yyf5PQJFP3vXff+dlb1Y9rNFU13LX-8Ye99-9YW0L9h7X8fXSMz8e1v73oJe+8-rrVT32inOnff+V7f33tlz+uFWbz7vlvf-Il+zeT2XzZ-vClz373F4+fzY9+iM+vatPvtyfvdRfjGnfp1V27ijKOtWWlWT8MdC1ry0pzoLlizY-ufeHBwUcT1sw3X-zgp6MPV9sD89+P0E2dvlom6c4ksx5ar6BdtobJPaO-lt80+WVQuGo6oAIQBoPkT+xmeVqzna99nmx+3NJfYaYyy0zX-X-hJbnO6mpsY2ZlNVa2Z1k5bLafio43v-jn9-7p-eVZb5Orp5I6Rct8Gc2mp3I871Ri5mdfCqMk5+jGUS8SfQ6YjxLAMXb1aWCic0i-b6UfwTAOrcN5FIA7+-GqRPPCkQL0uv0sqTVuGRi2xKkk9qTKMxgP+wcgFBDbT11hHFGZKMjzabZPOSbFzGBIbL8JzMQKMGXlZ1-e8uXFjyrzh36acZIJZ98JkjRZJ2MC-6tRFtM7G77LjIouLhtTairEvxuFZuAS35OxCgBTfnAacQMq-eBo2-b9-wJriqzO-
- KVRian
- Topic Starter
- 1275 posts since 3 Jan, 2020
Thank you so much for showing me all those options to do AM in MSF. It was a lot of fun to play around with your preset.
I think I like the option with the math modules and the RM module the best, since the merge module comes with the convenient dry/wet and oversampling controls. The resulting spectrum looks like proper AM. The volume modulation with an LFO introduces additional harmonics due to the non-linearity of the volume control as you mentioned While playing around with the math module, I remembered that you can also use the abs function to make a signal positive. Using this creates a bunch of harmonics and sounds pretty cool as well. But this also introduces a lot of aliasing without oversampling. (I changed the modulator to be only 2 octaves above the carrier in all the screenshots.)
I really appreciate that you took the time to set up such a nice playground to explore different AM options. I learned a lot.
I think I like the option with the math modules and the RM module the best, since the merge module comes with the convenient dry/wet and oversampling controls. The resulting spectrum looks like proper AM. The volume modulation with an LFO introduces additional harmonics due to the non-linearity of the volume control as you mentioned While playing around with the math module, I remembered that you can also use the abs function to make a signal positive. Using this creates a bunch of harmonics and sounds pretty cool as well. But this also introduces a lot of aliasing without oversampling. (I changed the modulator to be only 2 octaves above the carrier in all the screenshots.)
I really appreciate that you took the time to set up such a nice playground to explore different AM options. I learned a lot.
You do not have the required permissions to view the files attached to this post.
-
- KVRist
- 375 posts since 9 Dec, 2014
Using the ABS function will not recreate standard AM, as AM is offsetting the entire wave, not just the negative part, but it will create of course a valid and funny alternative.Held wrote: Sat Sep 09, 2023 1:13 pm Thank you so much for showing me all those options to do AM in MSF. It was a lot of fun to play around with your preset.
I think I like the option with the math modules and the RM module the best, since the merge module comes with the convenient dry/wet and oversampling controls. The resulting spectrum looks like proper AM.
msf_am_math.png
The volume modulation with an LFO introduces additional harmonics due to the non-linearity of the volume control as you mentioned
msf_am_volume.png
While playing around with the math module, I remembered that you can also use the abs function to make a signal positive. Using this creates a bunch of harmonics and sounds pretty cool as well. But this also introduces a lot of aliasing without oversampling.
msf_am_abs.png
(I changed the modulator to be only 2 octaves above the carrier in all the screenshots.)
I really appreciate that you took the time to set up such a nice playground to explore different AM options. I learned a lot.
I am glad it helped you!
Edit: I just want to add, Vojtech, never stop being that crazy...the capabilities of your software are amazing
-
- KVRian
- Topic Starter
- 1275 posts since 3 Jan, 2020
I also tried using RM with 50% dry/wet and it looks pretty much identical to doing AM with the math modules. So this seems to be the easiest option after all.
You do not have the required permissions to view the files attached to this post.
-
- KVRist
- 375 posts since 9 Dec, 2014
Mmm you are right!!Held wrote: Sat Sep 09, 2023 1:32 pm I also tried using RM with 50% dry/wet and it looks pretty much identical to doing AM with the math modules. So this seems to be the easiest option after all.
msf_am_rm.png
If we solve the next equation for a:
Code: Select all
x*a + (x*y)*b = x*(y+1)Code: Select all
a = -b*y + y + 1Or easier:
Code: Select all
x+(x*y) = x*(y+1)Code: Select all
x + x*y = x + x*y- KVRAF
- 18345 posts since 26 Jun, 2006 from San Francisco Bay Area
That’s how I do it.vanerio wrote: Fri Sep 08, 2023 6:20 amWhat about just 1 oscillator modulated by a LFO with 'Follow note frequency' enabled?Held wrote: Thu Sep 07, 2023 8:12 pm What's the best way to do Amplitude Modulation (AM) between two oscillators in MsoundFactory?
The best way I came up with is to generate a custom modulation source with one oscillator and modulating the volume of the other oscillator. That sounds pretty good with oversampling, but I'm hoping there's an easier way to do this.
The Merger module seems like an obvious candidate, but I don't see AM as an option there.
Zerocrossing Media
4th Law of Robotics: When turning evil, display a red indicator light. ~[ ●_● ]~
4th Law of Robotics: When turning evil, display a red indicator light. ~[ ●_● ]~
-
- KVRian
- Topic Starter
- 1275 posts since 3 Jan, 2020
It's nice to have your experiments confirmed with math. Thanks.
That adds a few more harmonics than normal AM since the volume control of the oscillator is logarithmic. (Compare the second screenshot with the first screenshot in my post above)zerocrossing wrote: Sat Sep 09, 2023 2:54 pmThat’s how I do it.vanerio wrote: Fri Sep 08, 2023 6:20 am What about just 1 oscillator modulated by a LFO with 'Follow note frequency' enabled?
It can sound pretty good as well, so I'd consider it another option to play around with.
-
MeldaProduction MeldaProduction https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=176122
- KVRAF
- 14325 posts since 15 Mar, 2008 from Czech republic
Use Merger module, that lets you use several algorithms for "messing 2 signals together", one of which is ring modulation, which is equal to amplitude modulation. It probably has lots of other names too 
Simple example:
Simple example:
Code: Select all
$eNrFV81u4zYQnmSLYoFe+ggB0lMRQKbtJN7ThnHkrNE4diNvVj0y0kQmQpEGSblJDn2LPkIfpz33WKAv0FuPLSjJ8s-CiC2kqE5DzvdxON+Q0ggG52E4CFQm4x6LrNJPBq3lMjFAD4Hs0cNLoe6YMGN2lw-pxQVO7QRiyJ8-3tNb1IYrCW14+zXQQf+iP9Iq0SztTphM0JfsTiAQoCvTXWYxUZo-o3a+D99-nBqWTgWXiRsPuukUCZBfC6tZWa3KalfWcWWdVNZpZXUq611lkcbCXEQhizBkEYcsApFFJJKH8mNulQ74M-rMPIEh7c67o06rAUue5dkRZ1Ldcvyxq4RgU4Nxnix7vOoNz4WKHnICOaAjppkQKPgzs05cskevboKp4NZiviopK-DNz2drnua8Nn+9pyORJVyCWakwhEF2V3iqmWIYVLUPUGBkMZ4vQI7a5YGoWeDPcyxjmnlwoKED-gDkC3rNUgQzNBEXglmlgfYyIdZnD-J1zUNfAoHwnMmHBnifpVIc44+SGyWLvS6J-5r5BBM2RaAzJjKc1+DbMxqM-dHoxg-8MRDwPG853b2d0m0upZtbw8wC2a+b+WGAKbdKooH499-+Dv785auz-1eOvPpflnIMUCe4IkUx46rezbRGaV3ieQ1LVd6UVmCRCSD7tC+nme3LGB+Jw+XD3JkPh5ldcv-zgo4DFSOYGy6Tg1TFmSgu5usJ5rln6WqGL9-KxlHjP7uVbjPUWhY9EKBXKBM7cWfNlzMUyhWWGsOTKop-fTuv6n7FbNZmtmoz27WZx7WZJ7WZp7WZnRpMX84IhGONqRKqvJ9r99FhmltgWltg2ltgjrfAnGyBOd0C03kJU-Q6vpy9BLzqDcm61iuYRW1ycHMXcGsXcHsX8PEu4JNdwKe7gDtbg2+YjFWan1kmzb3SafnW3XjM33pzVrMWq1WL1d6R9R0+mYgJJDV5u+Z2i0JF3NYLukKuG3nNsVhkpNGYTONmALfR5BxlHG6EDFT8aYIoNgLGPL3TeNreCDjXyOyk0dwI8B+nbqNcSUI2goLMWOZ6mQ3+a2VxeH+-7r8UPMbyTbPq6SpptRICtfv6c5kIdN9xicK9h0IaWT5DpyDa4pfD9QIXOOMRDtCiNisN33ww1piXqp+yxLWEWSoNkDdh2Rw89S2mfXmvwKumAsssQniJUiN4YaGn24G2PJr3Ql5IhWsu7CQFL+whs5lG10mEZb8GZWsH61t5lTi5AMUx3Mu7l1GpjLP1FOiNW5vshwNmNX9cOAupmhB+4rGdDCAMVKYjdK0T3nNhURd-pZ7n-fQvMCrBQA==-
- KVRian
- Topic Starter
- 1275 posts since 3 Jan, 2020
Thanks for the example. AM in MSF sounds greatMeldaProduction wrote: Sun Sep 24, 2023 5:08 pm Use Merger module, that lets you use several algorithms for "messing 2 signals together", one of which is ring modulation, which is equal to amplitude modulation.
-
MeldaProduction MeldaProduction https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=176122
- KVRAF
- 14325 posts since 15 Mar, 2008 from Czech republic
-
Korg Supporter Korg Supporter https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=386399
- KVRAF
- 1871 posts since 4 Oct, 2016
Ring Modulation is easier to access in MPowerSynth.
-
pervyinthepark pervyinthepark https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=378736
- KVRer
- 9 posts since 30 Apr, 2016
But I can't make the powersynth as f**ked up
