View Issue Details

IDCategoryLast Update
0007536bugs2020-04-19 16:53
ReporteruniusAssigned To 
Reproducibilityalways 
Status assignedResolutionopen 
Platformx86-64OSLinuxOS Version4.14.11
Product Version5.12 
Fixed in Version 
Summary0007536: Patch Selector not worked
Description"Patch Selector" not adequately worked if (as I understand it) .midnam file uses PatchMIDICommands
Steps To Reproducetry: Yamaha_PSR-S900.midnam
Additional InformationThis important if we use patch classification (in .midnam) not by bank, but by patch group (for example)
TagsNo tags attached.

Activities

x42

2020-04-15 02:03

administrator   ~0021353

Is this still an issue with Ardour 6.0-pre1?

unius

2020-04-15 07:38

reporter   ~0021357

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 ...

shot.png (95,383 bytes)
shot.png (95,383 bytes)

x42

2020-04-19 03:24

administrator   ~0021385

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.

unius

2020-04-19 12:52

reporter   ~0021389

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

E_mu_Systems_ProteusFX.midnam
Ensoniq_ZR.midnam
Korg_N1_N5.midnam
Korg_NS5R.midnam
Kurzweil_K2000.midnam
Kurzweil_K2000R.midnam
Kurzweil_K2500X.midnam
Kurzweil_PC2_PC2r_w_Orch.midnam
Roland_Boss_DS_330.midnam
Roland_FantomXR.midnam
Roland_JV_30.midnam
Roland_JV_35_50.midnam
Roland_JV_90.midnam
Roland_JX_305.midnam
Roland_MC_303.midnam
Roland_M_GS64.midnam
Roland_PMA_5.midnam
Roland_RD_700.midnam
Roland_RS_5_9.midnam
Roland_SC_50.midnam
Roland_SC_55.midnam
Roland_SC_55mkII.midnam
Roland_SC_88.midnam
Roland_SC_88_Pro.midnam
Roland_XP_10.midnam
Roland_XP_80.midnam
Roland_XV_5050.midnam
Yamaha_CS1X.midnam
Yamaha_CS6R_x.midnam
Yamaha_CVP_103_105.midnam
Yamaha_CVP_107_109_700.midnam
Yamaha_MU100R.midnam
Yamaha_MU50.midnam
Yamaha_MU80.midnam
Yamaha_MU90R.midnam
Yamaha_NP-V80.midnam
Yamaha_PSR_275.midnam
Yamaha_PSR_530_630_730.midnam
Yamaha_PSR_8000.midnam
Yamaha_PSR_9000.midnam
Yamaha_PSR_DJX_II.midnam
Yamaha_PSR_DJX.midnam
Yamaha_PSR_S900.midnam
Yamaha_QS300.midnam
Yamaha_QY70.midnam
Yamaha_S30_80.midnam
Yamaha_So8.midnam
Yamaha_TG100.midnam
Yamaha_Tyros.midnam

montage-patches.png (65,961 bytes)
montage-patches.png (65,961 bytes)
montage-categories-hw.png (45,016 bytes)
montage-categories-hw.png (45,016 bytes)

unius

2020-04-19 12:52

reporter   ~0021390

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)

x42

2020-04-19 12:58

administrator   ~0021391

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:

pc_edit.png (16,143 bytes)
pc_edit.png (16,143 bytes)

x42

2020-04-19 13:00

administrator   ~0021392

Exposing this sparse distribution in the Patch Selector isn't great:

psel.png (109,609 bytes)
psel.png (109,609 bytes)

unius

2020-04-19 13:21

reporter   ~0021394

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)

unius

2020-04-19 13:30

reporter   ~0021395

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" ?

unius

2020-04-19 14:13

reporter   ~0021399

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.

x42

2020-04-19 15:00

administrator   ~0021400

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.

unius

2020-04-19 16:53

reporter   ~0021401

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)

Issue History

Date Modified Username Field Change
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