[Solved] Several MidiNotes to several osc's
If you were thinking of using [poly] to create a polyphonic [osc~] synth, you can do it this way
Which version for an absolute noob?
@CrouchingPython Pd has midi output...... and you could connect an external synth and select it from the Pd "Media" "Midi Settings".
But if it is a software synth on your computer then you need to loop-back the output of Pd to the input of the software synth.
In Windows you could use loopMIDI........... http://www.tobias-erichsen.de/software.html
Open it and set up a loop (there could well be one opened straight away by loopMIDI..... then open Pd and connect to it....... and open your software synth and connect to it.........
Widows10 might still have "Microsoft GS Wavetable Synth" still built in, but some say it doesn't work and Google will find you plenty of free and better ones.
The Arturia is a controller...... it outputs midi messages the same as Pd....... and still needs a synth (something to make the sounds when triggered by midi messages).....
David.
makenote not working libpd Android
@kevinzo22 Hi, [makenote] doesn't "make" sounds but it builds midi note messages from three numbers (midi note number, velocity value and note length in milliseconds).
If you do have midi messages already and want to make sounds from them you need some sort of synth/sampler, and the timbre of the sound depends on the synth itself so that's entirely up to you and what you want/need.
here is a simple sine wave polyphonic synth patch to get you started:
blip~.zip
(see blip~-help.pd)
prophet 3003 wavetable synth prototype
hi folks, thanks for the kind comments!
sure ill share the patch eventually but right now its an uncommented messy laboratory affair. best thing you can do right now is look at the patch image above which is quite self explanatory.
here is the vs rom in one wav file, scan this in 128 chunks of 128 samples and you have the single wave data.
harmonic aliasing is best described by acreil in the above mentioned blog post because thats where i got the idea from. the rest is trial and error and a lot of listening to integer combinations.
harmonic aliasing is actually my own term for what im trying to do. here is how i would describe it:
-
if you repeat 128 samples with a phasor at 128 hz (or 64/32/16/8/4/2) or any multiple of 128 your phasor restarts exactly at the beginning of the wave data and the aliasing frequencies generated by the steppyness of the data will follow the harmonic overtone series 1,2,3 etc. depending on the multiple.
-
if you introduce another prime divider ie. 3 as in 128 / 3 the phasor will line up with the sample data every 3rd sample and the osc will alias at the 3rd subharmonic frequency which will be somewhat more disharmonic than any overtone.
-
another way to look at it would be the pattern repetitions. at subdivision 5 the phasor starts at 5 different points in the sample data and its easy to imagine that the readout patterns are all slightly different ... but the whole thing cycles after 5 phasor rounds = 5th subharmonic..
-
if you subdivide 128 further with a higher prime ie. 563 you will get 562 different sounding samples until nr. 563 lines up again. get the idea?
this is all very easy to hear once you experiment with prime subdivisions and multiplications. just remember its all based on synching the data flow from the sample with the frequency of the index phasor. this will work with ANY sample data, the vs rom is just cool to use for vintage synth fans.
whats important for proper aliasing is that you use a simple [tabread] into the data without any interpolation like tabread4 or oversampling!
all the other elements in the synth like delay, waveshaper, sequencer follow the same rule as they are just repetition devices like the wavetable oscillator.
if you finally synch everything to the sample rate of your soundcard the voltages that hit your speakers will repeat in exact patterns. thats the idea of this synth: precision number repetition controlled by harmonic/disharmonic integer combinations ... just like the great 80s synths waldorf microwave or prophet vs.
prophet 3003 wavetable synth prototype
hi all ... im developing a funky wavetable synth thats inspired by the sequential circuits prophet 2000 from 1985. it uses the original 12 bit ROM from this synth and and a synthesis menthod called harmonic aliasing.
- all frequencies and repeat rates are related by simple integer relationships
- adaptive just intonation = infinite tuning systems
- 3 oscillators per voice
- wavetables by multiplexing oscs with waveshaped sines
- variable sample rate simulation via resampling with audiorate wavetables (BLITs)
- integrated complex numeric sequencer
- integrated delay for hardware mixer feedback loop with analog eqs
basically it includes everything i think is cool about numeric sequencing and is still really low on dsp because its all based on integers mechanics like early wavetable synths.
this synth can sound really ambient or real raw depending on the complexity of the number relationships and the waveshaping settings. eventually this is going to be a hardware synth with FPGA technology, variable sample rate per oscillator and analog eqs/filter ... just like in the 80s
project logo:
https://i.imgur.com/F1kqrMt.png
prototype patch:
wave multiplexing:
.
harmonic aliasing is inspired by a patch by acreil: https://forum.pdpatchrepo.info/topic/6759/new-anti-aliasing-and-phase-distortion-abstractions.
early discussion: https://forum.pdpatchrepo.info/topic/11176/adaptive-sample-rate-and-harmonic-aliasing-in-pd
.
mixer delay feedback loop feature:
lots of different sounds with audiorate waveshaping:
.
Midi MPE
Polyphonic aftertouch doesn't really apply here. MPE is a re-adaption of the midi standard that distributes polyphonic notes across individual channels so that any controller/pitch/whatever channel parameter only affects that single note.
https://www.midi.org/articles/midi-polyphonic-expression-mpe
I'd say it's definitely doable in Pd, but ATM you would probably have to roll your own patch to get there. Sequentially assigning notes to channels shouldn't be too hard but some of the other facets of the new standard get a little tricky-er.
Implementations of "wavetable" synthesis
Turns out I didn't really understand what a "wavetable" in those kind of synths is. I can't find a lot of information on this but from what I understood, a "wavetable" is not a collection of unrelated waveforms one after the other (like in my previous patch), but rather the collection of "intermediate" steps from waveform A to waveform B, therefore scanning the wavetable (aka, crossfading between one step and the next) has the effect of morphing between the shape of waveform A and waveform B. The morphing is already in the wavetable.
Here is how I've implemented it in a polyphonic context. You load a wavetable and then scan the various intermediate positions with the crossfade slider.
wavetable.synth.zip
(Requires bsaylor external for the envelope)
In the utilities folder there is a patch where you load waveform A and waveform B (both must be single-cycle waveforms of the exact same length) and it generates a wavetable, which can be saved to a .wav file.
Audio Ideas (AI) Collection (placeholder, currently only links)-effects, controllers, mmp, etc.
Audio Ideas (AI) Collection (placeholder) currently only links
per @LiamG 's kind suggestion I have begun the process of consolidating my abs and patches, etc. into a single location/zip file or for possible upload to github.
Just to get the ball/me rolling and scope the work I got the links for my shares into a single location to later be consolidated into the single AI Collection.
For now at least, please, bare with me (and the links below) as ideas I am more passionate about currently are demanding my attention. (Which funnily enough will probably also be included in the set, where ever they are shared.)
Thanks, for your patience and all you do for the Pure Data Family.
Sincerely,
Scott
abstract~
pushdelay-envelope-env-driven-delay-line-with-both-delay-time-and-feedback-dependent
numpad-abstraction-for-entry-of-large-numbers-via-click-instead-of-sliders-includes-basic-calculator
abs_delay_fbw-feedbackwards-lifo-last-in-first-out-delay
abs_sequences_by_formula-sequences-by-formula-abstraction-ex-collatz
abs_effects_router-60-effects-in-one-abstraction-router-from-diy2-stamp-album-my-abs
visualcontrolsurface-vsl-values-set-by-their-location-on-the-screen-req-ggee-shell
abs_4-8-14_way_toggle-pair-2-toggles-resulting-in-4-8-or-14-states
audioflow-delay-to-forward-backward-looper-using-speed-control
5-band-equalizer-with-bezier-controller-eq5_mey_w_bezier_sv-pd-updated-to-8-band-below
forward-backward-looper-orig-abs-from-residuum-whale-av
abs_rgb2hex-rgb-0-255-colors-to-hexadecimal-values
pseudo-12-string-effect-6-string-guitar-to-sound-like-a-12-string
jack_midi2pd_2sys_connector_sv-jack-midi_out-to-pd-sys_playback-switcher
abs_4to16pads_bin_conv_sv-convert-4-midi-pads-from-a-binary-value-to-a-decimal-for-rerouting
abs_automatedslider_sv-automated-control-changer-pd-and-mobmuplat-editor-versions
idea-for-effects-stack-ing-technique-control-mother
micin-_abs-abstraction-convert-signal-to-notein-ex-using-a-midi-synth-as-a-guitar-pedal
curve_abs-tri-way-curve-switch-to-change-control-values-in-either-linearly-convex-or-concave-manner
a-preset-control-abstraction-for-saving-parameters-presets-to-text-files
4-tap-delay-with-pitch-shifter-per-delay-line-adaptation-of-diy2-patches
patch~
extra
the-15-owl-faust-patches-compiled-as-32bit-linux-externals-attached
libpd
mmponboardeditortemplate-mmp-for-creation-of-mobmuplat-files-directly-on-the-handheld-android-only
3d-synth-webpd-tree-js-webgl_camera_cinematic-html-example
Off topic
Pándinus Who is up for Collaboration?: New Synth and add and fix new features on Iannix (Source code)(experienced) cash involved.
So, I really love Iannix and spend a lot of time on it, but a lot of work must be done, I´ve asked and asked the iannix people to help me out more but they dont have the time...
I need to fix the 3d and add color the way I want it from the iannix source code, among few other things, and ,make a program compatible with iannix to make sound sculptures.
Another of my projects is to make a physical synth, starting with pd, for multi-parametric music,
this involves continuums only: for the synth to have up to 30 voices: and to have as much parameters as possible via continuum (sliding parameters with as much resolution as possible) for each voice, the synth will be a drawing synth to be used with Iannix. Please, serious interests.
Pay for support.
Who is up for Collaboration?: New Synth and add and fix new features on Iannix (Source code)(experienced) cash involved.
So, I really love Iannix and spend a lot of time on it, but a lot of work must be done, I´ve asked and asked the iannix people to help me out more but they dont have the time...
I need to fix the 3d and add color the way I want it from the iannix source code, among few other things, and ,make a program compatible with iannix to make sound sculptures.
Another of my projects is to make a physical synth, starting with pd, for multi-parametric music,
this involves continuums only: for the synth to have up to 30 voices: and to have as much parameters as possible via continuum (sliding parameters with as much resolution as possible) for each voice, the synth will be a drawing synth to be used with Iannix. Please, serious interests.
Pay for support.