Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
lynx:abcmusic [2021/01/25 11:59] Karri Kaksonenlynx:abcmusic [2021/01/25 12:17] Karri Kaksonen
Line 63: Line 63:
 In Atari Lynx we use proprietary ABC codes to set the hardware for the tune. I try to describe the recognized operators. In Atari Lynx we use proprietary ABC codes to set the hardware for the tune. I try to describe the recognized operators.
  
-''Tempo: +'' 
-T10 - number of VBL interrupts that makes up a single time slot. The smaller you set this number, the faster the music plays. +T10 - Tempo - number of VBL interrupts that makes up a single time slot. The smaller you set this number, the faster the music plays.
-Waveform:+
 X7 - waveform. This describes how the feedback links are connected to the polyphonic sound generator. - I don't get it either. X7 - waveform. This describes how the feedback links are connected to the polyphonic sound generator. - I don't get it either.
-Square wave or not: +I0 - a letter I plus zero means a square wave, a one means a triangle wave. Triange has a smoother sound. 
-I0 - a letter I plus zero means a square wave, a one means a triangle wave +V100 - volume. Max is 127, min is 0 
- +O2 - octave from 0 to 5. 5 is very low and 0 very high. You can also change octave in the middle of the tune. O2 A is the same as O3 a. 
 +R0 - envelope ramp up 
 +H0 - envelope hold note 
 +K3 - envelope ramp down 
 +These envelope parameters apply to the volume of a note.
 '' ''
 In ABCmusic we need to code every one of these 3 melodies to a string. You can omit white space and bar lines without repeats to save space. In ABCmusic we need to code every one of these 3 melodies to a string. You can omit white space and bar lines without repeats to save space.
  
-''char *melody = "G2 z2 g2 z2 | G2 z2 g2 z2 | G2 g2 G2 g2..."; +''char *melody = "X7I1V127T10R6H10K1O2 G2 z2 g2 z2 | G2 z2 g2 z2 | G2 g2 G2 g2..."; 
-char *bass = "D,4 G,4 | D,4 G,4 | D,4 G,4 | D,4 G,4..."; +char *bass = "X7O2I1V100T10R0H0K3 D,4 G,4 | D,4 G,4 | D,4 G,4 | D,4 G,4..."; 
-char *percussion = "D2 G G D2 G2 | D2 G G D2 G2 | D2 G G D2 G2..."+char *percussion = "X7O4I1V40T10R0H0K6 D2 G G D2 G2 | D2 G G D2 G2 | D2 G G D2 G2..."
 '' ''
 After this we can play the combined tune by making a call to abcplay() After this we can play the combined tune by making a call to abcplay()
  
-abcplay(0, melody);+''abcplay(0, melody);
 abcplay(1, bass); abcplay(1, bass);
 abcplay(2, percussion); abcplay(2, percussion);
 +''
 This is how the note part works. But we still have to choose the instrument, the tempo and the volume of the music. This is how the note part works. But we still have to choose the instrument, the tempo and the volume of the music.
  
 {{ :lynx:chickendance.mp3 |}} {{ :lynx:chickendance.mp3 |}}