Re: [LAD] MIDI program change

2021-09-06 Thread Len Ovens

On Sat, 4 Sep 2021, Will Godfrey wrote:


the worst I've come across in recent times would reset just about everything
each time you stop and restart the transport!


I think I misunderstood what you were saying.

I do get the idea that really bank and program are not really the same 
thing. A bank change for many old synths was a physical cart change. My 
1989 midi book (yes paper) does not even list a bank command. It does list 
the CCs above that though. The IMA defined CCs at the time were 
1,2,4,5,6,7,64,65,66,67,96,97.



--
Len Ovens
www.ovenwerks.net
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] MIDI program change

2021-09-04 Thread Will Godfrey
I take your point about MIDI 2 being able to request info, but for the rest it's
ignoring the musician's preferred workflow - and not even allowing them to
change the behaviour.

For me, the earliest sequencer I used (on the Acorn Archimedes no less) got this
right - did exactly what you told it and nothing else. I'll not name names, but
the worst I've come across in recent times would reset just about everything
each time you stop and restart the transport!

I still use a Yamaha for some stuff, and I've always kept it in multi mode. It
remembers the full setup over power cycles, so it's switch on and go. If I
change project it's a one button change of selected multi, so all bank and
program information is set correctly at the start.

On the software side it's a state file, and in a long project I might make
program and bank changes while running, so I don't need a DAW then resetting
all of these to what it considers are the 'right' ones. The argument about
looping is a non-starter. Firstly it's extremely rare for me to even think
about this, so why am I constrained by what some others do? If I did want it,
then I've got enough going on upstairs to plonk the necessary bits in where
needed.

I'm sorry if this is coming over as a rant, but it seems to me that even in
music, free expression is becoming less and less free, and the only people who
can do anything about it are those of us producing the code!

-- 
Will J Godfrey
https://willgodfrey.bandcamp.com/
http://yoshimi.github.io
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] MIDI program change

2021-09-04 Thread Will Godfrey
On Fri, 3 Sep 2021 16:18:35 -0600
Caelia Chapin  wrote:

>On Fri, Sep 3, 2021 at 12:37 PM Will Godfrey 
>wrote:
>
>>
>> I've been trying to get hold of information on MIDI-2.
>>  
>
>Trying? Do you know you can register for an account at midi.org and
>download the complete specs? I've done it - it's free, no special
>qualifications required.

Somehow I seemed to have missed that. Thanks for the info.

-- 
Will J Godfrey
https://willgodfrey.bandcamp.com/
http://yoshimi.github.io
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] MIDI program change

2021-09-03 Thread Len Ovens

On Fri, 3 Sep 2021, Will Godfrey wrote:


I've been trying to get hold of information on MIDI-2. So far I've only got
overviews and limited data format info. But one thing I saw today was
definitely a YES! moment.

For years, I've been battling against DAWs and sequencers that insist on
generating bank messages when none were sent, and then almost always set it to
Bank MSB=LSB=0.


It is somewhat spelled out for (n)rpn... sending any one byte out of the 
two (MSB LSB) should just affect that one part of the value. But then they 
go and say: best practice is to always send a full four event message. So 
assume the same with program/bank. However, consider that from the start 
of segment of recorded material the bank and program values have to be 
initialized to something. So 0/0 it would be. So the controller (keyboard 
or whatever) sends a program change when asked and that gets recorded to 
the segment. Now on playback, the program message is sent but for best 
practice the bank is also sent.



The MIDI-1 spec was never 100% clear on that, but the MIDI-2
one says exactly what I've maintained all along. When sending a program change,
bank change is optional! It is perfectly valid to want to change instrument on
the same bank, and indeed all the hardware synths I've ever owned work in this
way.


Really this does not help at all. Optional just means the DAW/Sequencer 
may or may not send the bank at the same time as program. There is still 
the problem that if the DAW chooses to optionally send the bank and 
program, the bank will be whatever the default value is unless it is set 
otherwise. Really, best practice is that the musician sets both bank and 
program as the first events in a segment.


I can't think of a better way even though my "master keyboard", an old 
DX7, only sends on channel 0 (or 1) and only seems to understand program 
change and no banks. Assume for a minutr that the DAW/Sequencer does not 
send a bank unless there is a bank event recorded. The musician moves on 
to another project and sets the synth bank for that. Then when going back 
to work on the first project the bank is still miss-set. Better for the 
musician to make sure both bank and program are properly set. It is great 
that MIDI allows products from various manufactures to operate together, 
not so great that some controllers always send bank and others do not 
because it is optional.


What MIDI 2.0 does offer, is ability for the DAW to find out from the 
synth information like bank that may be useful. MIDI 2.0 is bidirectional 
not only physically but as a protocol as well.



--
Len Ovens
www.ovenwerks.net
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] MIDI program change

2021-09-03 Thread Caelia Chapin
On Fri, Sep 3, 2021 at 12:37 PM Will Godfrey 
wrote:

>
> I've been trying to get hold of information on MIDI-2.
>

Trying? Do you know you can register for an account at midi.org and
download the complete specs? I've done it - it's free, no special
qualifications required.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] MIDI program change

2021-09-03 Thread Will Godfrey

I've been trying to get hold of information on MIDI-2. So far I've only got
overviews and limited data format info. But one thing I saw today was
definitely a YES! moment.

For years, I've been battling against DAWs and sequencers that insist on
generating bank messages when none were sent, and then almost always set it to
Bank MSB=LSB=0. The MIDI-1 spec was never 100% clear on that, but the MIDI-2
one says exactly what I've maintained all along. When sending a program change,
bank change is optional! It is perfectly valid to want to change instrument on
the same bank, and indeed all the hardware synths I've ever owned work in this
way.

-- 
Will J Godfrey
https://willgodfrey.bandcamp.com/
http://yoshimi.github.io
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev