Reversing/Inverting Sawtooth alters the sound?
@Booberg Slew rate in electronics does not itself alter phase (arguable) as it is a byproduct, but there are countless things in most circuits which do alter phase. We use capacitors to block the DC voltages between different stages of the circuit so the DC voltages which set operating points for those stages don't interact with each other and alter the operating point of the other, these capacitors form filters with the resistances around them, phase is a much more fluid thing in the real world and less perfect than in the digital world. Sometimes we design out these capacitors to avoid these effects and directly couple the various stages in a circuit but this creates a teeter totter effect, altering one stage affects the others so you have to adjust them all and rebalance everything. But slew rate is not an issue in something like the transistor ladder since its effects will be insignificant compared to the effects of the filter unless the the cutoff is all the way up and Q all the way down and even then would likely be lost behind the circuits distortion and noise.
I do not know of any really good software transistor ladders, most if not all mimic the circuit as a whole instead of the individual stages which make up the circuit, this largely removes the highly interactive nature of the the stages and the controls but it is more CPU efficient and makes the filter respond as most people expect a filter to respond. The filter has four major components from the audio standpoint, input amp, the transistor ladder itself, the recovery/output amp, and the resonance path, each of these tailors the frequency response and distortion characteristic of the overall circuit and each of these influences how the others do this. Generally the primary source of distortion is the output amp loading down the ladder, but we can also overdrive the input for a different sound and high resonance settings will overdrive the ladder itself, changing the filters frequency can completely remove the distortion effects of the output amp and make the other sources primary and they each have a very different sort of distortion. We have four distinct sources of distortion and tone shaping besides the ladder at the core and all but the input circuitry are affected to some degree by the cutoff control voltage since changing the cutoff changes how the ladder loads the output amp which changes how the resonance path drives the core and loads the output stage. I know of no emulations which bothers to model all of this, they seem to all fixate on getting that handful of stereotypical sounds and call it good because they know that the first thing most people are going to do is set it for one of those sounds and if it gets that sound they will be convinced of it's authenticity, most have not spent enough time with the real thing or done extensive analysis of the circuit, they only know those stereotypical sounds, not how it responds to the musician.
Edit: I don't know if any of this actually matters or if anyone would notice the difference between the simplified emulations and an accurate one, musicians tend to be more practical than engineers and the practicality of my musician side lost out to my curiosity in such matters long ago. The real thing does respond much more like an acoustic instrument than an electronic instrument, which is why the mini was the first big success in synths, but I am not sure that plays any role these days.
LTSpice may be available for OSX, I don't actually know now that I think about it, if you have wine installed the windows version runs perfectly there. Check their site, it is free. I do not believe you would be able to run its circuits with other simulators but I could be wrong, the file syntax might just be plain old Spice.
Starting a Pure Data Wiki (Database/Examples Collection)
Another sample from the work-in-progress ...
https://docs.google.com/document/d/1tzS2KU8x31JXoUxmkEr5WikJvxcrgHa4C0vM8LBw49Q
I thought it would be worth having a category for these more self-contained collections
Modular Systems in Pd
ACRE
https://git.iem.at/pd/acre
ARGOPd
http://gerard.paresys.free.fr/ARGOPd/
Automatonism
https://www.automatonism.com/
Context
https://github.com/LGoodacre/context-sequencer
https://contextsequencer.wordpress.com/
DENSO
https://www.d-e-n-s-o.org/pure
DIY
http://pdpatchrepo.info/patches/patch/76
Kraken - Virtual Guitar Effects Pedal Board
https://forum.pdpatchrepo.info/topic/11999/kraken-a-low-cpu-compact-highly-versatile-guitar-effects-stompbox
LWM Rack
http://lwmmusic.com/software-lwmrack.html
La Malinette
http://malinette.info/en/#home
Open toolkit for hardware and software interactive art-making systems
Mandril Boxes
http://musa.poperbu.net/index.php/puredata-mainmenu-50#mandril
Metastudio
http://www.sharktracks.co.uk/html/software.html
Muselectron Studio
http://www.muselectron.it/MuselectronStudio/Studio_index.html
NetPd
http://www.netpd.org
NoxSiren
https://forum.pdpatchrepo.info/topic/13122/noxsiren-modular-synthesizer-system-v10
Pd Modular Synthesizer
https://github.com/chrisbeckstrom/pd_modular_synth
Pd-Modular
https://github.com/emssej/pd-modular
PdRacks
https://github.com/jyg/pdr
Proceso
https://patchstorage.com/proceso/
Universal Polyphonic Player (UPP)
https://grrrr.org/research/software/upp/
https://github.com/grrrr/upp
VVD - Virtual (Virtual) Devices
http://www.martin-brinkmann.de/pd/vvd.zip
“a virtual modular-rack” from http://www.martin-brinkmann.de/pd-patches.html
XODULAR
https://patchstorage.com/xodular/
A previous incarnation of Automatonism
any others that should be in there?
fx3000~: 30 effect abstraction for use with guitar stompboxes effects racks, etc.
fx3000~
fx3000~ is a 30-effect abstraction (see effects list below) designed to expedite the creation, spec. of guitar, effect "racks".
It takes one creation argument, an identifying float, ex. 0, 1, etc.
Has
- two inlets
- left:~: the audio signal
- right: a list of the parameter values: [0-1] for the first 4, [0..29] for the 5th, and [0|1] for the 6th.
- 1-4: depth and parameters' 1-3 values
- 5: the index of the effect
- 6: the bypass for the effect
- a [r~ fx3000-in-$1] and [s~ fx3000-$1-OUT] to better expedite routing multiple instances
- a [r fx3000-rndsetter-$1] to set random values via a send
- 20 preset slots per abstraction creation argument, i.e. index, via "O" and "S" bangs, so abs #0 writes to preset file=pres-0.txt (NOTE: if you have yet to save a preset to a slot nothing will happen, i.e. you must add additional presets sequentially: 0 then 1, then 2, etc.)
- a [r PREIN-$1] to send values in from a global preset-ter
- the names of the parameters/effect are written to labels upon selecting (so I will not list them here)
- and a zexy~ booster-limiter to prevent runaway output~
The help file includes three such abstractions, a sample player, and example s~/r~'s to experiment with configurations.
Note: the origin of each effect is denoted by a suffix to the name according to the following, ex. ""chorus(s)"
- s:Stamp Album
- d:DIY2
- g:Guitar Extended
- v:scott vanya
The available effects are:
- 0 0-raw
- 1 audioflow(v)
- 2 beatlooper(v)
- 3 chorus(s)
- 4 delay(3tap)(d)
- 5 delay(fb)(d)
- 6 delay(pitch)(v)
- 7 delay(push)(v)
- 8 delay(revtape)(g)
- 9 delay(spect)(g)
- 10 delay(tbr)(v)
- 11 delay(wavey)(v)
- 12 detuning(g)
- 13 distortion(d)
- 14 flanger(s)
- 15 hexxciter(g)
- 16 looper(fw-bw)(v)
- 17 octave_harmonizer(p)
- 18 phaser(s)
- 19 pitchshifter(d)
- 20 reverb(pure)(d)
- 21 ringmod(g)
- 22 shaper(d)
- 23 filter(s)
- 24 tremolo(d)
- 25 vcf(d)
- 26 vibrato(d)
- 27 vibrato(step)(g)
- 28 wah-wah(g)
- 29 wavedistort(d)
I sincerely believe this will make it easier for the user,...:-) you, to make stompboxes, effects racks, etc.
I hope I am correct.
Peace. Love through Music.
-S
p.s. of course, let me know if you notice anything awry or need clarification on something.
Guitar effects signal chain help
I have made three guitar effects so far as part of a guitar multi effects patch. Overdrive, Delay and Chorus. The effects work perfectly fine, I am just having problems routing them together. I want to be able to route them in a chain e.g adc~ --- Overdrive --- Delay --- Chorus --- dac~ with the ability to bypass/mute different effects when required. I don't want the effects to run parallel as the overdrive overpowers and it does not sound right. Has anyone got any suggestions on how I can go about doing this?
Using PD in a complex commercial hardware groovebox project
@ingox I remember it going the same slow route, but I could be wrong.
I think it has been around since at least 2007...... but maybe 2015..... I am usually wrong about everything.
New product release was much easier the further you go back in time......
It had more "save the planet" niche appeal when it started than full tech blowout I think (and they have built on that).
Niche can do it, but a user base is still a fundamental for sales, and will be smaller.
Organelle is certainly an established strong competition for a new entrant.
It was around in 2015.... https://forum.pdpatchrepo.info/topic/9570/organelle
and manufactured by an established synth company.... so they had the resources.
I was not 100% mistaken. Not the same principle, but the same design from 2009/2011.......
https://encyclotronic.com/synthesizers/critter-guitari/pocket-piano-r1216/
And they have done the "flashing buttons" too.......
https://encyclotronic.com/synthesizers/critter-guitari/critter-guitari-onda-musical-instrument-computer-r1792/
How to detect a hit on the guitar strings (coming through [adc~]) and use it as a simple bang trigger
@toxonic Thank you very much for your help. Indeed you helped me out a lot with your suggestions, especially to use [bonk~].
[bonk~] is really good, since it allows me to learn specific signal patters (i.e., in my case the hit with the hand on guitar strings), and it is able to detect it in the followup microphone coming from the guitar.
This hit detection got really messy using the [fiddle~] or [sigmund~] since there was a need to filter the power in specific frequency ranges and the amplitude of certain frequencies when the very percussive hit on the guitar strings happens. The problem is really complex if one wants to discern the guitar strings hit during a regular guitar playing with many events happening at the same time.
Kraken a low-cpu, compact, highly versatile guitar effects stompbox
Kraken a low-cpu, compact, highly versatile guitar effects stompbox
Intent:
Make a guitar effects rack that would
- do a lot (includes 8000 pedal combinations)
- cost very little cpu; and
- eliminate the need to "connect" effects abstractions
(Master-Kraken-help.pd is the main patch.)
The Stack (in this order):
eq3
pre (gain)
3 effect/pedal slots (with clean-dirty "bypass" toggle for the whole set)
with each slot containing
a (tof) menu to select from 21 effects (0 being raw)
3 parameters (mknobs)
a dry-wet slider
a bypass toggle (for that line which crossfades in and out (set by the crossfade control, in ms)
and
an infinite sustain toggle (for that line)
reverb (with brightness and roomsize control and off|on toggle)
compressor (with threshold, limit, ratio, attack, release (zexy~))
master out level.
Kraken also includes:
a simple recorder (record and play (loop) toggles and recording the entire result)
a popup (standard tuning) guitar tuner
an [ adc~ | sample ] (a|s) switch (to test the sound or even post-process a track/file using openpanel)
and
a presets control which loads or saves the current settings (for the entire rack and includes a date+time prefix as well as an entered name for each preset).
Additional Info:
OpenSoundControl (OSC) has been exposed for a future/additional post ("Kraken-OSC") which I have almost finished in Mobmuplat (only, for now, PdParty and others to be added later) and can be accessed via the send and receive to network abstractions inside the patch.
**
EFFECTS LIST:
00-raw
01-chorus
02-compressor
03-delay(3-tap)
04-delay(fb)
05-delay(spectr)
06-distortion
07-filter
08-flanger
09-fuzz
10-looper(fw-bw) (>0.5 on, <0.5 off to record, play forward, or play backward)
11-octave_harmonizer
12-overdrive
13-phaser
14-pitchshifter
15-reverb
16-step-vibrato
17-tremolo
18-vcf
19-vibrato
20-wah-wah
Dependencies:
(which I believe are all available in Deken)
zexy
cyclone
moonlib
iemlib
ggee
plus zexy~ "load on startup"
Credits/Thanks/Acknowledgements:
As I think with most pure data patches Kraken is built on the back of lots of other people's hardwork and diligent effort. In particular, it owes its effects to predominantly the DYI2 library (by Hardoff), the Stamp Album library (by Balwyn), those on the Guitar Extended website (by Pierre), and less so to a few others. And to all of them, I am deeply thankful.
Tally-Ho! Happy playing.
I am very thankful to finally "Release the Kraken!". I hope it may bring you many hours of pleasure, entertainment, and possibly education.
p.s. if you see some of your work inside this, DO please let me know and I will credit you more specifically.
Thanks again. Feel free to ask any questions you may like regarding using the tool, the abstractions, etc., and I will respond to them as soon as I am able. -Peace
advice on using the pd~ object
hi,
I have some questions about the pd~ object. My Raspberry Pi 3 has one processor running at 100% and the other 3 running at almost 0%. So I’d like to allocate some processing power to those other processors. I’m guessing that’s what the pd~ object is for correct?
If I have an audio signal and I go into the inputs of a pd~ object will all the processing above that pd~ object be allocated to another processor? Or do I need to make a separate patch and open it with the pd~ object, and everything in that patch is run on another processor?
Or if I send audio into a pd~ object and have reverb and delay effects happen in a subprocess, would just those effects be created on a different processor?
I read this document:
http://www.pdpatchrepo.info/hurleur/multiprocessing.pdf
which explains the concept behind why the pd~ object is necessary. And I looked at the pd~ help file, but I can’t get this to work.
I uploaded some of the things I tried out. If anyone can alter these to demonstrate how this object works I’d appreciate it.
thanks, Nick
Stomp-board my current project
This is a project I started just before Xmas. It was a really just an exercise to see how my nknob.pd abstraction would work in the real world, then morphed into a styling execise.
Stomp-board is a collection of guitar effects vaguely resembling stomp boxes. They can be arranged
and wired in any order and can be repeated as often as required. Each effect is given a unique name
when placing and this name is used to automatically save preset parameters against.
Effects are placed as objects in the normal Pd manner with one argument (eg [digi-delay Delay-1]) and connected with audio wires that should be in line with the round markers (there are fake inlets and outlet to the right as spacers)
As a graphics exercise its a failure because the nknob.pd is very heavy in the template area.
Its almost impossible to delete the effects objects as they grow in number (they will eventually delete though) and it is therefore essential to use the Quit button to end a session. There is a barely started help file.
stomp-board.pd is the demo (see pic), stomp-base.pd is the minimum start point.
I have collected the whole thing including the required externals in a folder Pd-effects-stand-alone
I think out of the box its windows only and in fact I have a folder for Pd 0.48 portable (empty) and a batch file stomp.bat that points to it (you will need to download Millers pd-vanilla portable version to use that)
Points of interest
In stomp-board.pd The looper can automatically record one cycle of drums from four-drums then stop the drums and play the loop and if the guitar is ready then record that on the next cycle
there is a wireless way to send messages to most controls via the unique name + control name
nknob has a range of 0-100
Any questions, please ask.
I have bash on my 1970's Ibanez strat-copy using this program just about every day
Cheers Balwyn
The following effects and control objects are available
active-switch.pd,
audio-catch.pd
audio-in.pd
audio-out.pd
audio-receive.pd
audio-send.pd
audio-throw.pd
audiobar.pd
chorus.pd
compressor.pd
controlbar.pd
data-send.pd
delay-only.pd
digi-delay.pd
distortion.pd
drum.pd
four-drums.pd
fuzzbox.pd
graphic-eq.pd
grater-v2.pd
lfo.pd
looper.pd
nknob.pd
noisegate.pd
panning.pd
para-eq.pd
phaser.pd
pitchshift.pd
pot.pd
presetter.pd
rec-player.pd
reverb.pd
rnd.pd
scope.pd
stomp-base.pd
stomp-board.pd
stomp.bat
tremolo.pd
tuner.pd
vcf-phaser.pd
volramp.pd
wavescope.pd
MobMuPlat Effects Collection as a Handheld App (adding Noisegate, EQ3, Compressor (pre) and Reverb (post))
This is a repackaging of the MobMuPlat Effects Collection I previously posted.
The change is:
This is built as an actual effects, ex. guitar, etc., app that has a complete stack/effects chain with one (of 29) effects.
The audio path is as follows:
adc|rnd > noisegate > eq3+pre > compressor > 1_of_the_MMP_effects > and reverb.
Both a demonstration of the concept as well as a full-fledged Mobmuplat app.
It consists of two pages:
the first being the controls for the new added effects and
the second being the original mmp_effects_collection demonstration controls.
"May it serve it you well."
Ciao for now.
-S
note: the new effects, i.e. ng, eq3, and comp, are all MMP-compliant and are now included in the mmp_effs directory and the reverb is achieved by pointing to the reverb that was in the original mmp_effs folder.
All of the original effects are also in the mmp_effs directory.