Contents |
Effect
Sets the timbre (voice) for the Music Keyboard. Sounds are selectable among 64 presets in Rom or by the user using an array variable.
Syntaxes
- CALL MK VOICE(@<Voice1>,@<Voice2>])
- CALL MK VOICE(<Array1>,<Array2>)
A mix of both syntaxes is also possible, so it means that you can use @voice for one channel, an array for the other channel when 2 MSX-AUDIO chips are present.
<Voice2> and <Array2> are optional. Parameters can not end with a comma alone.
Parameters
<Voice1> and <Voice2> are always preceded by @ (see below Voice Data Table). Each voice corresponds to an instrument defined by FM sound chip internal parameters (hardware) or generated from external parameters (software).
<Array1> and <Array2> and must be alphanumeric variable or a numeric type variable array that can hold minimum of 32 bytes of RAW byte data (see below Voice Array Format). Using arrays enables creation of new instruments (32 in MSX-AUDIO). The value of the array can also be defined with CALL VOICE COPY.
When 2 MSX-AUDIO chips are present, the first parameter is for the first channel, the second parameter is for the second channel. If you omit the second parameter, the first parameter wil be applied to both chips.
Voice Data Table
This is a list of the voices available for use with CALL MK VOICE, CALL VOICE, CALL VOICE COPY or the MML @ instruction of PLAY
Voice No. | Name | Voice No. | Name |
---|---|---|---|
0 * | Piano 1 | 32 | Piano 3 |
1 | Piano 2 | 33 * | Wood Bass |
2 * | Violin | 34 | Santoor 2 |
3 * | Flute 1 | 35 | Brass |
4 * | Clarinet | 36 | Flute 2 |
5 * | Oboe | 37 | Clavicord 2 |
6 * | Trumpet | 38 | Clavicord 3 |
7 | Pipe Organ 1 | 39 | Koto 2 |
8 | Xylophone | 40 | Pipe Organ 2 |
9 * | Organ | 41 | P0hdsPLA |
10 * | Guitar | 42 | P0hdsPRA |
11 | Santoor 1 | 43 | Church Organ L |
12 * | Electric bass | 44 | Church Organ R |
13 | Clavicord 1 | 45 | Synth Violin |
14 * | Harpsicord 1 | 46 | Synth Organ |
15 | Harpsicord 2 | 47 | Synth Brass |
16 * | Vibraphone | 48 * | Horn |
17 | Koto 1 | 49 | Shamisen |
18 | Taiko | 50 | Magical |
19 | Engine 1 | 51 | Fuwawa |
20 | UFO | 52 | Wonderflat |
21 | Synth Bell | 53 | Hard Rock |
22 | Chime | 54 | Machine |
23 * | Synth Bass | 55 | Machine V |
24 * | Synthesizer | 56 | Comic |
25 | Synth drum | 57 | SE comic |
26 | Synth rhythm | 58 | SE laser |
27 | Harmo drum | 59 | SE noise |
28 | Cow Bell | 60 | SE star 1 |
29 | Hi-Hat | 61 | SE star 2 |
30 | Snare drum | 62 | Engine 2 |
31 | Bass drum | 63 | User voice** |
* Sounds built in to MSX-MUSIC sound chip (Sounds generated by software are without an *)
** User voice is silent by default, but can be altered with CALL VOICE COPY.
The names of the voices are given for reference only and they may not sound the same as the real instruments.
Voice Array Format
Offset | Contents |
---|---|
Header: | |
0~7 | Voice name |
8 | Voice transposition (LSB) |
8 | Voice transposition (MSB) |
10 |
Bit 0= Algorithm (MSX-AUDIO only) |
11~15 | Reserved |
Operator 0: | |
16 | Bit 0~3= Multiple Bit 4= Key Scale Rate |
17 | Bit 0~5= Total Level Bit 6~7= Key Scale Level |
18 | Bit 0~3= Decay rate Bit 4~7= Attack rate |
19 | Bit 0~3= Release rate Bit 4~7= Sustain level |
20 | Bit 0~3= Unused Bit 4~7= Velocity sensibility (0~8) (MSX-AUDIO only) |
21~23 | Reserved |
Operator 1: | |
24 | Bit 0~3= Multiple Bit 4= Key Scale Rate |
25 | Bit 0~5= Total Level (MSX-AUDIO only) Bit 6~7= Key Scale Level |
26 | Bit 0~3= Decay rate Bit 4~7= Attack rate |
27 | Bit 0~3= Release rate Bit 4~7= Sustain level |
28 | Bit 0~3= Unused Bit 4~7= Velocity sensibility (0~8) (MSX-AUDIO only) |
29~31 | Reserved |
Examples
CALL MK VOICE (@2)
CALL MK VOICE (A):' sound defined by array A
Related to
CALL INMK, CALL MK PCM, CALL MK TEMPO, CALL MK VEL, CALL MK VOL, CALL VOICE, CALL VOICE COPY, PLAY