Oric Speech Synthesizer + Cumulus/Microdisk

If you want to ask questions about how the machine works, peculiar details, the differences between models, here it is !
How to program the oric hardware (VIA, FDC, ...) is also welcome.
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by Dbug »

Finally managed to get all the parts, and it's working:



That being said, I did not manage to get it to work with the Cumulus, and it did not work with the expansion slot board (I've not used the +5v power of the board because I'm still missing the connectors, and even with the Microdisc to get it to work I had to seriously reduce the length of the cables.
User avatar
iss
Wing Commander
Posts: 1641
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by iss »

Cool! The sound is bit tiny for integrated PC-speakers but everything is recognizable even for NON-French people :).

Is there anything related to MIDI or it's just only kind of advertising:
Screenshot_20220616_214420.png
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by Dbug »

Apparently they were also advertising a MIDI interface, but I don't remember having seen it.
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by Chema »

Cool! Nice you get it working... :)
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by Dbug »

Chema wrote: Thu Jun 16, 2022 9:42 pm Cool! Nice you get it working... :)
Now I'm wondering if I could get both the MEA8000 and the SPO256 synths running at the same time, would be funny to have them talk together :D
User avatar
xahmol
Flight Lieutenant
Posts: 437
Joined: Sun Jun 28, 2020 7:32 pm
Location: Utrecht, The Netherlands
Contact:

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by xahmol »

Cool! But wondering, does this speech synthesizer do only French? Or can you also use own coded data like the Texas Instruments PHP-1500 with Linear Predictive Coding encoding?

The TI reaches surprisingly high fidelity in a small data footprint on own voice recordings regardless the language with tooling to convert WAV to LPC.

Regardless of the anser, very cool project!
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by Dbug »

Well, it's based on the MEA8000, which works quite differently from the SPO256.
I'll try to see if I can get some cool sound out of it, ideally mixed with the rest of the Oric sound

https://www.gryzor.info/index.php/MEA8000
User avatar
xahmol
Flight Lieutenant
Posts: 437
Joined: Sun Jun 28, 2020 7:32 pm
Location: Utrecht, The Netherlands
Contact:

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by xahmol »

The interesting part is if you can only use pre-dephined allophones, or can also use your own encoded allophones. You can do the latter with the TMS5220 chip the TI speech synthesizer uses.

Which is very interesting, as then you can not only use a predefined ‘voice’ but actually your own voice.
‘The LPC method of speech encoding reduces the speech data rate from approximately 100,000 bits/sec (raw digitized speech) to about 4800 bits/sec. The analyzer reduces this rate further (to 2000 buts/sec or less) by encoding each of the 20-bit speech parameters as 3 to 6-bit codes. These coded values select a 10-bit parameter from the parameter look-up ROM in the processor. Depending on the influence of the parameter on speech quality, between 8 and 64 possible values are stored in the Look-Up ROM for decoding and use in synthesis calculation.’
https://www.unige.ch/medecine/nouspikel/ti99/speech.htm

The link you have suggests that also the MEA800 can be used with your own allophone set:
‘The SP0256 contains predefined allophones (usually the -AL2 english allophone set), whilst the MEA8000 can be freely used with different allophone sets (english, french, other languages), different intonations (eg. raise the pitch to pronounce questions), or even as general purpose sound processor (ie. to produce music or sound effects)’

So that would imply that it indeed would be able to use it with your own recordings. Provided of course if there is any encoder for this chip available in any usable form.
For the TMS5220 chip there is this tool to do that:
https://github.com/ptwz/python_wizard
https://github.com/patrick99e99/BlueWizard
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by Dbug »

I did a bit of optimization on the Synthor program:





From 2 minutes to 5 seconds should help with the testing :)
Synthor2.dsk
(131.5 KiB) Downloaded 86 times
User avatar
Symoon
Archivist
Posts: 2307
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by Symoon »

Can't read in detail what you did on Twitter, but in case you didn't already, don't forget to correct the Oric-1 bug ! That being said it produced funny sounds ;)

BTW if you intend to understand the ASM code, I had just begun last March when I was seeking for the bug, and it was clearly inspired by what you can find in the book "Parole et micros" from Hervé Benoit and Michel Weissgerber (around page 49 from what I had written).
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by Dbug »

Symoon wrote: Sun Jun 19, 2022 7:09 am Can't read in detail what you did on Twitter, but in case you didn't already, don't forget to correct the Oric-1 bug ! That being said it produced funny sounds ;)

BTW if you intend to understand the ASM code, I had just begun last March when I was seeking for the bug, and it was clearly inspired by what you can find in the book "Parole et micros" from Hervé Benoit and Michel Weissgerber (around page 49 from what I had written).
Do you have a link to the oric-1 bug and what you documented?
User avatar
Symoon
Archivist
Posts: 2307
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by Symoon »

The bug:
https://forum.defence-force.org/viewtopic.php?t=2373
(and also on the Oric.org page if I did my homework correctly ;) )

I didn't dig much of the ASM as I re-read the basic and found the bug - so I gave up.
Here's the little I did:

Code: Select all

Programme assembleur après implémentation des DATA:
---------------------------------------------------
Utilisation en page 3: 03FE-03FF	Synthétiseur-vocal de Techni-Musique et Parole Informatique (MEA 8000)
Code interprété grâce au livre "Parole et micros" de Hervé Benoit et Michel Weissgerber

-------- Sous-programme du test de bit d'état REQ --------
$B345  AD FF 03   LDA $03FF     ...  Lire l'état
$B348  29 80      AND #$80      ).   10000000   REQ=1 ?
$B34A  F0 F9      BEQ $B345     ..   non => boucler
$B34C  60         RTS           `  

$B34D  20 45 B3   JSR $B345      E.  attendre 
$B350  A9 1A      LDA #$1A      ..   envoi de commande "arrêt lent" (cf livre page 49, chap. 3)
$B352  8D FF 03   STA $03FF     ...
$B355  20 45 B3   JSR $B345      E.  attendre
$B358  A5 04      LDA $04       ..   pitch ?
$B35A  8D FE 03   STA $03FE     ...  envoi donnée vocale ?
$B35D  A0 FF      LDY #$FF      .. 
$B35F  B1 00      LDA ($00),Y   .. 
$B361  C9 FF      CMP #$FF      .. 
$B363  D0 01      BNE $B366     .. 
$B365  60         RTS           `  
(the rest is not commented)
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Oric Speech Synthesizer + Cumulus/Microdisk

Post by Dbug »

Ha, ok, just the 255 thing :)

I actually read that, even answered it, but totally forgot :D

My plan is not to fix the basic stuff, but to make it possible to use the synthesizer in a more flexible way, like for example having some code that allows you to use HIRES graphics, because putting stuff in A000 is just not very practical.
Post Reply