# Voice synthesis on ISR

Page 14/36
7 | 8 | 9 | 10 | 11 | 12 | 13 | | 15 | 16 | 17 | 18 | 19

No, this is a vocoder, adapted to voice signals and to the way distortion is perceived for human voices
It works on tones and can be used on psg (square waves) accepting some additional distortion.
This technique is based of FFT and on extracting some spectral features from signal chunks
It costs 2 bytes per channel per frame (6 bytes/frame on psg)

In LoM, SCC is used to reproduce a general PCM signal sampled at low rate.
That technique is based on phase control among channels and updates about 32 bytes per channel per frame (96 or 128 bytes)

ARTRAG wrote:

Is there an algorithm able to convert a generic frequency in parameters for the register if the opl3 ?
I can see only try and error...

I could only find this formula:

`f-val = freq * 2^(20 - octave) / 49716`
If the f-val value is outside the 0-1023 range the octave needs to be increased/decreased.

The 49716 value is, if I'm correct, calculated by taking the clockspeed (of the MSX) dived by 72

Huey wrote:
ARTRAG wrote:

Is there an algorithm able to convert a generic frequency in parameters for the register if the opl3 ?
I can see only try and error...

I could only find this formula:

`f-val = freq * 2^(20 - octave) / 49716`
If the f-val value is outside the 0-1023 range the octave needs to be increased/decreased.

The 49716 value is, if I'm correct, calculated by taking the clockspeed (of the MSX) dived by 72

Correction the f-val range should be 0-511

Not 100% sure about the following but this what I found out testing the formula:
And the result from the formula needs be divided by 2*49716 (this way it matches pre defined note tables I use in TT)

What is the range for octave ?

0 - 7

Let me recollect

f-val = freq * 2^(20 - octave) / 49716

with
f-val in 0-511
octave in 0-7

Which opl chip should I look for on internet to have a reference? YM2413?
From here http://map.grauw.nl/resources/sound/yamaha_ym2413_ds.pdf volume seems 4 bits.
Is it linear ?

How many tones at time does it produce?
Can I assume 9 channels ?

The volume is 4 bits and is linear:

```B3 	B2 	B1 	B0
24 dB 	12 dB 	6 dB 	3 dB```

9 channels is the max. It would just be a matter of omitting the last 4 if you only want 5 channels. Right?

Are the dB gains or attenuations ?
Yes 5 channels are sufficient

attenuations IIRC

Fist version of Salamander voice set addon available.

This file:

..Is an independent ROM type Konami5 with SCC. It searches for the original Salamander Cartridge and use an extra SCC (MegaFlashRomSCC for example).

Included:

• Original Voice set from the Arcade. 1P, 2P or exchange mode
• Female voice Set from Gradius Gaiden. Dual Play.

Since this is a beta, your comments are welcome to get a better gaming experience.

Enjoy!

Page 14/36
7 | 8 | 9 | 10 | 11 | 12 | 13 | | 15 | 16 | 17 | 18 | 19