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

Reply via email to