Hi, I'm only new here, and just lurking trying to learn but...

I *think* the pitchbend works on MIDI instruments by sending control
messages to report changes in the position of the wheel. If this is the
case, I would guess it needs to be sent an event to put things back to
normal, otherwise MIDI would assume that the pitch is still bent for
successive notes.

I don't know if http://home.planet.nl/~roosp/mt_pitch.html is right or not
but it does give some thoughts over the bytes.  The errta bit on the pitch
wheel looks to me as if it could cause problems as the way I'm reading it is
that different MIDI devices may interpret values differently.

Sorry if it turns out I'm being stupid, only trying to help and understand.
I'm not really a programmer (though I can read a tiny bit of C) My real
interest here is to keep informed about programs I can use.

Jon
----- Original Message -----
From: Forgeot Eric <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, October 04, 2002 9:54 PM
Subject: [abcusers] quarter-tones with abc in abc2midi - Pitchbend in
abc2midi


> I've studied a bit the code of abc2midi and found it was probably
> difficult to make some change in it (for the value "pitch") so
> that new quarter notes can be added between the "normal" notes :
> the array "pitch" is set for integer values (and many times in the
> code, not easy to change this to float), and the normal values are
> for example 60 for middle C, 62 for D etc., so there is no place
> between them.
>
> But I thought to the value "pitchbend" it's probably easy to add
> something "emulating" :
>
> %%MIDI pitchbend [bass/chord] <high byte> <low byte>
>
> In found the place to program it : in  store.c circa line 2181,
> there is
>
>   if (strcmp(p, "fff") == 0) {
>     event_specific("MIDI", "beat 127 125 110 1");
>     done = 1;
>   };
>
> so I can had for example
>
>   if (strcmp(p, "koron") == 0) {
>     event_specific("MIDI", "pitchbend 0 96");
>     done = 1;
>   };
>   if (strcmp(p, "sori") == 0) {
>     event_specific("MIDI", "pitchbend 0 32");
>     done = 1;
>   };
>   if (strcmp(p, "normal") == 0) {
>     event_specific("MIDI", "pitchbend 0 64");
>     done = 1;
>   };
>
> (!koron! would be for a flat quarter. It could be easily changed
> later, to !k! or something else for other type music with quarter
> tone)
>
> So how does this pitchbend exactly work ? (what is exactly the
> "low byte" ?) The modification I made seems to work here, but I
> can't set really the effect on only one note : it transpose the
> whole sequence of notes, and not only one. So I had to use the
> !normal! (I used !normal! only for example's sake, it could be
> shorter to write) musical instruction to stop the pitchbend, like
> that :
>
> X:1
> T:test
> M:4/4
> L:1/8
> Q:1/4=90
> K:C
> %%MIDI program 111
> C2 !koron!C2!normal! D2 E2  | C2 !sori!D2!normal! E2 |
>
>
> Is there an easier way to have it ? For having to write only one
> instruction :
>
> C2 !koron!C2 D2 E2  | C2 !sori!D2 E2 |
>
>
> (and we can also think to have something like that instead at the
> end :
>
> C2 !b!C2 D2 E2  | C2 !#!D2 E2 | etc. )
>
>
> ___________________________________________________________
> Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
> Yahoo! Mail : http://fr.mail.yahoo.com
> To subscribe/unsubscribe, point your browser to:
http://www.tullochgorm.com/lists.html

To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html

Reply via email to