Log to linear conversion
@callummalcolm In my experience, "audio taper" pots and faders aren't mathematically logarithmic like Pd's are, which is why you can't make Pd's log sliders go to 0 without extra effort. So here's a solution that works in Pd, but what I'm saying is that it probably won't linearize a physical audio taper pot well. I made a table-driven transfer function to linearize the CC messages coming from the faders on my Yamaha 01V96i and the line is somewhat arbitrary, especially at the bottom of the travel. Let me know if you want to try that route and I'll tell you more. Capturing the physical curve is kinda messy.
log2lin.pd

Soundfont2 (SF2) Preset Reader
Here is way to get a bit more out of the soundfont generators using NRPN to address them. I've had this info for a very long time and can't seem to find where it came from.
You will need to change the path to your soundfont in [else/sfont~] and use the sf2-presets-reader.pd to create soundfont.txt if you want to use choose-sf2.pd.
Probably not that useful, just a bit of fun
Edit: I found the source of this info in the soundfont 2.04 spec
sf2-toy.zip
Edit: I updated the above zip with some missing patches 24th June 2025

Note overlap when using poly and clone objects
Hello patchers! I have been watching a tutorial series by Really Useful Plugins where they recreate yamaha dx7 synth and repeated after them. Finishing, i ran into a problem related to polyphony.
So, the problem is when i press a note it plays all 8 voices at the same time, when i play other note, it keeps playing previous ones with the current one. This may happen due to ADSR, but i checked everything several times and still cannot solve it. I admit that the solution may be pretty obvious, but i am new to this sorry. I checked manuals and tutorials, but they weren't very useful.
Here is the zip with the patch.
dx7.zip
- Here are poly and clone themselves

- Here is dx7-poly object, which is cloned

- On previous photo the $0-oscmsgs is sent, here is where it is delivered

- ADSR object which is stolen from pd documentation examples

I hope very much for your help! thx
anyone succeeded using Pd with aggregate audio device in mac?
@porres Yes, on MacOS 14.4.1 using Pd 0.54.1, I created an aggregate device using the built in speakers and my Yamaha 01V96i. [dac~] inputs 1 and 2 output to the built in speakers, and inputs 3 and 4 output to the first two USB sources on my mixer. I've never tried on a Windows machine though.
PS Oh but to get inputs 1 and 2 working I had to fiddle with the volume control a little, not sure why
PPS And to be clear I used Audio MIDI Setup in MacOS to create the aggregate device, not the "Use Multiple Devices" option in Pd (which may not be an option on a Mac, also not sure)
Camomile VST3-generated CC messages altered on Mac M2
@jameslo I have finally found the most useful info for midi to/from Yamaha desks...... I don't usually lose things so I didn't give up....
It was the result of a lot of testing.
Yamaha desk input + output midi messages.pdf
David.

Camomile VST3-generated CC messages altered on Mac M2
@jameslo I understood, but with so many variables I thought that you might not solve the cc problem.... and maybe an NRPN would punch through.
Diving down through your link they are saying that VST2 cannot be used for Camomile (licence) and Steinberg have dropped CC for VST3 completely..... so maybe the question is why does it work for you on windows? The OP with the issue was using windows!
David.
Camomile VST3-generated CC messages altered on Mac M2
@jameslo So my memory fades..... sysex will not pass through "Studio Manager"...... it reads it but will not send it on to the desk.
The desk will not send NRPN when it receives SYSEX.
OK..... the parameter change sysex messages are 01v96 specific...... see "01V96 Parameter Change List.xls".... inside the folder "01v96_midiptcl100".
Other desks respond to the same messages if the header is changed.... see the begining of my first ever post on a forum for details..... "Totally Remote 01v96 - REV1.5.doc"
The complete midi spec is also inside the "01v96_midiptcl100" folder.
The NRPN folder contains all the NRPN addresses for the desk, in Decimal.
I remember that you have to select NRPN in the 01v96 midi setup to use it.
NRPN is faster than 14-bit sysex...... most of the desk faders use values in 10-bit.... 0-1023.
but some controls are 14-bit and some 16-bit.
The sysex (.syx) file contains a mix of messages for a BCF2000 to control parts of channels 1-8 on the 01v96...... including NRPN for on/off....... explanation of my choices for format in "Remote any Yamaha Digital desk"
01v96.zip
David.
P.S. I went from analogue mixers on-stage for the musicians, to a Midi setup as above...... nearly having a stroke when I looked at "Mackie HUI"....
... and then I found Pd.
Best day ever,
Here is the sysex format again just in case......

Camomile VST3-generated CC messages altered on Mac M2
@jameslo I did a lot of midi research (windows and Mac) for all Yamaha desks many years ago. It has dissapeared from the forum I posted on but I still have it on a NAS and I will trawl it this evening if I have time.
The desks will take NRPN for all controls..... but maybe only through the editor.... I can't remember....
David.
Receiving 14-bit MIDI CC messages.
@alexandros I cannot find any mention of 14-bit or nrpn for your Novation.
There is a programmer you can download from them..... but still no mention.
It could be that the Logic preset will give you 14-bit on the encoders (or one of the other presets?) in which case maybe you could hack something together from that.
David.
Camomile VST3-generated CC messages altered on Mac M2
I've written a VST3 plug-in using Camomile+Pd to output groups of control change messages in response to OSC commands. The CC messages are used to turn channels of a Yamaha 01V96i mixer on and off.
On Windows, everything works fine, but on my M2 Mac I'm having strange issues. The plugin receives OSC fine but the MIDI CC it generates is zeroed-out, e.g. when I ask it to send B0 48 7F, the mixer receives B0 00 00. I can run the Pd patch standalone on the Mac and it works fine.
The AU version of my plugin doesn't output MIDI at all and I get an OSC error message in the Camomile console. I tested a different CC generating Pd/Camomile/VST3 plugin on my Mac and its CC messages are also being zeroed out. In contrast, I've written two other plugins that work fine on the Mac: one is a side-chained envelope follower with adjustable release time and the other generates 5 channels of audio in response to OSC messages.
I saw a somewhat old discussion on the Camomile Github site referring to some issues with MIDI CC under VST3 (https://github.com/pierreguillot/Camomile/discussions/260), but I don't recall having issues like this on my old Mac with my CC-generating plugins hosted in REAPER circa late 2020, and I don't see any similar complaints in discussions about PlugData, which I believe uses Camomile under the hood. In case the issue was REAPER, I tried to load the plug-in to Audacity, but Audacity complains that the plugin is incompatible.
I think there's probably a better way to achieve my end goal but wanted to check in with Pd brain trust because I'm sad to think that I've lost this capability. What would you try next?
I'm using REAPER 6.81 as the VST host, Camomile 1.0.7, Pd 0.54.0, and MacOS 12.6.7 on last year's M2 MacBook Pro.

