Re: looking for some info on Magic Voice

From: Grósz Attila <>
Date: Wed, 23 Jun 2010 21:53:25 +0200
Message-ID: <>
Groepaz wrote:
> On Sonntag 30 Mai 2010, you wrote:
> [snip]
>> I think this info should suffice... if not, just ask!
> thank you very much (and everyone else). you can check out the first results 
> in current vice svn version. so far v364 speech works more or less ok, c64 
Nice work! Kudos!
> magic voice unfortunately is much more complex, and also the games (WoW and 
> Gorf) aswell as the magic voice rom itself use various modes in their speech 
Pity... I have a dump of the WoW and Gorf data (from Stephan's site I 
guess) ported to the 364 and
YAPE can actually play "them". So perhaps it's not _that_ different. If 
you wish I can send you the PRG files
in a private mail.
> data (such as 48bit frames, triangle etc) that the v364 rom doesnt use. it 
> basically works, but all those mentioned features are missing in the t6721 
> emulation, so the games only output funny noise at the moment, aswell as a few 
> words in the magic voice rom (try 68) =)
I have no 48 bit implementation either, still YAPE can play those frames 
that are meant to be in this mode,
though they indeed sound a bit "weird", monotonous. This could be the 
reason (I didnt know this).
> xplus4 -speechrom spk3cc4.bin
> x64 +cart -cartmv Original_MVSM_251476.bin
> x64 +cart -cartmv Original_MVSM_251476.bin -cartcrt wow.crt
> (if you want to peek at the implementation: src/core/t6721.c, 
> src/c64/cart/magicvoice.c src/plus4/plus4speech.c) 
Just did... impressive job! Looks a bit out of this world for me at the 
moment :)
It's been a good 3 years ago that I dealt with this sort of stuff.
Anyway will check it out and see if I spot anything.

Erm... one more thing: can someone send me a Win32 binary build (PLEASE 
:) )?
> that said, if you can give some hints on those 48bit frames, please do so - 
> that seems to be the biggest challenge now to get something useful out of 
> those games (which frankly, is pretty much the main motivation to do all this 
> stuff hehe)
Ideally I would need some raw binary (byte) dumps, so I can play 
around... (hint, hint :-) )

Very likely that at least the first 2-3 PARCOR parameters are the same 
as the 96 bit ones, otherwise the quality deteriorates
a lot... (and also explains why YAPE can play it quite well w/out 48 bit 
support). Try something like this:
    { 7, 7, 10, 10, 5, 3, 3, 3, 0, 0, 0, 0 }, // voiced/silent
    { 7, 7, 10, 10, 5, 3, 0, 0, 0, 0, 0, 0 } // unvoiced

Always try to fine tune the most significant PARCOR parameters first, 
that has the most audible effect... and progress from there
towards the end.

It's also possible, that (part of) the lower bit rate parameters are 
using a non-linear transform (unlike the 96bit), it is
earlier a rule than an exception that speech synthesizers (and 
compression methods...) use some sort of vector quantization.
I used to consult a speech synthesis expert back in the day, who told me 
these kind of stuff. If that's the case, you could try to apply
some concave or convex transform from the parameter value to the -1/+1 
coefficient range. I really do not think that you need
more complicated stuff than this otherwise YAPE would also just output 

Hope this helps and I am eager to see (I mean, hear) the results!

Good luck!


       Message was sent through the cbm-hackers mailing list
Received on 2010-06-23 20:00:33

Archive generated by hypermail 2.2.0.