SINTETIZZATORE VOCALE SP0256-AL1
E' possibile scaricare il data-sheet in formato "pdf":
DS_SP0256.pdf
(223Kb)
Per poter vedere la scheda tecnica in formato "pdf" è necessario
disporre dell'Acrobat Reader 4.0 o superiore, scaricabile gratuitamente dal sito dell'
Adobe.
INTRODUZIONE.
Dotare di voce una qualunque apparecchiatura elettronica è il sogno di
molti gli appassionati di elettronica, siano essi dei progettisti, oppure dei
semplici hobbisti. Ora, questo non è più un sogno, una cosa estremamente
difficile da realizzare, ma è alla portata anche di un qualunque appassionato
di elettronica.
Per far produrre ad un circuito integrato della voce, che assomiglia a quella
umana, sostanzialmente ci sono due strade:
- riproduzione di frasi pre-registrate.
In questo caso, il circuito integrato in questione non è altro che
una memoria su cui è possibile registrate della voce, per poi eseguire
un riascolto. Organizzando in modo opportuno la memoria, è possibile
poter riprodurre molti diversi messaggi. Più lunghi e numerosi sono
i messaggi, maggiore è la quantità di memoria richiesta. Questo
può rappresentare un limite di questa soluzione.
- sintetizzazione hardware dei fonemi.
In questo altro caso, il circuito integrato in questione sintetizza i singoli
fonemi che potranno poi formare le parole e, di conseguenza, le frasi. Non
è detto che il numero dei fonemi sia uguale al numero delle lettere
dell'alfabeto. Anzi, il numero dei fonemi è generalmente superiore,
in quanto per una singola vocale, per esempio, possono corrispondere diversi
tipi di intonazione.
Disponendo dei singoli fonemi, in linea teorica, è possibile riprodurre
qualunque parola, grazie all'aiuto di un microprocessore. Purtroppo, però,
la pronuncia non è così perfetta come nel caso di voce registrata
su circuito integrato.
CIRCUITO INTEGRATO SP0256-AL2.
In questa pagina viene presentato il circuito integrato SP0256-AL2, prodotto dalla
General Instrument (www.gi.com)
che non è altro che un interessante sintatizzatore di fonemi, facilmente
pilotabile da qualunque microprocessore o microcontroller. Inoltre è
possibile interfacciarlo senza porblemi ad un Personal Computer.
Intanto, qui sotto è mostrata la piedinatura del circuito integrato e
il significato dei vari piedini.
|
|
1 |
Gnd |
Segnale di
massa. |
2 |
~RESET |
Reset di sistema a livello
logico "0". |
3 |
ROM DISABLE |
Un livello logico
"1" disabilita la Rom Esterna. |
4, 5, 6 |
C1, C2, C3 |
Linee seriali per il
controllo della ROM esterna. |
7 |
Vcc |
Alimentazione
positiva. |
8 |
SBY |
STAND-BY a livello logico
"1".
Il livello logico "0" indica che il processore ha terminato di pronunciare
il fonema. |
9 |
~LRQ |
LOAD REQUEST.
Livello logico "1": buffer pieno.
Livello logico "0": è richiesto un nuovo dato. |
10, 11, 13, 14, 13, 16, 17, 18
|
A8, A7, A6, A5, A4, A3, A2, A1
|
8 bit di indirizzi.
Per il normale uso, A7="0", A8="0". |
12 |
SER OUT |
Uscita seriale dell'
indirizzo per ROM esterna. |
19 |
SE |
STROBE ENABLE.
A seconda del livello logico su tale piedino, vi sono 2 modi di funzionamento.
|
20 |
~ALD |
ADDRESS LOAD. Il livello
logico 0 carica l'indirizzo A1..A8 nel buffer. |
21 |
SER IN |
Ingresso seriale dei dati
dalla ROM esterna. |
22 |
TEST |
Va tenuto a livello logico
"0" per le normali operazioni. |
23 |
Vcc |
Alimentazione
positiva. |
24 |
DIGITAL OUT |
Uscita digitale in PWM, da
filtrare con filtro passa basso a 5KHz. |
25 |
~SBY RESET |
Uscita del segnale di reset,
a livello logico "0". |
26 |
ROM CLOCK |
Uscita clock a 1,66MHz per
ROM esterna. |
27 |
OSC 1 |
XTAL IN. Quarzo da
3,58MHz |
28 |
OSC 2 |
XTAL OUT. Quarzo da
3,58MHz |
|
CICLO DI SCRITTURA.
Il terminale "SE", ovvero "STROBE ENABLE", permette, a seconda
dello stato logico, si selezionare due modalità di funzionamento.
- SE="0". E' possibile inviare continuamente
immettere dati attraverso i terminali A1..A8. Essi vengono caricati nel buffer
interno ogni qualvolta c'è una transizione di livello logico da "0"
ad "1". Sinceramente la modalità di trasferimento dati non
è molto pratica, in quanto non tiene conto delle diverse durate dei
fonemi.
- SE="1". In questo modo di funzionamento,
il trasferimento dei dati avviene mediante l'aiuto delle linee di controllo:
"ALD", "SBY", "LRQ".
La sequenza dei vari segnali è la seguente, tenendo conto che a riposo
si ha: "ALD"="1", "SBY"="1", "LRQ"="0":
- Si presentano i dati ai piedini A1..A6, con A7=A8="0".
- Si porta il segnale "ALD" a livello logico
"0", tra 200nS e 1000nS, per poi riportarlo a livello logico
"1".
- A quel punto "SBY" va a livello logico "1"
informando che la pronuncia del fonema è terminata. E infine "LRQ"
va a livello logico "0" richiedendo nuovi dati da inserire.
- Si ripete l'intero processo.
ELENCO FONEMI.
Per poter programmare il circuito integrato SP0256-AL2 e quindi comporre le frasi
attraverso l'uso di un mocroprocessore, è necessario conoscere le locazioni
di memoria di residenza dei vari fonemi. Ecco che la tabella posta qui sotto
è di fondamentale importanza.
CORRISPONDENZA TRA LOCAZIONI DI MEMORIA
E FONEMI
|
FONEMA
|
INDIRIZZO
|
ESEMPIO
|
DURATA
|
|
FONEMA |
INDIRIZZO |
ESEMPIO |
DURATA |
AA |
018 |
Hot |
100ms |
|
MM |
010 |
Milk |
180ms |
AE |
01A |
Hat |
120ms |
|
NG |
02C |
Anchor |
220ms |
AO |
017 |
Aught |
100ms |
|
NN1 |
00B |
Thin |
140ms |
AR |
03B |
Alarm |
290ms |
|
NN2 |
038 |
No |
190ms |
AW |
020 |
Out |
370ms |
|
OR |
03A |
Store |
330ms |
AX |
00F |
Succeed |
70ms |
|
OW |
035 |
Beau |
240ms |
AY |
006 |
Sky |
260ms |
|
OY |
005 |
Boy |
420ms |
BB1 |
01C |
Business |
80ms |
|
PP |
009 |
Pow |
210ms |
BB2 |
03F |
Business |
50ms |
|
RR1 |
00E |
Rural |
170ms |
CH |
032 |
Church |
190ms |
|
RR2 |
027 |
Brain |
120ms |
DD1 |
015 |
Could |
70ms |
|
SH |
025 |
Ship |
160ms |
DD2 |
021 |
Do |
160ms |
|
SS |
037 |
Vest |
90ms |
DH1 |
012 |
They |
290ms |
|
TH |
01D |
Thin |
180ms |
DH2 |
036 |
They |
240ms |
|
TT1 |
011 |
Part |
100ms |
EH |
007 |
End |
70ms |
|
TT2 |
00D |
To |
120ms |
EL |
03E |
Saddle |
190ms |
|
UH |
01E |
Book |
100ms |
ER1 |
033 |
Fire |
160ms |
|
UW1 |
016 |
To |
100ms |
ER2 |
034 |
Fire |
300ms |
|
UW2 |
01F |
Food |
260 |
EY |
020 |
Beige |
280ms |
|
VV |
023 |
Vest |
180ms |
FF
|
028
|
Food
|
150ms
|
|
WH
|
030
|
Whig
|
200ms
|
GG1
|
024
|
Got
|
80ms
|
|
WW
|
02E
|
Wood
|
180ms
|
GG2
|
03D
|
Guest
|
40ms
|
|
XR
|
02F
|
Repair
|
360ms
|
GG3
|
022
|
Wig
|
140ms
|
|
YR
|
03C
|
Clear
|
350ms
|
HH1
|
01B
|
He
|
130ms
|
|
YY1
|
031
|
Yes
|
130ms
|
HH2
|
057
|
Hoe
|
180ms
|
|
YY2
|
019
|
Yes
|
180ms
|
IH
|
00C
|
Sit
|
70ms
|
|
ZH
|
026
|
Azure
|
190ms
|
IY
|
013
|
See
|
250ms
|
|
ZZ
|
02B
|
Zoo
|
210ms
|
JH
|
00A
|
Dodge
|
140ms
|
|
PA1
|
000
|
-
|
10ms
|
KK1
|
042
|
Can't
|
160ms
|
|
PA2
|
001
|
-
|
30ms
|
KK2
|
010
|
Sky
|
190ms
|
|
PA3
|
002
|
-
|
50ms
|
KK3
|
008
|
Comb
|
120ms
|
|
PA4
|
003
|
-
|
100ms
|
LL
|
02D
|
Lake
|
110ms
|
|
PA5
|
004
|
-
|
200ms
|
Federico Battaglin
Italy
Cellulare (SMS): (+39) - 340-5890259
e-mail: info@febat.com