back to list

tg77

🔗Darren Burgess <DBURGESS@ACCELERATION.NET>

3/30/2000 7:38:31 AM

Manuel,

Here is what I have figured out regarding retuning the yamaha tg77.

1. The synth.par file needs to be edited. The "tune" section of instrument
type 3 need an extra bit (00 or probably 01 for the second internal tuning
table). Here is the correct text:

!
! Type 3
!
Yamaha SY77/TG77/SY99/VL-1/VL-7
1024.0
5120
261.6256
16384
0
127
! init
F0 43 10 19 05 03 F7
! prefix
F0 43 10
! tune
34 0B 00 00
! suffix
F7

2. Also, Scala does not build the tuning parameter lines properly for this
synth.

Scala generates the following tuning messages given my scale and keymap:

2;sysevent $43 $10 $34 $0B $00 $00 $00 $24 $37 end sysevent
2;sysevent $43 $10 $34 $0B $00 $00 $01 $25 $65 end sysevent
2;sysevent $43 $10 $34 $0B $00 $00 $02 $27 $01 end sysevent
2;sysevent $43 $10 $34 $0B $00 $00 $03 $28 $0D end sysevent
2;sysevent $43 $10 $34 $0B $00 $00 $04 $29 $0E end sysevent
2;sysevent $43 $10 $34 $0B $00 $00 $05 $2A $04 end sysevent

However, the MIDI parameter change table only uses _even_ hex numbers for
N2, which is the 7th bit in each line. The above parameter change messages
with odd hex numbers in the 7th bit are ignored by the synth. The correct
code would be as follows:

2;sysevent $43 $10 $34 $0B $00 $00 $00 $24 $37 end sysevent
2;sysevent $43 $10 $34 $0B $00 $00 $02 $25 $65 end sysevent
2;sysevent $43 $10 $34 $0B $00 $00 $04 $27 $01 end sysevent
2;sysevent $43 $10 $34 $0B $00 $00 $06 $28 $0D end sysevent
2;sysevent $43 $10 $34 $0B $00 $00 $08 $29 $0E end sysevent
2;sysevent $43 $10 $34 $0B $00 $00 $0A $2A $04 end sysevent
etc, etc

This would only apply to notes 0 to 63. For notes 64 to 127, N1=01 (6th
bit), yeilding the following text:

2;sysevent $43 $10 $34 $0B $00 $01 $00 $24 $37 end sysevent
2;sysevent $43 $10 $34 $0B $00 $01 $02 $25 $65 end sysevent
2;sysevent $43 $10 $34 $0B $00 $01 $04 $27 $01 end sysevent
etc, etc

V1 (8th bit) , however, increments by 1. V1 sets the course tuning (note
number).

Is there a config or parameter file in scala that can be changed to
accomodate this quirk? Or does the Scala code need to be fixed?

Darren