[abcusers] quarter-tones with abc in abc2midi - Pitchbend in abc2midi

2002-10-04 Thread Forgeot Eric

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



Re: [abcusers] quarter-tones with abc in abc2midi - Pitchbend in abc2midi

2002-10-04 Thread Alice Corbin

If you happen to be using timidity to play the midi file,
then you can reset the temperament to contain quartertone
intervals.  The names of the notes would no longer match 
their real values, howver.

-- 
 _   _
 Ali Corbin/, |_  __(_) ___  _ __
 Axian, Inc.  //| |\\/ /| |/ _ \| '_ \   
 Phone: (503)644-6106 #205  _//_| | / / | | |_| | | | |  
 e-mail: [EMAIL PROTECTED] ((   //  |_|/_/\\|_|\_/|_|_| |_|  
 http://www.axian.com/  ``-''  ``-''
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html



Re: [abcusers] quarter-tones with abc in abc2midi - Pitchbend in abc2midi

2002-10-04 Thread Jon Freeman

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



Re: [abcusers] quarter-tones with abc in abc2midi - Pitchbend in abc2midi

2002-10-04 Thread Phil Taylor

The problem with using midi pitchbend is that the number which represents
the amount of pitch change is not standardised, so a midi file which
plays correctly on one synth cannot be guaranteed to do so on another.

According to the midi 1.0 standard, (which may well have been superceded
by now):

10.  Sensitivity of the pitch bender is selected in the receiver.  Center
position value (no pitch change) is 2000H, which would be transmitted
EnH-00H-40H.

Phil Taylor


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