Camomile : An audio plugin that loads Pure Data patches
Hello, I have some very basic questions about Camomile.
Following the documentation, I have successfully loaded AlmondOrgan into my DAW (Cakewalk by Bandlab). I copied Camomile.vst3 from the Camomile folder to the AlmondOrgan folder, changed the file's name to AlmondOrgan.vst3, and copied the AlmondOrgan folder from the Examples folder to C:/Users/Program Files/Common Files/VST3, and Cakewalk then found and loaded the patch. I also got MiniMock to work using the same process.
However, I cannot get a Pure Data patch other than the patches in the Examples folder to work. I have been following a YouTube series showing the development of a Pure Data synthesizer, and wanted to load that synthesizer into Cakewalk. I downloaded and unzipped the zip file (it is the final version, lesson_16.zip, on this website: http://lwmmusic.com/learning-lswpd-1.html), copied Camomile.vst3 from the Camomile folder to the lwm_fam2_synthesizer folder (which is what's inside the lesson_16 download), changed the file's name to lwm_fam2_synthesizer.vst3, and copied the lwm_fam2_synthesizer folder to C:/Users/Program Files/Common Files/VST3. When I then try to use the synthesizer in Cakewalk, the GUI is replaced with a "Plugin Not Valid" message, and the console warns that Camomile can't find configuration files. I also tried the same process except renaming the Camomile.vst3 file as modules.vst3 (corresponding to modules.pd, the name of the synthesizer file), with the same erroneous result. I am unable to determine how much, if any, of the "How to create new plugins" page of the documentation applies here. It's just a bit too much technicality without context for me to understand what parts of it are required just to get going and what parts are customization options.
My first question is, are patches created using Camomile itself, or are they created independently using Pure Data, with Camomile being applied to them only after they are already created? In other words, do I need to copy the contents of the downloaded synthesizer files and paste them into new Camomile patches?
My second question is, what other steps are required to load the downloaded synthesizer files into Cakewalk using Camomile?
Kor'In modular synthesizer made with NoxSiren system.
Here is a quick demo of the kind of things you can do with my modular synthesizer system called NoxSiren .
NoxSiren System :
https://forum.pdpatchrepo.info/topic/13122/noxsiren-modular-synthesizer-system-v4-0
Kor'In Synthesizer :
https://forum.pdpatchrepo.info/topic/13137/kor-in-advance-6-voice-polyphonic-synthesizer-made-with-noxsiren-v4-0
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.
Nek'Sum - An advanced drone/texture monophonic synthesizer <- [v6.0] + // Mandarin Edition //
Nek'Sum-6 drone/texture monophonic synthesizer is compose of 5 stages :
First stage -> 3 main OSC with noise mixer option and generative synthesis support with 5 types of waves (tri,sqr,saw,supersaw,generative).
Second stage -> Filter stage with morph option and 4 filters types : Pass through, Lowpass, Highpass, Bandpass for the first stage.
Third stage -> 3 LFO (sin,tri,sqr,saw) modulators for the second stage.
Forth stage -> 3 Phasor's for the third stage.
Fifth stage -> 1 Deep Reverb with Lowpass filter for the forth stage.
It is capable of generating a large soundscape of drone/texture sounds inspired by The Doctor.
-UPDATE-
Thanks to Seven of Nine Nek'Sum is now at version [v6.0]
- Added Mandarin edition after cyber-brainstorming with Jade Chia-Jung [v6.0].
- Translation of the Ancient Egyption logo into obscure dialect of Anquietas language, thanks to Daniel Jackson [v6.0].
- Thanks to Nox cyberart society now the GUI is much better [v5.0].
- Added reset, randomization and resize for the generative synthesis [v5.0].
- Added generative synthesis support for each oscillator [v4.0].
- Added a noise mixer with 4 types of noise for each oscillator (orange,yellow,blue,pink) [v3.0].
- Added a morphing mechanism for filter stage [v3.0].
- This new version has a better GUI interface powered by a Borg-Casimir engine [v2.0].
-CYBERLOG-
Project manager : Oma Desala
Programming/UX design : Boran Robert Andrei
QA engineer : Anubis
Generative synthesis system design/Lead engineer : Seven of Nine
DSP engineering : Jade Chia-Jung, The Doctor
Testing/debugging system engineer : Lt. Colonel Samantha Carter
Language consultant : Daniel Jackson
Patch Download English Edition :
Nek'Sum 6.rar
Nek'Sum 5.rar
Nek'Sum 4.rar
Nek'Sum 3.rar
Nek'Sum2.rar
Nek'Sum.zip
Patch Download Mandarin Edition :
Nek'Sum 6 - Mandarin Edition.rar
Mandarin special edition :
Snapshots :
Synthesis Pack 2 - Collection of advanced synthesis methods.
@beem PWM (Pulse-Width-Modulation) for the square/pulse wave. It affects the duty cycle of the wave. You can also make a shifting wave where you can smoothly transition from one shape type to another but this is a far more complex non-standard wave. I use only basic standard waves. It is also possible to combine this standard waves to have something more complex..
Sequential playback of different sound files (Starting sound after a previous sound is finished)
For example I have five different sounds: sound1.wav, sound2.wav, sound3.wav, sound4.wav, sound5.wav.
I want to play sound2.wav after sound1.wav has finished playing. The same for the following sounds.
How to do this in pd?
Help with [key]/[keyup] inside [clone]
@4ZZ4 Sorry about the [t b f] and [notein].... it was a rush job.
[route float list symbol] is a bit special.
If you send [34 12( into [route 34 12] you will get a bang on the left outlet for 34 and one on the middle outlet for 12.
If you send it into [route float list] you will get 34 followed by 12 on the first outlet and 34 12 on the middle.
If you send [woof 23( into [route woof] you will get 23 on the left outlet.
If you send [woof 23( into [route symbol float] you will get woof on the left and 23 on the middle.
I think that is all correct. You can check it out in the [route] help file.
There is weird stuff going on that can be a pain and can be useful. Some of it is really weird.
But essentially [route] strips the tag of the atom with [route symbol list float] and sends on the atom but [route woof lala] or [route 34 35 36] strips that part and sends on what follows.
woof in the actual message is actually "symbol woof" in the internal message
34 35 36 is actually "list 34 35 36"
and 23 is actually "float 23" in the internal message.
The internal message is "tag something something something....... something]..... and float, symbol, pointer and list are the common tags.
http://puredata.info/docs/manuals/pd/x2.htm is good bedtime reading..... but don't worry about chapter 2.9 for a while.
David.
sample counter
@gusgus Generating square waves can bedone with [sgn~], it turns positive signals into 1 and negatives into -1. Now, combining this with [osc~] will get you square waves with a consistent pulse (also, [block~] can change the size of samples in your canvas, so it might be worth having a look at that]. In addition, some pretty easy maths can be done to get the square waves between 0 and 1. This is a screenshot of pd code to create a said square wave.
I know this is not exactly what you're looking for, but hopefully it's a starting point and you will be able to figure out the maths you need for the rest of it. Also, code was uploaded in the link here. square_waves.pd
oscinv~: osc~ but with the concavity inverted
(First, thanks, @seb-harmonik.ar for the tip. Really appreciate it.)
Originally I thought of doing this just as sort of challenge, to see if I could get it worked out and thought given the current pantheon of wave generators perhaps we could use another one.
What it does is invert the curvature of the osc~ wave form so in a quadrant of the wavelength where it normally curves down, here it curves up, and vice versa for the other two quadrants of the wave.
(more pics below)
It's accomplished by aligning the original osc~ with two square (phasor~) waves: the first to get the shape right (one wavelength for each quadrant of the original wave (so 4x the freq) and a second square wave to shift the wave up and down in the quadrants that need it.
The help file is setup to allow you to hear the difference between the osc~ and the oscinv~. (Note: if you change on the fly, the table does not write properly (i think (unless someone can tell me otherwise) because of the discrepancy/lag between changing the frequency value and the writing of the table).
The resulting tone is Very different than the original pure osc~ tone and it seems to me it has some sort of resonance(?).
If not usable, I hope you enjoy the thinking that went into it.
(It was a helluva of a lot of fun to work on. *Once I got the sucker! ).
Peace, happy pd-ing to one and all.
Sincerely,
Scott
p.s. oh, it has one inlet (frequency) and one creation argument (also frequency) and sends out a ~ signal.
p.p.s my thinking is those who make and/or use synths (esp.) might have some use for it.
Pduino + Arduino Output to Pins
Dear Forum,
Experienced PD user, intermediate Arduino user here.
My goal is to send several different frequency square waves (to be used as "on" and "off" signals for a circuit) to various output pins on an Arduino.
I am up and running using the Pduino library, and have PD and Arduino talking to each other.
However, I am not able to output audio-rate signals to any Arduino pins. For example, sending a square~ into an appropriately timed snapshot~ to output 0's and 1's to Arduino pins yields random clicking/sputtering Arduino output, rather than the expected steady square wave tone at any freq.
My arduinos play a square wave out through the pins just fine when using the Arduino IDE...so, what am I missing in the communication between Arduino and PD/Pduino? A speed issue?
Thanks in advance for any advice!