Discussion:
Where to go with midi question, this group does not seem frequently visited?
(too old to reply)
j***@gmail.com
2018-05-24 21:16:55 UTC
Permalink
Well i have a question or two, rather many actually :)

1. I program a hobby project in javascript, and i notice i manage to trigger notes from keyboard including drums mid channel 10 both on hardware and software *wavetable*, but from my mididrums i am unable to trigger the notes?

And the in devices "synth and drums" work both perfectly well using miditrix a small midithru mixer like hubi's.

So either there is some signal sent from synths? Or the midi note on/off simply to short to trigger the devices, but they work with DAWS`and sequenser i tried.

2. Do MIDI software send some sort of initiate signal to software GM synths because GM soft synths "midimapper", is quiet when i play to them unless i start a software like mediaplayer, then they seem to startup?

What is the signal to send, for the Software GM to start listen on inport?
Pete
2018-05-25 05:46:54 UTC
Permalink
Heh... Yep, there doesn't seem to be much traffic here these days.
I think there are several of us who drop in not too infrequently,
but we -- I at least -- never seem to have anything interesting to say!
Post by j***@gmail.com
Well i have a question or two, rather many actually :)
1. I program a hobby project in javascript, and i notice i manage to
trigger notes from keyboard including drums mid channel 10 both on
hardware and software *wavetable*, but from my mididrums i am unable to
trigger the notes?
I'm finding it hard to get a picture of what you're doing.
Are you using JS to receive MIDI events, and doing something with them?
What is actually playing the notes/drums? What OS are you running on?
Windows? (If so, I probably can't be much help -- I don't use it. (:-))
If you can layout a verbal 'map' of your sources and processing, it might
help.

The drum events being too short is a possibility. Usually hardware that
sends events to a drum channel makes sure the note-off doesn't follow
too quickly, but I've noticed that in other situations I can generate
on/off pairs that are too short for (in my case) fluidsynth to respond to.
Post by j***@gmail.com
2. Do MIDI software send some sort of initiate signal to software GM
synths because GM soft synths "midimapper", is quiet when i play to them
unless i start a software like mediaplayer, then they seem to startup?
I don't know of any 'initiate' signal that a synth should need. It must
be that the path is not set up properly or something. (I suppose it's possible
that the synth vollume is zero initially, and mediaplayer sends a volume
control event when it starts, but I've never encountered that.)

-- Pete --
j***@gmail.com
2018-05-25 21:07:14 UTC
Permalink
Post by Pete
Heh... Yep, there doesn't seem to be much traffic here these days.
I think there are several of us who drop in not too infrequently,
but we -- I at least -- never seem to have anything interesting to say!
Post by j***@gmail.com
Well i have a question or two, rather many actually :)
1. I program a hobby project in javascript, and i notice i manage to
trigger notes from keyboard including drums mid channel 10 both on
hardware and software *wavetable*, but from my mididrums i am unable to
trigger the notes?
I'm finding it hard to get a picture of what you're doing.
Are you using JS to receive MIDI events, and doing something with them?
What is actually playing the notes/drums? What OS are you running on?
Windows? (If so, I probably can't be much help -- I don't use it. (:-))
If you can layout a verbal 'map' of your sources and processing, it might
help.
The drum events being too short is a possibility. Usually hardware that
sends events to a drum channel makes sure the note-off doesn't follow
too quickly, but I've noticed that in other situations I can generate
on/off pairs that are too short for (in my case) fluidsynth to respond to.
Post by j***@gmail.com
2. Do MIDI software send some sort of initiate signal to software GM
synths because GM soft synths "midimapper", is quiet when i play to them
unless i start a software like mediaplayer, then they seem to startup?
I don't know of any 'initiate' signal that a synth should need. It must
be that the path is not set up properly or something. (I suppose it's possible
that the synth vollume is zero initially, and mediaplayer sends a volume
control event when it starts, but I've never encountered that.)
-- Pete --
Well it is just the softsynths, "well actually the synths that conform to micorsoft midimapper", i use XP on my old music computer. Hardware and wavetable synths no problem, but synths in the midimapper category. There is not that many but like SYXG 50 and virtual soundcanvas. Of course those things have lot of latency it is not VSTI's but for people on the net there is basicly on windows 10 just free Virtual midi synth like coolsoft to try out. And they do not respond for some reason.

Personally i think it was a bad choice of Microsoft to drop and remove midimapper they should explored it and made a module that take VSTI instruments, an asio driven midimapper. That way software GM instruments would still be developed today. I do not mind they support XG also.

A general sound library/standard is not a bad thing, i do like GM synths and GM wavetables, and i do like software synths too.

But the GM standard should not been abandoned it should be developed to next stage.
j***@gmail.com
2018-05-25 21:10:03 UTC
Permalink
Post by j***@gmail.com
Post by Pete
Heh... Yep, there doesn't seem to be much traffic here these days.
I think there are several of us who drop in not too infrequently,
but we -- I at least -- never seem to have anything interesting to say!
Post by j***@gmail.com
Well i have a question or two, rather many actually :)
1. I program a hobby project in javascript, and i notice i manage to
trigger notes from keyboard including drums mid channel 10 both on
hardware and software *wavetable*, but from my mididrums i am unable to
trigger the notes?
I'm finding it hard to get a picture of what you're doing.
Are you using JS to receive MIDI events, and doing something with them?
What is actually playing the notes/drums? What OS are you running on?
Windows? (If so, I probably can't be much help -- I don't use it. (:-))
If you can layout a verbal 'map' of your sources and processing, it might
help.
The drum events being too short is a possibility. Usually hardware that
sends events to a drum channel makes sure the note-off doesn't follow
too quickly, but I've noticed that in other situations I can generate
on/off pairs that are too short for (in my case) fluidsynth to respond to.
Post by j***@gmail.com
2. Do MIDI software send some sort of initiate signal to software GM
synths because GM soft synths "midimapper", is quiet when i play to them
unless i start a software like mediaplayer, then they seem to startup?
I don't know of any 'initiate' signal that a synth should need. It must
be that the path is not set up properly or something. (I suppose it's possible
that the synth vollume is zero initially, and mediaplayer sends a volume
control event when it starts, but I've never encountered that.)
-- Pete --
Well it is just the softsynths, "well actually the synths that conform to micorsoft midimapper", i use XP on my old music computer. Hardware and wavetable synths no problem, but synths in the midimapper category. There is not that many but like SYXG 50 and virtual soundcanvas. Of course those things have lot of latency it is not VSTI's but for people on the net there is basicly on windows 10 just free Virtual midi synth like coolsoft to try out. And they do not respond for some reason.
Personally i think it was a bad choice of Microsoft to drop and remove midimapper they should explored it and made a module that take VSTI instruments, an asio driven midimapper. That way software GM instruments would still be developed today. I do not mind they support XG also.
A general sound library/standard is not a bad thing, i do like GM synths and GM wavetables, and i do like software synths too.
But the GM standard should not been abandoned it should be developed to next stage.
I can see the reason though diversity and specialisation gives bigger bucks ;)
j***@gmail.com
2018-05-25 21:35:10 UTC
Permalink
Post by j***@gmail.com
Post by j***@gmail.com
Post by Pete
Heh... Yep, there doesn't seem to be much traffic here these days.
I think there are several of us who drop in not too infrequently,
but we -- I at least -- never seem to have anything interesting to say!
Post by j***@gmail.com
Well i have a question or two, rather many actually :)
1. I program a hobby project in javascript, and i notice i manage to
trigger notes from keyboard including drums mid channel 10 both on
hardware and software *wavetable*, but from my mididrums i am unable to
trigger the notes?
I'm finding it hard to get a picture of what you're doing.
Are you using JS to receive MIDI events, and doing something with them?
What is actually playing the notes/drums? What OS are you running on?
Windows? (If so, I probably can't be much help -- I don't use it. (:-))
If you can layout a verbal 'map' of your sources and processing, it might
help.
The drum events being too short is a possibility. Usually hardware that
sends events to a drum channel makes sure the note-off doesn't follow
too quickly, but I've noticed that in other situations I can generate
on/off pairs that are too short for (in my case) fluidsynth to respond to.
Post by j***@gmail.com
2. Do MIDI software send some sort of initiate signal to software GM
synths because GM soft synths "midimapper", is quiet when i play to them
unless i start a software like mediaplayer, then they seem to startup?
I don't know of any 'initiate' signal that a synth should need. It must
be that the path is not set up properly or something. (I suppose it's possible
that the synth vollume is zero initially, and mediaplayer sends a volume
control event when it starts, but I've never encountered that.)
-- Pete --
Well it is just the softsynths, "well actually the synths that conform to micorsoft midimapper", i use XP on my old music computer. Hardware and wavetable synths no problem, but synths in the midimapper category. There is not that many but like SYXG 50 and virtual soundcanvas. Of course those things have lot of latency it is not VSTI's but for people on the net there is basicly on windows 10 just free Virtual midi synth like coolsoft to try out. And they do not respond for some reason.
Personally i think it was a bad choice of Microsoft to drop and remove midimapper they should explored it and made a module that take VSTI instruments, an asio driven midimapper. That way software GM instruments would still be developed today. I do not mind they support XG also.
A general sound library/standard is not a bad thing, i do like GM synths and GM wavetables, and i do like software synths too.
But the GM standard should not been abandoned it should be developed to next stage.
I can see the reason though diversity and specialisation gives bigger bucks ;)
Well Pete i am really a sticks and stones man, i do not even buffer recordings as i should. My little script "does just support XP browsers, chrome and opera, firefox i am not sure" for some reason windows 10 and probably other OS get an error message but please try using Linux, right now i do not send status messages "midichannel" with the recordings. So it basicly one channel, "instrument" playing up. But it is simple to invoke a status message with each note.

What you can to is set midichannel, instrument for each track, that is downmixed into omni track zero, unfortunately without a status message all redorded notes play same instrument "channel" :), well that is just a line of code to put in there

I have alot of ideas how things should be implemented but unfortunately i am not that much of a programmer "i really hate bugs and learn convoluted syntax" give me basic and i would be happy.

I have save/load routines but not still waiting to put in, but at some point i off course would like to read in midi files and save to midi files. But first a format that conform to the actual player/recorder.

You can try it here, but it probably will not load and give error message output.send not defined. Well that is what it tell me on Win 10 although it pass on XP, and the guys at comp.lang.javascript really not that helpful with transition. I write simple scripts for XP and unless i have an epiphany why it is not working i probably leave it there for just XP.

https://3d16zci4vuzyxt8hxvovrg-on.drv.tw/Website/midi.html
Pete
2018-05-28 01:12:13 UTC
Permalink
As I indicated, I keep as far away from Windows as possible (:-)),
so I'm not going to be much help, I suspect...
Post by j***@gmail.com
Well it is just the softsynths, "well actually the synths that conform
to micorsoft midimapper", i use XP on my old music computer. Hardware
and wavetable synths no problem, but synths in the midimapper category.
There is not that many but like SYXG 50 and virtual soundcanvas. Of
course those things have lot of latency it is not VSTI's but for people
on the net there is basicly on windows 10 just free Virtual midi synth
like coolsoft to try out. And they do not respond for some reason.
Haven't figured out what you mean by "conforming to midimapper".
I took a quick look at the MS support page, and I have to say it looks
totally archaic! I guess it dates from the days when each card had its
own concept of MIDI, and you had to figure out which channels a card
was happy with. I've never had any kind of Synth -- hardware or software --
that didn't support all 16 channels.
Post by j***@gmail.com
A general sound library/standard is not a bad thing, i do like GM synths
and GM wavetables, and i do like software synths too.
But the GM standard should not been abandoned it should be developed to next stage.
I also don't know what you mean by GM being abandoned. Most of the files
I have are GM. Some are 'GS' or 'XG', but those are just supersets of
GM, and don't sound too bad on a GM synth. My old MidiMan box died, so
my only hardware synth is my digital piano -- which, in addition to its
own higher quality instruments, has a full GM set. I almost only use
software synthesis these days, with Soundfonts to supply the instruments.
My usual setup has a full GS set. (And of course with Soundfonts I have
all sorts of other goodies like a theatre organ and "vintage" sounds!)

Anyway I did download your code to take a look. You're right, I can't
run it properly in Linux Firefox. That doesn't have WebMidi enabled
by default. There are plugins to provide it, but one involves running
a scary shell script that seems to do all sorts of strange things like
writing disk sectors directly! Umm -- no thanks. Not something I
otherwise need, anyway.

I am wondering, though, if you're aware that 'Note On' is not always
'144'! Some of the tutorials on Web MIDI I browsed don't make that
clear. The channel number is also included in that value, so 144 is
only correct for chan=0 ("Channel 1" in user parlance). A drum channel
("ch 10") note-on will be 153 (144+9). Similarly for note-off, of course.

Good luck with your researches.

-- Pete --
j***@gmail.com
2018-05-28 22:57:46 UTC
Permalink
Post by Pete
As I indicated, I keep as far away from Windows as possible (:-)),
so I'm not going to be much help, I suspect...
Post by j***@gmail.com
Well it is just the softsynths, "well actually the synths that conform
to micorsoft midimapper", i use XP on my old music computer. Hardware
and wavetable synths no problem, but synths in the midimapper category.
There is not that many but like SYXG 50 and virtual soundcanvas. Of
course those things have lot of latency it is not VSTI's but for people
on the net there is basicly on windows 10 just free Virtual midi synth
like coolsoft to try out. And they do not respond for some reason.
Haven't figured out what you mean by "conforming to midimapper".
I took a quick look at the MS support page, and I have to say it looks
totally archaic! I guess it dates from the days when each card had its
own concept of MIDI, and you had to figure out which channels a card
was happy with. I've never had any kind of Synth -- hardware or software --
that didn't support all 16 channels.
Post by j***@gmail.com
A general sound library/standard is not a bad thing, i do like GM synths
and GM wavetables, and i do like software synths too.
But the GM standard should not been abandoned it should be developed to next stage.
I also don't know what you mean by GM being abandoned. Most of the files
I have are GM. Some are 'GS' or 'XG', but those are just supersets of
GM, and don't sound too bad on a GM synth. My old MidiMan box died, so
my only hardware synth is my digital piano -- which, in addition to its
own higher quality instruments, has a full GM set. I almost only use
software synthesis these days, with Soundfonts to supply the instruments.
My usual setup has a full GS set. (And of course with Soundfonts I have
all sorts of other goodies like a theatre organ and "vintage" sounds!)
Anyway I did download your code to take a look. You're right, I can't
run it properly in Linux Firefox. That doesn't have WebMidi enabled
by default. There are plugins to provide it, but one involves running
a scary shell script that seems to do all sorts of strange things like
writing disk sectors directly! Umm -- no thanks. Not something I
otherwise need, anyway.
I am wondering, though, if you're aware that 'Note On' is not always
'144'! Some of the tutorials on Web MIDI I browsed don't make that
clear. The channel number is also included in that value, so 144 is
only correct for chan=0 ("Channel 1" in user parlance). A drum channel
("ch 10") note-on will be 153 (144+9). Similarly for note-off, of course.
Yeah that is the problem when you do not code frequently you forget your code, as i said i am not that much of programmer. When i started looking for status message to set midichannel i realised it was already there, most of the code was written right after christmas, but now i am working on it again and just as you said, i have already implemented it i guess question is if i record what i implemented it when **recording**..

I got confused reading a document about midi last week, where they did talk about status messages vs note messages LoL. But i probably send the correct bytes, since i can hear changes to drums when i change a track to midichannel 10.

UI.JS

function sendMidiChannel(){
//Set midichannel on the track
channelC=document.getElementById("out_channel").selectedIndex+1;
if (channelC==1) {NOTE_ON=0xC0}
else if (channelC==1) {NOTE_ON=0x90; NOTE_OFF=0x80;}
else if (channelC==2) {NOTE_ON=0x91; NOTE_OFF=0x81;}
else if (channelC==3) {NOTE_ON=0x92;NOTE_OFF=0x82;}
else if (channelC==4) {NOTE_ON=0x93;NOTE_OFF=0x83;}
else if (channelC==5) {NOTE_ON=0x94;NOTE_OFF=0x84;}
else if (channelC==6) {NOTE_ON=0x95;NOTE_OFF=0x85;}
else if (channelC==7) {NOTE_ON=0x96;NOTE_OFF=0x86;}
else if (channelC==8) {NOTE_ON=0x97;NOTE_OFF=0x87;}
else if (channelC==9) {NOTE_ON=0x98;NOTE_OFF=0x88;}
else if (channelC==10) {NOTE_ON=0x99;NOTE_OFF=0x89;}
else if (channelC==11) {NOTE_ON=0xA0;NOTE_OFF=0x8A;}
else if (channelC==12) {NOTE_ON=0xA1;NOTE_OFF=0x8B;}
else if (channelC==13) {NOTE_ON=0xA2;NOTE_OFF=0x8C;}
else if (channelC==14) {NOTE_ON=0xA3;NOTE_OFF=0x8D;}
else if (channelC==15) {NOTE_ON=0xA4;NOTE_OFF=0x8E;}
else if (channelC==16) {NOTE_ON=0xA5;NOTE_OFF=0x8F;}
output = mid.outputs.get(outportindex);
}
Post by Pete
Good luck with your researches.
-- Pete --
GarryB
2018-06-19 03:26:14 UTC
Permalink
Post by j***@gmail.com
I got confused reading a document about midi last week, where they did talk about status messages vs note messages LoL. But i probably send the correct bytes, since i can hear changes to drums when i change a track to midichannel 10.
Running Status is not that difficult.
It is used for sequential Note On messages on the same channel.
The initial Status Byte defines the channel followed by the MIDI Note Number Byte and the Velocity Byte.
After the initial message only the two Data bytes need to be sent (Note Number and Velocity). A velocity of 0 is the equivalent of a Note Off.
Running Status remains in operation until another Status Byte is encountered.
j***@gmail.com
2018-05-28 23:07:13 UTC
Permalink
Post by Pete
As I indicated, I keep as far away from Windows as possible (:-)),
so I'm not going to be much help, I suspect...
Post by j***@gmail.com
Well it is just the softsynths, "well actually the synths that conform
to micorsoft midimapper", i use XP on my old music computer. Hardware
and wavetable synths no problem, but synths in the midimapper category.
There is not that many but like SYXG 50 and virtual soundcanvas. Of
course those things have lot of latency it is not VSTI's but for people
on the net there is basicly on windows 10 just free Virtual midi synth
like coolsoft to try out. And they do not respond for some reason.
Haven't figured out what you mean by "conforming to midimapper".
I took a quick look at the MS support page, and I have to say it looks
totally archaic! I guess it dates from the days when each card had its
own concept of MIDI, and you had to figure out which channels a card
was happy with. I've never had any kind of Synth -- hardware or software --
that didn't support all 16 channels.
Post by j***@gmail.com
A general sound library/standard is not a bad thing, i do like GM synths
and GM wavetables, and i do like software synths too.
But the GM standard should not been abandoned it should be developed to next stage.
I also don't know what you mean by GM being abandoned. Most of the files
I have are GM. Some are 'GS' or 'XG', but those are just supersets of
GM, and don't sound too bad on a GM synth.
No i mean although you can import midi files in modern DAW projects files seem to use their own formats, and those format also support midi output ports for each track. Of course midi channel can be seen as an output port if you configure a hardware or software to listen to a specific port and not omni.
Post by Pete
My old MidiMan box died, so
my only hardware synth is my digital piano -- which, in addition to its
own higher quality instruments, has a full GM set. I almost only use
software synthesis these days, with Soundfonts to supply the instruments.
My usual setup has a full GS set. (And of course with Soundfonts I have
all sorts of other goodies like a theatre organ and "vintage" sounds!)
Anyway I did download your code to take a look. You're right, I can't
run it properly in Linux Firefox. That doesn't have WebMidi enabled
by default. There are plugins to provide it, but one involves running
a scary shell script that seems to do all sorts of strange things like
writing disk sectors directly! Umm -- no thanks. Not something I
otherwise need, anyway.
I am wondering, though, if you're aware that 'Note On' is not always
'144'! Some of the tutorials on Web MIDI I browsed don't make that
clear. The channel number is also included in that value, so 144 is
only correct for chan=0 ("Channel 1" in user parlance). A drum channel
("ch 10") note-on will be 153 (144+9). Similarly for note-off, of course.
Good luck with your researches.
-- Pete --
Loading...