[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
Re: [abcusers] quarter-tones with abc in abc2midi - Pitchbend in abc2midi
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
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
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