Wet-Dry Mix In Amplitude Modulation
Wet-Dry AM.pd
Hey everyone,
I'm experimenting with trying to get a clean fade between the dry carrier sound and the wet modulated sound when using AM but am running into a couple problems.
- When I make the modulating signal into a unipolar waveform, I can get a clean transition between the dry sound and modulated tremolo sound, but at faster modulation speeds the carrier can be heard with the other 2 frequency bands
- When I use the bipolar waveform, the transition between the dry signal and the tremolo signal is sloppy and the rate begins to sound like it doubles
I'm wondering why the carrier sound is present when modulating at high speeds with the unipolar waveform but not with the bipolar waveform? And I'm also curious why the tremolo speed feels like it doubles in its rate when crossfading with the bipolar waveform?
Ideally, I would like to have the best of both worlds in the patch where it crossfades cleanly into a full tremolo, but also where the carrier signal doesn't exist when the modulation is fully wet. Not sure if videos work here, but I'll try and post one.[link text](Amplitude Modulation.mp4 link url)
A little Pd mod...
I totally understand your approach, and agree that as a mod it's implemented quite elegantly. Sounds like esp 1) is what's keeping it out of mainstream vanilla.
I'm on linux...
Here are screenshots of "small" zoom, "big" zoom and then the "small" zoom manually made 2x as big in gimp. Except for the blur (obviously), I'd expect the path of the curves in the "big" zoom to look like the manually enlarged one. For instance notice how the curve goes into the metro on the small one, but doesn't on the zoomed in one.
Any solution or work around for Mac not getting 2nd Midi controller channel number?
@nicnut said:
But like I said, i don't have this problem in Max or any other software, it's a unique problem with Pd.
If you have multiple MIDI devices, there are two ways to model the channels.
-
One way is to model separate devices, and within each device, model channels 1-16.
-
Another way is to model the first device as channels 1-16, the second device as channels 17-32, the third device as 33-48 and so on. (A weakness here is: For MIDI messages that don't carry a channel number, you can no longer disambiguate devices.)
What you cannot do is to model a single "channel number" space and have all devices occupy 1-16. Then you have no idea which device sent a given message.
It seems like your point is that the Pd way is flatly incorrect. It isn't incorrect exactly: It provides enough information to tell devices apart (except e.g. sysex). It doesn't do it in the way that you're accustomed to, but that doesn't make it wrong.
If Pd assigns channel ranges based on the order of devices reported by the OS, and the OS lists the devices in an inconsistent order, then it is as much the fault of the OS as of Pd. The "save MIDI configuration" approach might be a workaround for confusing behavior when (I'm guessing here) the OS is confronted by multiple devices with identical ID information.
hjh
Routing different signals to clone instances
@whale-av Thank you very much for your reply! In my case I need to route signal outputs of each cloned object inside one module to another cloned objects inside another module. What I mean is that the first module receives signals from outside of it. I don’t need to route signals between instances of cloned objects inside the module, what i need is to direct multiple signals coming from different instances of cloned objects inside one module and send them outside and then send them to cloned instances inside another module. Hope I managed to explain well enough. Thanks a lot!
Routing different signals to clone instances
@djaleksei You can route separately to specific modules within [clone] by including the clone number in the [send~] and [receive~]
You do that using $ in the name.
Clone 1 will assign the value of 1 to $1...... clone 2 the value 2...... etc,
So if you use [receive~ $1-modulation] then each cloned module can receive separately.
If each osc module is to be paired with each modulation module thenit is a simple task...... putting [send~ $1-modulation] in the modulation cloned abstraction will have fmmod1 send to osc1, fmmod2 send to osc2 etc.
You can give [clone] more arguments..... giving you the possibility to use $2, $3 etc. for more complexity...... i.e. if you one day add another bank of cloned oscillators to your patch.......
https://forum.pdpatchrepo.info/topic/9774/pure-data-noob/4
David.
Routing different signals to clone instances
Hello all!
I’m new to this forum! However I’ve been working with Pd for a while. Currently I’m programming a polyphonic synth in Pd with FM capabilities and I’m facing a problem. I have created some sort of a module which includes one oscillator, a low pass filter and an ADSR envelope generator. The output of this module is an audio signal. It also includes some inputs and one of them is a signal input for frequency modulation (it receives a signal from the outside and uses it to modulate the frequency of the oscillator inside the module). I use clone command to create multiple instances of the same module to make it polyphonic. Then I tried to route a signal from another cloned module to the FM input of the first module and the obvious ocurred: when I play only one note the FM works as supposed to. But when I play multiple notes it sounds terrible and it is because the audio signal of all the notes from the second module goes to the FM input of the first module and then it is routed to all the cloned instances of it. What I need is to route only the signal corresponding to one note and route it to the same note of the first module. Is there any way to achieve this? I understand that a signal goes equally to all instances of a cloned object, but is it possible get separate signals from all instances of the second module and route them separately to the corresponding instances for the first module?
Boran-Ri'in Frequency Modulation (BRFM) implementation using NoxSiren system <- [v9.0]
Here you have a simplified diagram of an advance modulation synthesis algorithm. The DSP algorithm uses 2 stages of FM, 1 stage of AM and an intermediate stage of Chorus modulation. Keep in mind that the FM here is adapted to the NoxSiren internal module structure and the Chorus modulation unit is not the classical Chorus structure where the modulator is a LFO. You can build this algorithm using NoxSiren.
NoxSiren system :
https://forum.pdpatchrepo.info/topic/13122/noxsiren-modular-synthesizer-system-v9-0
Diagram :
Using PD in a complex commercial hardware groovebox project
@whale-av Grooveboxes start at about $300 and go up to over $2k, most are $600-$1400, these are largely not general consumer products but specialty items and are more expensive on average. That idea of doubling cost at every step is really more the formula of large scale production with its massive overhead like buildings full of employees which it needs to cover. Small shop will be more around double to triple manufacturing cost of the first run being finale sale price. First run is the most expensive because of setup and tooling fees. First run has no profit but it covers the second run and banks some money. There is a good reason why we have been seeing an increase in midrange gear from new upstarts and small names who traditionally only made expensive boutique gear, it has become affordable, you no longer need a small fortune or the work ethic of a draft horse, the whole eurorack/pedal obsession setup the overseas manufacturing chain for small scale production of music gear and has gotten even the big retailers like SweetWater to work with the small guys and sell their products despite there being almost no profit in it for them.
NoxSiren - Modular synthesizer system <- [v15]
NoxSiren is a modular synthesizer system where the punishment of failure is the beginning of a new invention.
--DOWNLOAD-- NoxSiren for :
-
Pure Data :
NoxSiren v15.rar
NoxSiren v14.rar -
Purr Data :
NoxSiren v15.rar
NoxSiren v14.rar
--DOWNLOAD-- ORCA for :
- x64, OSX, Linux :
https://hundredrabbits.itch.io/orca
In order to connect NoxSiren system to ORCA system you also need a virtual loopback MIDI-ports:
--DOWNLOAD-- loopMIDI for :
- Windows 7 up to Windows 10, 32 and 64 bit :
https://www.tobias-erichsen.de/software/loopmidi.html
#-= Cyber Notes [v15] =-#
- added BORG-IMPLANT module.
- introduction to special modules.
- more system testing.
#-= Special Modules [v15] =-#
- BORG-IMPLANT (connects ORCA MIDI system to NoxSiren system)
#-= Current Modules [v15] =-#
- VCO (voltage-controlled-oscillator)
- VCO2 (advance voltage-controlled-oscillator)
- WAVEBANK (additive synthesis oscillator)
- ADSR (Attack-Decay-Sustain-Release envelope)
- C-ADSR (Curved Attack-Decay-Sustain-Release envelope)
- CICADAS (128 steps-Euclidean rhythm generator)
- CICADAS-2 (advance 128-steps polymorphic-Euclidean rhythm generator)
- COMPRESSOR (lookahead mono compressor unit)
- DUAL-COMPRESSOR (2-channel lookahead mono compressor unit)
- STEREO-COMPRESSOR (lookahead stereo compressor unit)
- MONO-KEYS (virtual 1-voice monophonic MIDI keyboard)
- POLY-KEYS-2 (virtual 2-voice polyphonic MIDI keyboard)
- POLY-KEYS-3 (virtual 3-voice polyphonic MIDI keyboard)
- POLY-KEYS-4 (virtual 4-voice polyphonic MIDI keyboard)
- POLY-KEYS-5 (virtual 5-voice polyphonic MIDI keyboard)
- POLY-KEYS-6 (virtual 6-voice polyphonic MIDI keyboard)
- BATTERY (simple manual triggered machine for drumming.)
- REVERB (reverb unit with lowpass control)
- STEREO-REVERB (stereo reverb unit with lowpass control)
- RESIN (advanced rain effect/texture generator)
- NOISE (generates black,brown,red and orange noise)
- NOISE2 (generates yellow,blue,pink and white noise)
- COBALT (6-stage polyrhythm generator)
- SHAPER (basic shaper unit)
- FOLDER (basic wave folding unit)
- STEREO-FOLDER (stereo wave folding unit)
- DUAL-FOLDER (advance wave folding unit)
- POLARIZER (transform a signal into bi-polar, uni-polar, inverted or inverted uni-polar form)
- CLOCK (generates a BPM clock signal for sequencing other modules)
- CLOCKDIVIDER (a clock divider with even division of clock signal)
- CLOCKDIVIDER2 (a clock divider with odd division of clock signal)
- DELAY-UNIT (delay unit)
- STEREO-DELAY (stereo delay unit)
- CHORUS (chorus unit)
- STEREO-CHORUS (stereo chorus unit)
- SEQ (advance 16-step/trigger sequencer)
- KICK (synthesize kick unit)
- KICK2 (synthesize flavor of KICK module)
- KICK3 (synthesize flavor of KICK module)
- SNARE (synthesize snare unit)
- CLAP (synthesize clap unit)
- CYMBAL (synthesize cymbal unit)
- RAND (RNG generator for other modules parameters)
- FMOD (feedback modulation unit)
- AM (amplitude modulation unit)
- RM (ring modulation unit)
- LFO (low-frequency-oscillator)
- LFO2 (advance low-frequency-oscillator)
- COMBINATOR (combine two waves)
- COMBINATOR2 (combine three waves)
- COMBINATOR3 (combine four waves)
- STRING (Karplus-Strong string synthesis unit)
- STRING2 (advance Karplus-Strong string synthesis unit)
- DETUNER (parametric 4-channel detuner unit)
- CRUSHER (basic audio resolution unit)
- STEREO-CRUSHER (basic stereo audio resolution unit)
- DUAL-CRUSHER (advance audio resolution unit)
- FILTER (basic filter)
- VCF (voltage-controlled-filter)
- MAR (Moog-analog-resonant filter)
- VCA (voltage-controlled-amplifier)
- DUAL-VCA (advance voltage-controlled-amplifier)
- FMUX (multiplexer with fast A/D internal envelope)
- MMUX (multiplexer with medium A/D internal envelope)
- SMUX (multiplexer with slow A/D internal envelope)
- FDMX (demultiplexer with fast A/D internal envelope)
- MDMX (demultiplexer with medium A/D internal envelope)
- SDMX (demultiplexer with slow A/D internal envelope)
- MIXER (mix 1-4 possible waves)
- SCOPE (oscilloscope analyzer)
- MASTER (fancy DAC~)
- BOX (useless decorative module)
NoxSiren integrated modules menu system.
gensyn~: generic, multi-modulator synthesizer abstraction
gensyn~: generic, multi-modulator synthesizer abstraction
REQUIRES: zexy
what makes this synthesizer abstraction different is:
In addition to the common access to adsr(filter and amp) and vcf~(cutoff and frequency)
It also includes
- 5 available modulation types for two wavetables
- additive and frequency, phase, pulse, and amplitude modulation
- 8 possible types for each wavetable
- sine, square, triangle, saw, random, duty, pink noise, noise
- the random is by a settable number of partials
- the duty is a square wave with settable dutycycle
- sine, square, triangle, saw, random, duty, pink noise, noise
- access to two unique parameters per modulation type
Note: The -help file has a substantial number of examples. Especially, interesting are those changing modulation type, wavetype, parameters (per mod), partials, and dutycycle on a per-voice basis by both formula and over time.
I hope you enjoy it, get some use out of it, or it just makes you smile or giggle.
Sincerely,
Scott
p.s. no picture necessary. And personally, I find this Very funny. -Peace.