Voice synthesis on ISR

Page 22/28
15 | 16 | 17 | 18 | 19 | 20 | 21 | | 23 | 24 | 25 | 26 | 27

By Alcoholics_Anonymous

Resident (39)

Alcoholics_Anonymous's picture

03-03-2017, 20:42

hit9918 wrote:

there was a nice example where the MSX sounded like a NES.

The original video has disappeared but another one showing an older version of the game (with some flickering still present):
https://www.youtube.com/watch?v=_FtEQXeDvrw

All sound effects were generated from a sample wav from the NES using this tool. It is a spectrum game but it would sound the same on an msx.

I stopped by to mention another tool that's come about for the AY, this time a SID tune player:
https://www.youtube.com/watch?v=T2Sa-MO3rio

It was written by some folks from the Enterprise scene:
https://www.worldofspectrum.org/forums/discussion/54160/c64-...

The videos at the start of that thread are playing on the Enterprise Dave chip which can do a few more things than the AY to get better sound.

Also doable on the msx AY if someone wants to try.

By ARTRAG

Enlighted (6276)

ARTRAG's picture

04-03-2017, 01:34

How do you emulate the sid chip using square waves?

By Alcoholics_Anonymous

Resident (39)

Alcoholics_Anonymous's picture

04-03-2017, 03:09

ARTRAG wrote:

How do you emulate the sid chip using square waves?

The AY chip is being operated in a DAC mode using an 8-bit volume table. The sample rate is somewhere around 9.9kHz on the 3.5MHz spectrum. The 50Hz interrupt is used to "reload" simulated SID registers. Wave tables are used to shape tones. I haven't looked into it in too much detail yet but that is the gist.

By ARTRAG

Enlighted (6276)

ARTRAG's picture

04-03-2017, 06:33

This takes the full cpu time

By Alcoholics_Anonymous

Resident (39)

Alcoholics_Anonymous's picture

04-03-2017, 17:37

ARTRAG wrote:

This takes the full cpu time

Yes it's not practical to use inside a game, although it may be possible to get some cpu time between song rows as is done in spectrum beeper tunes that can do menu related things while beeper music plays.

Other machines may have programmable timer interrupts however. On the Enterprise, an 11kHz timer is used to do the samples so it's ok with doing other things while the sid tune plays. I don't know what % cpu time is left though. Obviously the faster your z80 goes, the more practical it becomes.

By Tutti Frutti

Supporter (4)

Tutti Frutti's picture

04-04-2018, 03:28

Hi WYZ,

I have listened to your posted series of converted sounds a few posts above (only for the AY-part, correct?).
Well now, how do you get your result sounding soo good on only one AY-chip?
If I may refer to this video , then I can notice that these results sound not so good as your results.
Is there something that I'm missing? Do you need todo some preprocessing on the wav-files? If so, what kind of pre-processing is needed ?
Is it maybe due to the fact the human-speech audio converts less accurate than your arcade chiptune-sounds?

Please someone, help me since I really would love to use this technology in a game.

Hi ARTRAG,

Please note that the AY8910 that I'm using is not running in an MSX and it's running on another clock-frequency, namely 1.5MHz.
Is there a way to tell the voicenc-tool at which clock-frequency the AY is running so that it can calculate the proper register-values ?
Is the voicenc-tool also capable of reading wav-files with various sample-frequencies or do I have to convert the wav-files first to a specific sample-frequency? If so, what is the required sample-frequency?

Sorry for all these questions, but I'm very excited about this project! :)

All the best and thanks for your responses,

Kristof

By ARTRAG

Enlighted (6276)

ARTRAG's picture

04-04-2018, 08:23

Hi Tuttifrutti
If you can run the Matlab script, you should modify the line

TP = uint16(3579545./(32*f));

putting here the frequency of your ay8910

Loot at the file with extension .m in release 05b

By Tutti Frutti

Supporter (4)

Tutti Frutti's picture

04-04-2018, 10:51

Hi ARTRAG,
Thanks for your response. Unfortunately I don't have Matlab at my disposal :-(
Also, I wonder if it could be possible to render outputs for a system whose vertical refresh is not the ntsc 60Hz but a 50Hz instead.
Do you have any idea why WYZ samples sound soo good or is it just luck in the chosen wav-files?

Thanks for your help,

By ARTRAG

Enlighted (6276)

ARTRAG's picture

04-04-2018, 11:30

Because the video you're linking is using Scc that is able to represent accurate sine waves in place of square waves
About ntsc/pal the script can be configured easily
Just change
Tntsc = 1/60;

By Tutti Frutti

Supporter (4)

Tutti Frutti's picture

04-04-2018, 11:43

Hi ATRAG,
Thanks for your response. I'm afraid I cannot run the script since I don't have matlab. Is the script compatible to work with GNU octave? I saw some earlier posts that there were problems in running it under GNU octave..

Actually the "good" samples I was referring to are the ones mentioned in the link below:

[WYZ wrote:

]FYI:

Test 1

Test 2

And as we can see what WYZ said about these samples is:

[WYZ wrote:

]

Metalion wrote:

Amazing ...
Do I understand well, those SFX are generated only by the PSG using a WAV sample ?

Right, the tool works as a "mp3" for 8bits soundchips. Most of the wavs do not need pre-treatment but for more complex samples the wav must be simplified. The result is quite good, also with only 2 PSG channels reach a very good quality.

So,it seems that only the PSG is used, using only square waves. So, how is he getting such nice results with square waves ?

Hi WYZ, do you have anything to elaborate on this subject?

Thanks for your kind help.

Page 22/28
15 | 16 | 17 | 18 | 19 | 20 | 21 | | 23 | 24 | 25 | 26 | 27