Hello everybody,
I'm new on the forum, and a newbe with pd...
I developp some tools on pd in order to control a midi pipe organ I built. These tools are organised like a modular synthesizer. There are generators, and filters, LFO's to control different parameters.
I would like to create a new tool, a very simple one, just a pitchbend. A pitchbend you could use in realtime; for example you play a chord on a midi keyboard, and then yo move the pitchbend of the keyboard, and it modulates the chord.
It seems to be easy but I'm totally unable to think about how to manage the ghost notes. I tried to find on the internet something which could look like, but I didn't find; it's strange isn't it? it seems to be very basic.
Does anybody tried this? or know a patch which does the job?
thank you very much.
Léo
-
MIDI pitchbend
-
@leomaurel There are 2 objects for midi pitch bend in Pd ...... [bendin] and [bendout]
Right-click the object and select "help" for more info.
[bendin] has some more help here........ https://forum.pdpatchrepo.info/topic/11667/how-to-map-pitch-bend-from-linnstrument
For [bendout] ghost notes I think it sends a set of control parameters that you can reset to 0 (if you wish) as you send the note off message through [midiout]........ but I don't use midi for music or synths so.....?
If you have a copy of Pd extended then this is a major patch that will do anything you want...... http://industriecreative.github.io/Harmonync/
It looks like it will still work in current versions of Pd if you install some external libraries.
Search the forum for Deken to find out how.
A Google search for "pdpatchrepo deken" will usually work better than the search tool on the forum.
David. -
@whale-av , thanks for your answers, but I want to pitch midi datas, not sound. I create and transform midi dats in Pd, and then I send them in my midi pipe organ, with pipes, electrovalves, blower, and that instrument produces the sound.
If I understood, [bendin] and [bendout] are just specific midi controllers isnt'it?
Here is my test which doesn't work of a midi pitchbendpitchbend_problem2.pd
It needs this object to workmap.pdTo understand a little bit more the idea of these midi tools, here are they. Inside there is a tutorial, but sorry it's in french...
objets_modulaires_midi_17_09_2020.zipAnd also a picture of the midi pipe organ
And a link to a video when it plays:
-
Is this your instrument: http://www.violonaroue.fr/Orguanous ?
It all looks very interesting! Can you give us a bit more context - are you working with a Pure Data system and hardware that someone else developed?
I had a look at your 'problem' patch and from what I can see you are using pitchbend there to hack straight into the midi note generation, so in a way it may be arriving at the wrong point. Most synths interpret the pitchbend message as a frequency modulation acting on notes that have already been set. It really depends on the interface between your computer and this particular physical instrument, and how that handles midi messages. Perhaps it has a way of interpreting the pitchbend midi data.Online Pure Data Jams: NetPD https://www.netpd.org/ NetPD Discord https://discord.gg/RYbq43DqfX
-
I see a couple of things within the tuto patch
- everything goes to a noteout - this means that any frequency information is going to the instrument via a midi note on message.
- it mentions the idea of transposing with the pitchbend which is a slightly different application than its usual - would you like it to simply set a degree of transposition (notes being reset up or down a number of semitones) or actually apply a 'bend' or glissando to the notes?
Online Pure Data Jams: NetPD https://www.netpd.org/ NetPD Discord https://discord.gg/RYbq43DqfX
-
@leomaurel It looks great. I didn't realise that it was a real tuned pipe wind organ.
So the instrument does receive midi.
But only midi note.
That makes sense to me. I don't see how you can pitch bend a tuned pipe unless the pipe length can be changed by a motorised plug..... and the reed retuned correctly at the same time (the chance that the whole instrument would still be in tune afterwards being practically nil)..
Unless it has such a mechanism it would make no sense that it would receive midi pitch bend.
Your midi from [noteout] can only control the air pressure to each pipe as far as I can see.
French is my second language. I don't see the tutorial in the zip file, and there are some patches missing. I will search for more information but to me the impossibility of changing the pitch of a tuned pipe will be a deal breaker.
But @beem makes an interesting point about modulation. Again, more reading to understand whether the valves will be able to react fast enough, and whether the nodes in the pipes would actually change. I don't think they would. How would the reed react to modulated pressure? Etc.
The reed needs to be stable to resonate with the pipe..... pressure / air flow within a precise range.
The pipes are a different diameter as well as a different length for good physical reasons.
They are not designed for pitch bending...... quite the opposite.
So as @beem says again........ you are looking for transposition and not pitch bend.
David. -
@whale-av the tutorial file in the zip is named objets_modulaires_midi_tuto.pd
I wonder if for some types of pipe instrument there could be a sliding element that would produce a pitch bend... anyway, we'll see what Léo says
Online Pure Data Jams: NetPD https://www.netpd.org/ NetPD Discord https://discord.gg/RYbq43DqfX
-
ouahou thanks for your enthousiasm!
@beem, yes violonaroue.fr is my website.
We are different users of the Orguanous, but personnaly I control it with Pd Vanilla. I send only MIDI notes on/off to a MIDI interface and then, the midi signal goes to each module of the Organous, where there is a MIDI decoder from Orgautomatech, which transform MIDI notes in current to open the corresponding electrovalve. The MIDI decoder understand only MIDI notes ON/OFF.
I developped the Pd patches myself, but sometimes I use parts of what I can find on the internet (like the sequencer for example).
And yes, I understand, "pitchbend" is not the right word! I mean TRANSPOSE in realtime! without ghost notes!There are also many different ways to bend the sound of the pipes, but not like this of course. Just by pushing with your feet on the below, that's very very interesting. I also work on proportionnal electrovalves that can change airflow to the pipe, You can also play with your hands near the mouth of the pipes, that make the sound lower.
-
if you are holding notes and you bend the pitch upwards, do you want the held notes to switch off and on again as they scan upwards chromatically? or would it be better for the pitch bend message to only transpose when a note is first played?
i think in either case, you will need to store the on/off states and transposition value of all notes in a table so that the transposition doesn't cause note off events to send to the wrong note number and cause notes to hang.
you could have a table with 128 values. when a normal note on comes through, the value of that index changes to 1, then to 0 when the note is released. you could also store transpositions in this table, 1 = no transposition, 2 = +1 semitone, -2 = -1 semitone, etc.
if you want to transpose held notes you would need to scan and update this table multiple times during a pitch bend. it's possible that would be limiting.
-
@LarsXI,
thanks! I would like that the held notes swhitch off and on again as they scan upwards chromatically.
I was thinking about a table to store the midi datas (notes and velocity), but if someone could help me to design quicly an idea with a table, that would be great for me, because I quite never used this object...Why do you write that it would be limiting? because of to many generated datas?
-
@leomaurel the topic of transposing has probably come up quite a few times. here's one set of solutions: https://forum.pdpatchrepo.info/topic/206/transposing-midi-notes-with-controller-and-note-si
Online Pure Data Jams: NetPD https://www.netpd.org/ NetPD Discord https://discord.gg/RYbq43DqfX
-
wonderful @beem for the link of the topic on transposing,
and like this, I'm discovering the "clone" object, that's a great new thing for me!So I did this:
transpositeur2.pd
jay_transpose_01.pdThis one works only when new keys are pressed after modulating the transpose parameter; that would be great to have an option where the modulation is processed each time the transpose parameter is modulated...