Voice synthesis on ISR

Página 14/30
7 | 8 | 9 | 10 | 11 | 12 | 13 | | 15 | 16 | 17 | 18 | 19

Por ARTRAG

Enlighted (6427)

imagem de ARTRAG

13-07-2016, 21:44

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)

Por Huey

Prophet (2654)

imagem de Huey

14-07-2016, 11:14

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

Por Huey

Prophet (2654)

imagem de Huey

14-07-2016, 13:31

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)

Por ARTRAG

Enlighted (6427)

imagem de ARTRAG

14-07-2016, 14:58

What is the range for octave ?

Por Huey

Prophet (2654)

imagem de Huey

14-07-2016, 15:14

0 - 7

Por ARTRAG

Enlighted (6427)

imagem de ARTRAG

15-07-2016, 00:25

Let me recollect

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

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

What about volumes?
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 ?

Por Huey

Prophet (2654)

imagem de Huey

15-07-2016, 09:11

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?

Por ARTRAG

Enlighted (6427)

imagem de ARTRAG

15-07-2016, 19:14

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

Por Huey

Prophet (2654)

imagem de Huey

16-07-2016, 10:23

attenuations IIRC

Por [WYZ]

Champion (423)

imagem de [WYZ]

16-07-2016, 19:12

Fist version of Salamander voice set addon available.

This file:
Salamander Voice Set Add On Download

..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!

Página 14/30
7 | 8 | 9 | 10 | 11 | 12 | 13 | | 15 | 16 | 17 | 18 | 19