View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0007536||ardour||bugs||public||2018-01-05 15:52||2020-04-19 16:53|
|Summary||0007536: Patch Selector not worked|
|Description||"Patch Selector" not adequately worked if (as I understand it) .midnam file uses PatchMIDICommands|
|Steps To Reproduce||try: Yamaha_PSR-S900.midnam|
|Additional Information||This important if we use patch classification (in .midnam) not by bank, but by patch group (for example)|
|Tags||No tags attached.|
||Is this still an issue with Ardour 6.0-pre1?|
Yes, in 6.0.pre1.347 (from git) this issue still exists.
Steps To Reproduce:
1. create MIDI track
2. select "Yamaha/PSR-S9000" as "External MIDI Device"
3. open "Patch Selector"
4. it's empty
5. create MIDI region and "Insert Patch Change" into it
6. here we see the hierarchy of patches, but not in the form of Bank/Patch, but in the form of Category/Patch
Unfortunately this problem has serious consequences.
If we use this kind of midnam, it is not possible to use the "Patch Selector" and the only way to set patches is through a "Insert Patch Change". This does not allow you to use Templates with all the further difficulties ...
I see the issue is with this specific MIDNAM. The Patches are grouped by Instrument, not by Bank. So individual patches can be listed, but a list by channel/bank comes up empty.
Most other midnam files do not have this issue. e.g. Yamaha PSR 540. It seems that only the ones that were copied from FreeMIDI and adapted by Harrison have this issue.
It's currently unclear if the midnam file should be updated, or if we can infer a channel/bank mapping from those files.
Representing patches in the form of MIDI banks was good from a technical point of view, and in the good old synthesizers, when there were not so many patches.
But modern hardware synthesizers have thousands of patches.
And despite the fact that they are technically available via MIDI banks, it is almost impossible to use this mechanism to find the desired patch. In practice, an additional classification mechanism is introduced, which may have different names from different vendors (by instrument, category, ...).
For example, the latest top synthesizer from Yamaha - MONTAGE. MONTAGE OS 3.00 contains 2707 patches (Yamaha calls them as Performances). They are stored in MIDI banks in a semi-random way that cannot be understood or remembered. (look at attached montage-patches.png). But for real use, Yamaha introduced a Category/Subcategory/Patch mechanism (montage-categories-hw.png).
Together with additional restriction elements (Banks (not MIDI), Favorites, ...) it is very convenient to use.
I have no idea how to make a midnam (which can be used in real life) for MONTAGE using only the MIDI Bank/Patch mechanism.
The situation is similar with Roland, ...
In Ardour is actually more midnam's that use the Category/Path mechanism. Not all use only it, some are a mix with the classic Bank/Patch.
grep -l PatchMIDICommands *.midnam
I made a midnam for OS 2.50 (Yamaha_MONTAGE.zip). It works great via "Patch Change", but not in "Patch Selector".
Yamaha_MONTAGE.zip (53,873 bytes)
OK some further investigation revealed.
The PSR-9000 PatchBanks do not correspond to a single MIDI Bank. e.g. the "Piano Bank" has
- "GrandPno" Bank: 112, ProgramChange: 1 - "Harpsichord" Bank: 112, ProgramChange: 3 - "Grand Harpsi" Bank: 113, ProgramChange: 7
So they cannot be collected on the same page, in the Patch-Selector. So far only the context-menu and the Patch-Editor show them, using dropdowns:
||Exposing this sparse distribution in the Patch Selector isn't great:|
||There is another, I think even more important, problem here. Length of the patch name. It can be decent. Here's an example for the Roland INTEGRA-7: "ExSN3 SNA0001 Warm Cutting". I don't know how to shorten it (all elements are significant)|
||HW vendors usually offer several methods for accessing patches. Maybe you should leave the existing "Patch Selector" mechanism (possibly modified), but add something similar in functionality to " Patch Change" ?|
IMHO, a good solution would be to add 3 selectors after the "External MIDI Device" selectors: "Channel, "Category" and "Patch" " with corresponding pop-up menus to the list of channels (1-16), categories for the selected MIDI device and channel, and to the list of patches for the selected category.
The mouse scroll wheel should switch items from the list.
After these selectors you can display the corresponding Bank (MSB/LSB) and patch numbers as text.
Some changes are in 6.0-rc1-5-g045200ba35. The Patch selector now lists Programs of Performances/Montages. Other changes, if any, will have to wait until after 6.0.
There may be some channel-selector in the track header, mainly useful to make it easier to select the channel used when drawing notes -- except for MPE.
I'm unsure if there will be a per-channel patch/program selector there, though. These days this is commonly done in a synth's pluging GUI.
I expect you use the Yamaha as master-keyboard, too. So using its patch-selector is also more convenient, and the main use-case in Ardour is to display the correct patch on the timeline and edit it there.
Ufff ... now I can live ;)
But:) I think if the patch names in the "Patch Selector" are aligned to the left, the readability will be higher.
Since MONTAGE does not transmit the selected patch, and I also use IT to manage other external modules that do not have an external keyboard, the only way to save the selected patches in the Ardour Session is to use some Ardour mechanisms.
Now there are 2 of them.
1. "Patch Change" works fine, but it can't be used with templates. It is also not very convenient for each track to perform a bunch of actions with switching to "Draw Mode", drawing an empty Region, switching to "Grab Mode", inserting "Patch Change", switching to "Edit Mode", and actually choosing a Patch. Of course, we would like to simplify this.
2. "Patch Selector" NOW it works, but it is not very convenient (in its current form) for Category/Path mode.
All concerns only the case with external MIDI equipment. If "External MIDI Device" is not selected, then everything else can be omitted (Channel, Category, Patch selectors are not shown)
|2018-01-05 15:52||unius||New Issue|
|2020-04-15 02:03||x42||Assigned To||=> x42|
|2020-04-15 02:03||x42||Status||new => feedback|
|2020-04-15 02:03||x42||Note Added: 0021353|
|2020-04-15 07:38||unius||File Added: shot.png|
|2020-04-15 07:38||unius||Note Added: 0021357|
|2020-04-15 07:38||unius||Status||feedback => assigned|
|2020-04-19 03:24||x42||Note Added: 0021385|
|2020-04-19 12:52||unius||File Added: montage-patches.png|
|2020-04-19 12:52||unius||File Added: montage-categories-hw.png|
|2020-04-19 12:52||unius||Note Added: 0021389|
|2020-04-19 12:52||unius||File Added: Yamaha_MONTAGE.zip|
|2020-04-19 12:52||unius||Note Added: 0021390|
|2020-04-19 12:58||x42||File Added: pc_edit.png|
|2020-04-19 12:58||x42||Note Added: 0021391|
|2020-04-19 13:00||x42||File Added: psel.png|
|2020-04-19 13:00||x42||Note Added: 0021392|
|2020-04-19 13:21||unius||Note Added: 0021394|
|2020-04-19 13:30||unius||Note Added: 0021395|
|2020-04-19 14:13||unius||Note Added: 0021399|
|2020-04-19 15:00||x42||Note Added: 0021400|
|2020-04-19 15:00||x42||Assigned To||x42 =>|
|2020-04-19 16:53||unius||Note Added: 0021401|