Balabolka (sintesi vocale)

Balabolka

Balabolka è un programma di sintesi vocale (text-to-speech, TTS). Tutte le voci elettroniche installate sul tuo sistema sono disponibili in Balabolka. Qualsiasi documento di solo testo presente nel sistema può essere aperto per la lettura e la modifica tramite il Menù "File | Apri". Per creare un nuovo documento, è sufficiente selezionare "Nuovo" dal menù "File".

La lettura può essere controllata utilizzando i pulsanti standard Leggi-Pausa-Stop situati sulla barra degli strumenti nella parte superiore della finestra di Balabolka. Il programma è in grado di leggere il contenuto degli Appunti di Windows, visualizzare il testo da documenti, personalizzare il carattere ed il colore dello sfondo, controllare la lettura dal tray di sistema o dai tasti di scelta rapida globali.

Formati di file supportati: AZW, AZW3, CHM, DjVu (DjVu+OCR), DOC, DOCX, EML, EPUB, FB2 (FB2.ZIP, FBZ), FB3, HTML, LIT, MD, MOBI, ODP, ODS, ODT, PDB, PDF, PPT, PPTX, PRC, RTF, TCR, WPD, XLS, XLSX. L'interfaccia IFilter può essere utilizzata per i files con estensioni sconosciute.

Il testo sullo schermo può essere salvato come file audio selezionando "File | Salva File Audio" o "File | Dividi e Converti in File Audio" dal menù "File". Formati di file audio supportati: WAV, MP3, MP4, OGG, OPUS, WMA.

Balabolka può salvare il testo sincronizzato in files LRC esterni od in tags MP3 all'interno dei files audio. Quando un file audio viene riprodotto con i lettori su computer o su lettori audio digitali moderni, il testo viene visualizzato in modo sincrono (allo stesso modo dei testi per le canzoni).

Il programma può utilizzare diverse versioni di Microsoft Speech API (SAPI) e Microsoft Speech Platform. Permette di modificare i parametri di una voce, tra cui velocità e tono.

L'utente può applicare uno speciale elenco di sostituzione per migliorare la qualità di articolazione della voce. Questa funzione è utile quando si desidera modificare l'ortografia di parole o separare sillabe. Balabolka utilizza due tipi di elenchi di sostituzione:

  • le regole per la correzione della pronuncia utilizzano la sintassi delle espressioni regolari e possono essere salvate in files con estensione *.rex;
  • files con estensione *.dic; questo formato è popolare in Europa orientale; la sintassi delle regole è semplice, affinché il file possa contenere migliaia di regole.
  • files con estensione *.bxd combina le opzioni di due altri formati.

L'applicazione memorizza i files per la correzione pronuncia nella cartella Documenti\Balabolka (o Documenti\Balabolka in Windows XP). Utilizzando un dizionario qualsiasi, il programma evidenzia, durante la lettura, l'intera frase od un paragrafo; altrimenti, viene evidenziata la parola corrente.

Nota. La versione portatile memorizza i files per la correzione pronuncia nella sottocartella Dictionaries.

* Balabolka è una parola russa e può essere tradotta in "chiacchierone".

WWW: balabolka.site

E-mail: crossa@list.ru

© 2006-2020 Ilya Morozov


Voci

Speech Application Programming Interface o SAPI è stato sviluppato da Microsoft per consentire l'utilizzo della sintesi vocale all'interno delle applicazioni di Windows. Ci sono due versioni principali di SAPI (SAPI 4 e SAPI 5), che non sono compatibili tra loro.

SAPI 4 (Microsoft Speech API 4.0)

Tutte le voci di SAPI 4 sono diventate obsolete; la loro installazione non è più raccomandata. Utilizzare la versione aggiornata dei motori di sintesi vocale.

SAPI 5 (Microsoft Speech API 5.x)

RHVoice - sintetizzatore vocale gratuito e open source (supporta inglese, esperanto, georgiano, kirghiso, portoghese, russo, tataro ed ucraino):

  • RHVoice

UkrVox - voce ucraina gratuita creata da Yaroslav Kozak (Lviv, Ucraina):

  • UkrVox Igor

Ekho - motore di sintesi vocale gratuito (supporta Cantonese, Mandarino e Zhaoan Hakka):

  • Echo (Chinese)

Per ottenere una migliore qualità della voce, puoi acquistare le voci Acapela Group, Cepstral o IVONA. Sono la nuova generazione di motori TTS che utilizzano database di grande dimensioni, quindi la qualità della voce è eccellente.

Voci commerciali di alta qualità:

  • Acapela Group (demo)
  • Alfanum (demo)
  • Cepstral (demo)
  • IVONA (demo)
  • Nuance/Cerence (demo)
  • ReadSpeaker (demo)

Microsoft Speech Platform

La Microsoft Speech Platform consente agli sviluppatori di creare e distribuire applicazioni per la sintesi vocale. Microsoft Speech Platform è costituito da un Runtime e da Runtime Languages (motori per il riconoscimento vocale e la sintesi vocale). Ci sono Runtime Languages separati per il riconoscimento vocale e la sintesi vocale. La versione del Runtime Languages deve corrispondere alla versione della Speech Platform che è stata installato.

Utilizzare la procedura seguente per installare Microsoft Speech Platform:

  1. Scaricare ed installare Speech Platform Runtime
    (il file 'x86_SpeechPlatformRuntime\SpeechPlatformRuntime.msi').
  2. Scaricare ed installare Runtime Languages da utilizzare con Speech Platform
    (files con nomi che iniziano con 'MSSpeech_TTS_').

Microsoft Speech Platform (versione 11.0) fornisce il supporto di 26 lingue per la sintesi vocale. I tags XML possono essere utilizzati sia con SAPI 5 che con Speech Platform.


Riga di comando

Balabolka accetta i parametri della riga di comando:

balabolka.exe [-options] [filename] [audio_file] [voice]

Il parametro voce deve essere definito nel seguente modo:

voice_name [rRate] [pPitch]

filename
apre il file

-c
legge ad alta voce gli Appunti di Windows

-c voice_name
sceglie la voce e leggi ad alta voce gli Appunti di Windows

-m
esegue ridotto ad icona

-r filename
apre il file e legge ad alta voce dall'inizio

-r filename voice_name
apre il file, sceglie la voce e legge ad alta voce dall'inizio

-s filename audio_file
apre il file e legge il testo nel file audio (WAV, MP3, MP4, OGG o WMA)

-s filename audio_file voice_name
apre il file, sceglie la voce e legge il testo nel file audio

-q
chiude al completamento della lettura

Il nome della voce può essere definito da una sola parola; ad esempio: Peter. Il programma sceglierà il nome appropriato dall'elenco delle voci (SAPI 5 e SAPI 4).

Alcune opzioni possono essere impostate in una volta sola:

-rm filename
esegue ridotto ad icona e legge il file specificato

-rq filename
legge il file specificato e chiude al completamento della lettura

Per esempio:

balabolka.exe book.txt

balabolka.exe book.txt "Cepstral Callie"

balabolka.exe -rmq book.txt

balabolka.exe -sq "c:\my books\book.txt" "c:\my files\book.wav"

balabolka.exe -r "c:\text\book.txt" Peter r180 p85

balabolka.exe -c "VW Kate"

Se è necessario definire non un nome di un file di testo, ma una riga di testo, le opzioni devono contenere un modificatore speciale:

-n [text_line]
questo parametro indica che la riga di comando contiene una riga di testo anziché un nome di file

Per esempio:

balabolka.exe -n "Esempio di testo".

Balabolka.exe - rn "Il programma leggerà questo testo". Emily

balabolka.exe - snq "Questo testo verrà salvato in un file audio." "c:\my files\book.mp3"


Controllo ortografico

Balabolka implementa il motore di controllo ortografico Common Speller API (CSAPI) per il controllo ortografico. CSAPI è stato progettato per l'utilizzo con tutte le applicazioni Microsoft che includono il controllo ortografico. CSAPI è attualmente offerto da molti venditori ed utilizzato da Microsoft Office 97/2000 e da molte altre applicazioni. Il motore CSAPI non è parte integrante del pacchetto di installazione di Balabolka, ma se avete installato Microsoft Office, Balabolka rileva automaticamente la presenza di CSAPI e lo utilizza.

Mentre nella finestra di modifica della descrizione, è possibile utilizzare il menù di controllo ortografico. Col pulsante destro del mouse su una parola evidenziata, viene visualizzato un menù popup, permettendo di scegliere da un elenco di suggerimenti per l'ortografia corretta della parola. In alternativa, è possibile scegliere Aggiungi la parola al dizionario per aggiungere la parola al dizionario utente. Se non ci sono suggerimenti nel dizionario per l'ortografia corretta della parola errata, nel menù popup non sarà elencato alcun suggerimento.

È possibile anche controllare il testo utilizzando la finestra di dialogo controllo ortografico (scegliere la voce di menù "Testo | Controllo ortografico"). Qui di seguito, la descrizione dei pulsanti della finestra di dialogo del Controllo ortografico:

  • Cambia - sostituisce la parola errata con quella corretta prelevata dal campo "Suggerimenti".
  • Cambia tutto - sostituisce tutte le occorrenze della parola selezionata nella descrizione, con la parola corretta, prelevata dal campo "Suggerimenti".
  • Ignora - ignora la parola corrente senza cambiarla e passa alla parola errata successiva.
  • Ignora tutto - Ignora tutte le occorrenze della parola corrente nella descrizione senza cambiarla e passa alla parola errata successiva. Questa parola verrà quindi considerata come digitata correttamente, durante l'intera sessione corrente di Balabolka.
  • Aggiungi - aggiunge la parola corrente al dizionario utente.

Un "Dizionario utente" è un file con una serie di parole in forma di testo, con estensione *.dic. Lo scopo principale del dizionario utente è queòòo di consentire all'utente di aggiungervi le parole personalizzate per il controllo ortografico. Microsoft Office 97/2000 contiene il dizionario utente qui: c:\Program Files\Common Files\Microsoft Shared\Proof\custom.dic.

Balabolka permette di definire due lingue per il controllo ortografico (casella di controllo Seconda lingua). In questo caso, la finestra di dialogo del controllo ortografico è disattivata; è possibile utilizzare solo il menù del Correttore ortografico.

Balabolka può usare Hunspell (hunspell.github.io). Hunspell è il correttore ortografico predefinito di OpenOffice.org e Mozilla Firefox.

I dizionari del correttore ortografico per Windows sono disponibili per il download dal sito Web di Balabolka .

L'applicazione permette di utilizzare il controllo ortografico, creata nel sistema operativo. L'API per il Controllo Ortografico è disponibile a partire da Windows 8.


Trova e sostituisci il testo

Il programma permette di cercare il testo nel documento corrente e di sostituirlo con un testo diverso. La maggior parte dei codici speciali di Microsoft Word è supportata per i caratteri non stampabili (i codici fanno distinzione tra maiuscole e minuscole):

^p
Segno di paragrafo
^t
Carattere di tabulazione
^nnn
Carattere ASCII (dove nnn è il codice carattere)
^0 nnn
Carattere ANSI (dove 0 è zero e nnn è il codice carattere)
^U nnnnn
Carattere Unicode (dove nnnnn è il codice carattere)
^+
Tratto ( — )
^=
Trattino ( – )
^^
Carattere Caret
^s
Spazio unificatore
^?
Qualsiasi carattere (solo nella casella Trova)
^#
Qualsiasi cifra (solo nella casella Trova)
^$
Qualsiasi lettera (solo nella casella Trova)
^c
Contenuti degli Appunti di Microsoft Windows (solo nella casella Sostituisci con)
^&
Contenuti della casella Trova (solo nella casella Sostituisci con)


Domande frequenti

Domanda

Ricevo il messaggio di errore "OLE error 80045042". Cosa significa?

Risposta

Questo errore significa: "Il parser XML non è riuscito a causa di una sintassi errata." È necessario verificare la sintassi dei tags XML all'interno del testo. Oppure, una parte del testo sembra l'inizio di un tag XML e disorienta SAPI. Se non si desidera utilizzare i tags XML, rimuovere i simboli "<" e ">" dal testo (o sostituirli con le parole "minore di" e "maggiore di").

Domanda

Dove posso trovare SAPI 4?

Risposta

Per utilizzare voci SAPI 4, scaricare ed installare il file Microsoft redistributable Speech API (824 KB). Inoltre, puoi scaricare ed installare lo Speech Control Panel (840 KB); il Pannello di Controllo Sintesi Vocale, aggiungerà un'icona al tuo Pannello di Controllo, consentendoti di elencare i motori di sintesi vocale compatibili, installati sul tuo sistema e personalizzare le impostazioni a tuo uso e consumo.

Domanda

Dove posso trovare SAPI 5?

Risposta

Windows XP (e versioni successive) viene fornito con SAPI 5.

Domanda

Come faccio a sapere quali voci per la sintesi vocale sono state installate sul computer?

Risposta

È possibile visualizzare tutte le voci disponibili sul computer nel Pannello di Controllo -> Riconoscimento vocale -> Proprietà del riconoscimento vocale -> Text To Speech (Sintesi vocale di un testo) -> Selezione della voce..

Domanda

Come posso fare un'installazione non presidiata di Balabolka?

Risposta

Per installare Balabolka in modalità silenziosa, senza finestre di dialogo, si può utilizzare un'installazione non presidiata all'utente. L'installazione non presidiata è disponibile utilizzando -silent dalla riga di comando.

Domanda

Apro un file DjVu, ma il programma non mostra alcun testo. Cos'è che non va?

Risposta

Il formato DjVu è stato progettato per memorizzare i documenti scansionati. Un file DjVu contiene immagini di pagine di libri, riviste, ecc. Inoltre, il formato DjVu può contenere un livello di testo OCR.

Balabolka è in grado di estrarre i dati da un solo livello di testo di DjVu. Se tale livello non è disponibile, l'unico modo per ottenere il testo è quello di utilizzare un sistema di riconoscimento di testo (ad esempio, FineReader).

Domanda

Il mio computer contiene due schede audio. Come posso scegliere una periferica audio per la riproduzione della sintesi vocale?

Risposta

Si può selezionare Sintesi vocale nel Pannello di Controllo di Windows e premere il pulsante Output Audio nella finestra di dialogo Proprietà riconoscimento vocale. Inoltre, Balabolka contiene la voce di menù principale "Opzioni | Uscita audio".

Domanda

Il mio computer ha una versione di Windows a 64 bit. Ho installato il pacchetto Runtime a 64-bit per Microsoft Speech Platform e le voci in inglese. Ma l'elenco delle voci disponibili è ancora vuoto. Dov'è il problema?

Risposta

Balabolka è un'applicazione a 32 bit. È necessario installare anche il pacchetto Runtime a 32-bit per la piattaforma Microsoft Speech.

Domanda

La voce dice ogni volta "spazio", quando un testo contiene uno spazio senza interruzione (ALT+0160). Come risolvere questo problema?

Risposta

Il programma è in grado di sostituire automaticamente, durante la lettura, gli spazi senza interruzione con spazi normali. Scegli la voce di menù principale "Opzioni | Impostazioni", nella finestra"Impostazioni"(scheda" Lettura") la casella Ignora i seguenti caratteri durante la lettura. Aggiungi il carattere spazio per l'elenco dei simboli ignorabili: tieni premuto ALT e digita "0160" sul tastierino numerico.

Domanda

Come posso rimuovere i trattini all'inizio dei paragrafi?

Risposta

È necessario utilizzare il menu principale "Modifica | Sostituisci". Digita ^p— nel campo Trova e ^p nel campo Sostituisci con. E' possibile trovare ulteriori informazioni sui codici speciali qui.

Domanda

Cos'è Google Text-To-Speech?

Risposta

In Google Translate trovi il pulsante "Ascolta" che converte il testo in parlato. Dopo aver premuto questo pulsante, il browser inizia a scaricare un file MP3. Il servizio supporta la conversione vocale di testi non più lunghi di 100 simboli. Balabolka consente di dividere un testo esteso in porzioni più piccole, creando diversi files audio per ciascuna parte ed unendoli tra loro (sono supportati i formati WAV, MP3 ed OGG).

Domanda

Io uso le voci eSpeak per la conversione di sottotitoli in files audio. Ma il file audio risultante, contiene una lettura senza pause. Dov'è il problema?

Risposta

Consigliamo vivamente di non utilizzare eSpeak per la conversione di sottotitoli. Queste voci non supportano il tag XML "silenzio"; vi era lo stesso problema, nelle vecchie versioni di alcune delle altre voci. Si raccomanda di utilizzare le versioni più recenti dei software commerciali (Cepstral, CereProc, IVONA, etc.).

Domanda

Non sono soddisfatto di come Balabolka estrae il testo dai files PDF. È possibile utilizzare un altro modo per l'elaborazione dei PDF?

Risposta

Il processo di estrazione del testo dai files PDF è complicato, perché tali files non contengono testo normale. Per l'estrazione del testo, è possibile utilizzare un programma esterno da riga di comando: per esempio, il programma pdftotext.exe del progetto Xpdf. Copia pdftotext.exe nella sottocartella "utils" nella cartella di Balabolka, scegli la voce del menù principale "Opzioni | Importazione testo", la scheda "Importa testo personalizzato" e clicca il pulsante Aggiungi. Definisci il comando per l'utilizzo di pdftotext.exe:

%BFolder%\utils\pdftotext.exe -q -nopgbrk -enc UTF-8 %Input% %Output%

Definisci il nome del convertitore (ad esempio, "Xpdf Converter"), estensione file ("PDF") e codifica in uscita ("UTF-8"). Dopo l'attivazione dell'opzione Usa al posto del metodo predefinito di estrazione per questo tipo di file il programma sarà in grado di utilizzare l'utility esterna per l'estrazione di testo dai files PDF.

Domanda

Che cos'è Spritz-Reader?

Risposta

Spritz è una nuova tecnologia per incrementare la velocità di lettura. Consente di velocizzare una qualsiasi lettura, permettendo di leggere da 100 a 1000 parole al minuto. La parte che sottrae tempo nella comune lettura, consta principalmente negli effettivi movimenti oculari per seguire il testo parola per parola e frase per frase. Spritz posiziona le parole in una determinata posizione sul display, in cui è possibile riconoscere le parole, senza movimenti oculari.

Domanda

Windows 10 possiede due nuove voci denominate Microsoft Mark Mobile e Microsoft Zira Mobile, ma non sono disponibili nel software per la sintesi vocale. È possibile sbloccare le nuove voci?

Risposta

Per impostazione predefinita, la voce di Microsoft mobile è bloccata per l'utilizzo in software di sintesi vocale tramite SAPI 5. È possibile sbloccarla con una semplice modifica al Registro di Sistema. Scarica l' archivio, estrai il file per la tua lingua e per la versione del tuo sistema operativo ("mobile_x86.reg" per 32bit e "mobile_x64.reg" per 64bit), click destro del mouse sul nome del file e scegli la voce del menù contestuale "Unisci ". La voce Microsoft mobile sarà visualizzata nell'elenco delle voci disponibili in Balabolka.

Domanda

Alcuni documenti contengono degli URLs lunghi. Come far leggere un indirizzo web abbreviato a Balabolka?

Risposta

Il problema può essere risolto mediante l'utilizzo del dizionario per la correzione della pronuncia. Aggiungere questa regola al file-REX:

((http|ftp|https)://)?(www\.)?([-a-zA-Z0-9@:%._\+~#\=]{2,256}\.[a-z]{2,6}\b)([-a-zA-Z0-9@:%_\+.~#?&//\=]*)=$4

L'espressione regolare andrà a sostituire l'indirizzo web con il nome del dominio ("example.com").

Domanda

Posso utilizzare la prima riga di testo come nome del file audio (ad esempio, "01 Capitolo Uno.mp3", "02 Capitolo Due.mp3")?

Risposta

Digita %FirstLine%. nel campo "Nome di base del file di destinazione" nella finestra "Dividi e converti in files audio". L'applicazione sostituirà questa variabile con la prima riga di ogni parte del testo. Per modificare la posizione del numero di sequenza all'interno del nome del file, utilizzare la variabile %Number%.

Domanda

Che cos'è l'interfaccia IFilter?

Risposta

L'interfaccia IFilter funziona con i documenti. Fornisce filtri per estrarre informazioni da formati di file proprietari. I motori di ricerca integrale di testo, richiamano i metodi dell'interfaccia di IFilter. I filtri IFilter sono disponibili per Adobe PDF, WordPerfect e molti altri formati di file popolari. È possibile ottenere i files d'installazione degli IFilter dai rispettivi fornitori. IFilter.org è un buon punto d'inizio. Si noti che Balabolka è un'applicazione a 32 bit e potrebbe essere necessario installare la versione a 32 bit di IFilter.

Domanda

Come faccio a cambiare una voce durante la lettura ad alta voce?

Risposta

Utilizzare i tags XML. Si consiglia di scrivere i tags di apertura e chiusura all'interno dello stesso paragrafo. Per esempio:

<voice required="Name=Microsoft Zira Desktop">Ciao, come stai?</voice>
<voice required="Name=IVONA 2 Amy">Sto bene.</voice>

Domanda

Posso utilizzare i files multimediali generati con Balabolka nei video di YouTube?

Risposta

Balabolka è freeware, quindi puoi creare files audio gratuitamente. Ma se usi voci commerciali, devi contattare gli sviluppatori delle voci ed acquistare la licenza per l'uso commerciale/ trasmissione audio. La licenza di distribuzione audio ti consentirà di utilizzare la voce nei video di YouTube.

Ad esempio, dalle informazioni dal sito Cepstral : "Le voci personali Cepstral sono solo per uso personale e non sono concesse in licenza per la distribuzione audio. Ciò significa che l'audio creato è solo ad uso personale e non può essere condiviso con altri o utilizzato in video, presentazioni o pagine web. Se siete interessati a una licenza di distribuzione audio, vi preghiamo di contattare l'Ufficio Vendite."


Utilizzo degli elenchi di sostituzione

Regole di sostituzione

Pannello dei dizionari

L'applicazione consente di utilizzare un file di testo speciale con regole di sostituzione ("dizionario"), per migliorare la pronuncia delle parole. Ogni riga del file contiene una regola di sostituzione. Le regole possono essere espressioni regolari (nomi di file con estensione *.rex) o modelli (nomi di file con estensione *.dic). Files con estensione *.bxd combina le opzioni di due altri formati.

Quando l'utente indica al programma di leggere il testo ad alta voce, Balabolka controlla nel dizionario quali parole nel testo richiedono una correzione della pronuncia ed applica la regola di sostituzione rispettiva dal dizionario. Il testo modificato viene inviato agli Appunti vocali del computer e la voce legge il testo ad alta voce.

Per visualizzare l'elenco dei dizionari utilizzati dal programma, seleziona la voce di menù "Visualizza | Mostra | Pannello dei dizionari" o premi F11. Sulla destra della finestra principale, verrà visualizzato l'elenco dei nomi dei files; esso è diviso in due parti:

  • parte superiore - files con elenchi di sostituzione;
  • parte inferiore - files con elenchi di omografi (eteronimi).

Voci sintetizzate differenti possono utilizzare elenchi di sostituzione differenti. L'utente può selezionare i files necessari dall'elenco.

Per creare un nuovo dizionario, fai un click destro sul pannello dei dizionari e nel menù contestuale seleziona "Nuovo" e quindi digita il nome del file del nuovo dizionario. Il file verrà creato sul disco ed il nome verrà visualizzato nell'elenco del pannello.

Se l'utente vuole apportare modifiche all'elenco di sostituzione, deve selezionare il file necessario dall'elenco stesso e cliccare su "Modifica". Verrà aperta una finestra per modificare l'elenco di sostituzione. Per aggiungere una nuova regola di sostituzione è necessario compilare i campi "Leggi questo:" e "come questo:", quindi cliccare su "Aggiungi". Al termine del processo di modifica, clicca su "Salva" e chiudi l'editor.

Elenco generale delle regole

Se vengono selezionati più nomi di file dall'elenco, le regole di questi dizionari sono unite automaticamente dall'applicazione in un unico elenco memorizzato nella memoria del computer. Per visualizzare questo elenco, clic destro del mouse sul pannello dei dizionari e scegli "Mostra elenco" dal menù a comparsa.

Quando le regole provenienti da files differenti sono unite in un elenco condiviso, ecco ciò che accade:

  • regole da *.bxd i files vengono aggiunti uno dopo l'altro, in quanto si trovano all'interno del vocabolario; i files vengono elaborati in ordine alfabetico;
  • lo stesso ordine di elaborazione delle regole dei *.rex files;
  • tutte le regole dei *.dic i files sono ordinati in modo tale che prima vengono le regole che distinguono maiuscole e minuscole, poi quelle senza distinzione di maiuscole e minuscole, quindi le regole vengono ancora ordinate per modello lunghezza - quelli con il modello più lungo di simboli sono posizionati più vicini alla parte superiore.

L'ordine delle regole nell'elenco è importante in caso vi siano più regole, applicabili alla stessa parola nel testo. Balabolka esegue la sostituzione in sequenza, vale a dire, verrà applicata la seconda regola al testo già modificato dalla prima regola nell'elenco. In questo caso, l'ordine delle regole è importante.

Le regole da file con estensione *.rex verranno applicate per prime. Per verificare il risultato delle regole che si applicano al documento corrente, utilizza le voci del menù principale "Opzioni | Correzione pronuncia | Visualizza testo modificato" ed "Opzioni | Correzione pronuncia | Statistiche di sostituzione".

Strumenti aggiuntivi

Per trovare una coppia di regole che influenzino lo stesso testo, è necessario selezionare la voce di menù "Opzioni | Correzione della pronuncia | Trova coppie di regole". Ciò consente di trovare le regole che non vengono mai utilizzate: un'altra regola ha già modificato questa espressione nel testo.

Molto spesso, è necessaria la correzione della pronuncia di nomi di persona, nomi di luoghi, soprannomi di animali, nomi di organizzazioni, etc. La ricerca di queste parole nel documento corrente, può essere facilitata mediante il menù principale in "Opzioni | Correzione della pronuncia | Trova nomi nel testo". Balabolka permette di visualizzare tre elenchi di parole trovate:

  • nomi (parole che iniziano sempre con una lettera maiuscola nel documento corrente);
  • tutte le parole con iniziale maiuscola;
  • tutte le parole presenti nel testo del documento.

Mentre ci si sposta nell'elenco delle parole, l'applicazione leggerà automaticamente la parola ad alta voce. Se una parola viene letta in modo errato, è possibile correggerne la pronuncia, con l'aggiunta di una nuova regola al dizionario. L'elenco dei nomi individuati può essere ordinato in ordine alfabetico od in base alla frequenza di utilizzo della parola nel testo. Inoltre, puoi disabilitare solo la visualizzazione di parole che appaiono nel testo ripetutamente; ciò permetterà di accelerare il controllo dell'elenco dei nomi individuati nel documento corrente.

Profili

Lo stato corrente delle impostazioni del pannello può essere memorizzato come "profilo". Per creare e modificare i profili, utilizza la voce di menù "Opzioni | Correzione della pronuncia | Profili".


Files-REX con le correzioni della pronuncia

Su ogni riga, il secondo set di lettere è la sostituzione della pronuncia fonetica per il primo set di lettere. Devi essere a conoscenza del fatto che le sostituzioni avvengono nell'ordine in cui appaiono. Per esempio, queste due linee:

rat=mouse
mouse=hamster

rat diventa hamster. Ciò potrebbe non essere ciò che si intendeva.

Le righe del commento iniziano con il simbolo cancelletto (#) e vengono ignorate.

La stringa sul lato sinistro può contenere un modello di espressione regolare. I modelli di espressione regolare non distinguono tra maiuscole e minuscole. Se si desidera definire il modello che distingua maiuscole e minuscole, è necessario aggiungere il simbolo "@" all'inizio della riga; per esempio:

@DDT=Dipartimento dei Trasporti

Di seguito i caratteri e le sequenze che possono essere utilizzati.

Carattere | Descrizione
\ | Contrassegna il carattere successivo come carattere speciale o letterale. Per esempio, "n" corrisponde al carattere "n". "\n" corrisponde ad un carattere di una nuova riga. La sequenza "\\" corrisponde a "\", "\(" corrisponde a "(" e "\=" corrisponde a "=".
^ | Corrisponde all'inizio dell'input.
$ | Corrisponde alla fine dell'input.
* | Corrisponde al carattere precedente zero o più volte. Per esempio, "zo*" corrisponde a "z" o "zoo".
+ | Corrisponde al carattere precedente una o più volte. Ad esempio, "zo +" corrisponde a "zoo" ma non a "z".
? | Corrisponde al carattere precedente zero od una volta. Per esempio, "a?ve?" corrisponde a "ve" in "never".
. | Corrisponde a qualsiasi carattere singolo tranne ad un carattere di una nuova riga.
(pattern) | Corrisponde al pattern e ricorda la corrispondenza. La sottostringa corrispondente può essere recuperata utilizzando il carattere speciale $N, dove N è l'ennesima istruzione tra parentesi nell'espressione regolare. Per far corrispondere i caratteri parentesi ( ), usa "\(" o "\)".
x|y | Corrisponde a x o y. Per esempio, "z|food" corrisponde a "z" o "food". "(z|f)oo" corrisponde a "zoo" o "foo".
{n} | n è un numero intero non negativo. Corrisponde esattamente a n volte. Per esempio, "o{2}" non corrisponde ad "o" in "Bob," ma corrisponde alle prime due o in "foooood".
{n,} | n è un numero intero non negativo. Corrisponde almeno a n volte. Per esempio, "o{2,}" non corrisponde ad "o" in "Bob e corrisponde a tutte le o in "foooood." "o{1,}" è equivalente ad "o+". "o{0,}" è equivalente ad "o*".
{n,m} | m e n sono numeri interi non negativi. Corrisponde almeno a n e non superiore a m volte. Per esempio, "o{1,3}" corrisponde alle prime tre o in "fooooood." "o{0,1}" è equivalente ad "o?".
[xyz] | Un set di caratteri. Corrisponde ad uno qualsiasi dei caratteri inclusi. Per esempio, "[abc]" corrisponde alla "a" in "plain".
[^xyz] | Un set di caratteri negativi. Corrisponde a qualsiasi carattere non incluso. Per esempio, "[^abc]" corrisponde alla "p" in "plain".
[a-z] | Un intervallo di caratteri. Corrisponde a qualsiasi carattere nell'intervallo specificato. Per esempio, "[a-z]" corrisponde a qualsiasi carattere alfabetico minuscolo nell'intervallo dalla "a" alla "z".
[^m-z] | Un intervallo di caratteri negativi. Corrisponde a qualsiasi carattere non presente nell'intervallo specificato. Per esempio, "[m-z]" Corrisponde a qualsiasi carattere non presente nell'intervallo dalla "m" alla "z".
\b | Corrisponde alla fine di una parola che è la posizione tra una parola ed uno spazio. Per esempio, "er\b" corrisponde a "er" in "never" ma non ad "er" in "verb".
\B | Corrisponde ad un carattere non alfabetico alla fine. "ea*r\B" corrisponde ad "ear" in "never early".
\d | Corrisponde ad una cifra. Equivalente a [0-9].
\D | Corrisponde ad un carattere non numerico. Equivalente a [^0-9].
\f | Corrisponde ad un carattere di avanzamento modulo.
\n | Corrisponde ad un carattere di una nuova riga.
\r | Corrisponde ad un carattere di ritorno a capo.
\s | Corrisponde a qualsiasi spazio vuoto compresi spazio, tabulazione, avanzamento modulo, ecc. Equivalente a "[ \f\n\r\t\v]".
\S | Corrisponde a qualsiasi carattere diverso dallo spazio. Equivalente a "[^ \f\n\r\t\v]".
\t | Corrisponde ad un carattere di tabulazione.
\v | Corrisponde ad un carattere di tabulazione verticale.
\w | Corrisponde a qualsiasi carattere compreso il carattere di sottolineatura. Equivalente a "[A-Za-z0-9_]".
\W | Corrisponde a qualsiasi carattere alfabetico e non. Equivalente a "[^A-Za-z0-9_]".
\num | Corrisponde a num, dove num è un numero intero positivo. Un riferimento alle corrispondenze ricordate. Per esempio, "(.)\1" corrisponde a due caratteri identici consecutivi.
\n | Corrisponde a n, dove n è un valore di escape ottale. I valori di escape ottale, devono avere una lunghezza pari ad 1, 2, o 3 cifre. Per esempio, "\11" e "\011" corrispondono entrambe ad un carattere di tabulazione. "\0011" è l'equivalente di "\001" & "1". I valori di escape ottali non devono superare 256. Se lo fanno, solo le prime due cifre comprendono l'espressione. Consente i codici ASCII per essere utilizzato nelle espressioni regolari.
\xn | Corrisponde a n, dove n è un valore di escape esadecimale. I valori di escape esadecimali devono avere esattamente una lunghezza pari a due cifre. Per esempio, "\x41" corrisponde ad "A". Consente i codici ASCII per essere utilizzato nelle espressioni regolari.
\x{n} | Corrisponde a n, dove n è un valore di escape esadecimale. I valori di escape esadecimali devono avere esattamente una lunghezza pari a 4 cifre. Per esempio, "\x{00dc}" corrisponde a "Ü". Consente i codici Unicode per essere utilizzato nelle espressioni regolari.

Balabolka supporta gli operatori speciali per la conversione del testo in in MAIUSCOLO o minuscolo.

Operatore | Descrizione
\U | Converte tutti i caratteri successivi ad \L od \E in MAIUSCOLO.
\L | Converte tutti i caratteri successivi ad \U od \E in minuscolo.
\E | Disattiva la conversione in lettere MAIUSCOLE/minuscole.
\u | Converte il carattere successivo in MAIUSCOLO.
\l | Converte il carattere successivo in lettere minuscole.

Ad esempio, l'espressione:

(test)=\U$1\E

convertirà "test" in "TEST".


File-DIC con le correzioni di pronuncia

Su ogni riga, il secondo set di lettere è la sostituzione della pronuncia fonetica per il primo set di lettere. Le righe del commento iniziano con il simbolo cancelletto (#) e vengono ignorate.

I modelli non distinguono maiuscole e minuscole. Se si desidera definire un modello con una distinzione tra maiuscole e minuscole, è necessario aggiungere il simbolo "$" all'inizio della riga; per esempio:

$DDT=Dipartimento dei Trasporti

Come impostazione predefinita, il modello corrisponde alla parola intera (od a poche parole). Se ci sono lettere prima o dopo il modello, viene utilizzato il simbolo "*". Per esempio:

auto*=avto

Questo modello corrisponde ad "autocatalisi", "autogenesi", "autobiografia", ecc. Due simboli speciali sequenziali ("#", "*", "=", "$") indicano un singolo carattere; ad esempio:

**=asterisco


Omografi

Alcune parole chiamate omografi od omogrammi, sono la causa, probabilmente maggiore, di problemi nei sistemi TTS. Gli omografi sono scritti allo stesso modo, ma differiscono nel significato e di solito nella pronuncia (ad es. fair, lives). La parola lives ad esempio è pronunciata in modo diverso nelle frasi "Three lives were lost" ed "One lives to eat". Alcune parole, ad esempio lead, ha diverse pronunce se usato come verbo o sostantivo e nei due sensi come sostantivo (He followed her lead / He covered the hull with lead). Per ottenere la pronuncia corretta con questi tipi di parole, sono necessarie alcune informazioni semantiche.

La pronuncia di una certa parola può anche essere diversa a causa di effetti contestuali. E' facile notarlo quando si confrontano le frasi the end e the beginning. La pronuncia di the dipende dal fonema iniziale nella parola seguente. Anche le parole composte sono problematiche. Per esempio i caratteri 'th' in mother e hothouse si pronunciano in modo diverso. Alcuni suoni possono anche essere pronunciati o non pronunciati in un contesto differente. Per esempio, il fonema /s/ nella parola dogs è pronunciato, ma non lo è nella parola cats.

Gli eteronimi sono un tipo di omografi. Sono parole scritte nello stesso modo, ma di diverso significato e pronuncia. Tutti gli eteronimi sono anche omografi, ma non tutti gli omografi sono eteronimi. Molti eteronimi hanno un significato simile (in particolare un sostantivo ed un verbo correlato sono scritti nello stesso modo, ma pronunciati diversamente), mentre altri sono del tutto indipendenti.

Trovare la pronuncia corretta per i nomi propri, specialmente quando sono presi in prestito da altre lingue, è di solito uno dei compiti più difficili per qualsiasi sistema TTS. Alcuni nomi comuni, come Nice e Begin, sono ambigui in un contesto maiuscolo, compresa la posizione iniziale della frase, dei titoli e del singolo testo. Per esempio, la frase Nice is a nice place è molto problematica perché la parola Nice può essere pronunciata come /niis/ o /nais/. Alcuni nomi e luoghi hanno anche una pronuncia speciale, come Leicester ed Arkansas. Per una corretta pronuncia, questi tipi di parole possono essere inseriti in specifiche eccezioni nei dizionari (file con estensione *.hmg, ad esempio English.hmg).

Su ogni riga, il secondo set di lettere contiene le sostituzioni di pronuncia fonetica per il primo set di lettere, enumerati tramite virgole. Per esempio:

lead=leed,led

I modelli non distinguono maiuscole e minuscole. Se si desidera definire un modello che distingua maiuscole e minuscole, è necessario aggiungere il simbolo "$" all'inizio della riga:

$Nice=Niis,Nais

Il programma Balabolka permette di aggiungere l'elenco di espressioni per ogni omografo (scheda "Espressioni con omografo" nell'editor degli omografi); queste espressioni verranno sostituite automaticamente durante la ricerca degli omografi (voce di menù principale "Testo | Trova omografi"). Per esempio:

close=close,cloze

too close=close
to close his eyes=cloze

Se l'espressione deve distinguere maiuscole e minuscole, è necessario aggiungere il simbolo "$" all'inizio del testo:

$Nice=Niis,Nais

$city Nice=Niis
nice to have=nais

Il carattere jolly "*" può essere utilizzato al posto di qualsiasi parola od alcune lettere all'interno di una parola (all'inizio od alla fine di una parola):

close=close,cloze

to close * eyes=cloze


Tags di controllo (SAPI 4)

Questa sezione descrive i tags di controllo della sintesi vocale che possono essere incorporati nel testo di partenza per migliorarne la prosodia della traduzione per la sintesi vocale stessa:

  • Sintassi
  • Convenzioni
  • Chr
  • Com
  • Ctx (alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • Dem (nuovo per SAPI 4.0 -- alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • Emp (alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • Eng
  • Mrk
  • Pau
  • Pit
  • Pra (nuovo per SAPI 4.0 -- alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • Prn (alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • Pro (alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • Prt (alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • RmS (nuovo per SAPI 4.0 -- alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • RmW (nuovo per SAPI 4.0 -- alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • RPit (nuovo per SAPI 4.0 -- alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • RPrn (nuovo per SAPI 4.0 -- alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • RSpd (nuovo per SAPI 4.0 -- alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • Rst (nuovo per SAPI 4.0)
  • Spd
  • Vce (alcuni motori di riconoscimento vocale potrebbero non supportare questo tag)
  • Vol

Un motore di sintesi vocale, solitamente, può correttamente tradurre delle singole parole nella lettura. Tuttavia, non appena il motore legge una frase, diminuisce la qualità percepita della sua traduzione perchè il motore, non sintetizza correttamente la prosodia umana - l'inflessione, l'accento e l'isocronia (suddivisione ritmica del tempo all'interno di una frase) della voce umana.

La prosodia della parola tradotta può essere migliorata utilizzando i tags di controllo della sintesi vocale per simulare meglio il linguaggio umano.

Questa sezione descrive i tags di controllo che è possibile utilizzare per modificare la prosodia del testo tradotto per la lettura. Tutti i tags sono opzionali, tranne il tag segnalibro (Mrk), che deve essere supportato.

Sintassi

Il tag di controllo della sintesi vocale segue le seguenti regole generali di sintassi:

  • Tutti i tags iniziano e terminano con una barra rovesciata (\).
  • Il carattere barra rovesciata non è consentito all'interno di un tag.
  • Un numero dispari di barre rovesciate in un testo con tags, produce comportamenti imprevisti nel motore.
  • I tags non distinguono maiuscole e minuscole. Per esempio \vce\ è lo stesso che \VCE\.
  • I tags sono spazio -- dipendenti. Per esempio \Rst\ non è lo stesso di \ Rst \.

Per includere un carattere barra rovesciata in un testo con tags, ma al di fuori di un tag, utilizzare una doppia barra rovesciata (\\).

Se nell'applicazione hai inserito una parte di testo con dei tags e vuoi che venga letto il nome di un file tipo "c:\windows\system\test.txt", allora dovresti raddoppiare le barre rovesciate (ad es., "c:\\windows\\system\\test.txt").

Campioni:

  • code\ ctx="e-mail" \ - Dovrebbe essere analizzato come un tag "e-mail".
  • \ctx="e-mail" - Dovrebbe essere ignorato dal momento che è un tag non chiuso alla fine di un documento.
  • \\ctx="e-mail"\\ - Dire "back-slash c t x equivale ad e-mail back-slash"
  • \\\\\\\\ctx="e-mail"\\\\\\\\ - Dire "backslash backslash backslash backslash c t x equivale ad e-mail backslash backslash backslash backslash"
  • \ctm="e-mail"\ - Ignorato perché è un tag sconosciuto.

Quando il motore di sintesi vocale rileva un tag che non capisce, il tag viene ignorato.

Convenzioni

Questa sezione utilizza le seguenti convenzioni tipografiche.

Esempio | Descrizione
Chr | Il grassetto indica le parole chiave delle inflessioni nella lettura
stringa | Il corsivo indica i segnaposto per le informazioni fornite, quali un carattere od una stringa di contesto.
[[opzione]] | Le parentesi quadre doppie, indicano gli elementi facoltativi.
[[opzione...]] | Tre puntini di sospensione dopo un elemento, indicano che possono apparire altri elementi aventi la stessa forma.
"C" | Le virgolette sono necessarie per delimitare le stringhe.

Chr

\Chr=stringa[[,stringa...]]\

Imposta il carattere della voce.

Esempio: \Chr="Angry"\

Parametro | Descrizione
stringa | Stringa che specifica le caratteristiche della voce.

La caratteristica predefinita è "Normal," che produce un tono di voce normale. Anche se il tag Chr è meno specifico rispetto all'impostazione dell'inflessione, dell'accento, dell'attacco e delle caratteristiche individuali della lettura sottovoce, è più facile da usare e consente al motore una maggiore flessibilità ed intelligenza nella sua risposta.

Alcune caratteristiche possono essere specificate nello stesso tag, separate da virgole. A seconda delle sue capacità, un motore potrebbe non supportare tutte le caratteristiche qui elencate o potrebbe supportarne di ulteriori. Alcune caratteristiche comuni sono le seguenti:

"Angry"
"Business"
"Calm"
"Depressed"
"Excited"
"Falsetto"
"Happy"
"Loud"
"Monotone"
"Perky"
"Quiet"
"Sarcastic"
"Scared"
"Shout"
"Tense"
"Whisper"

Com

\Com=stringa\

Incorpora un commento nel testo. I commenti non vengono convertiti per la lettura.

Esempio: \com="Questo è un commento."\

Parametro | Descrizione
stringa | Testo del commento.

Ctx

\Ctx=stringa\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

Imposta il contesto per il testo che segue, che determina come verranno letti i simboli.

Esempio: \ctx="Unknown"\

Parametro | Descrizione
stringa | Stringa che specifica il contesto.

Questo parametro può corrispondere ad una di queste stringhe:

Stringa di contesto | Descrizione
"Address" | Indirizzi e/o numeri di telefono
"C" | Codice in linguaggio di programmazione C o C++
"Document" | Documento di testo
"E-Mail" | Posta elettronica
"Numbers" | Numeri, date, orari e così via
"Spreadsheet" | Foglio di calcolo
"Unknown" | Il contesto è sconosciuto (impostazione predefinita)
"Normal" | Modalità di riconoscimento vocale Normale/Predefinito .

Dem

\Dem\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

De-enfatizza la parola successiva.

Emp

\Emp\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

Enfatizza la pronuncia della parola successiva .

Esempio: the \Emp\truth, the \Emp\whole truth, and nothing \Emp\but the truth.

Eng

\Eng;GUID:comando\
\Eng:comando\

Incorpora un comando ad un motore specifico che ha efficacia solo sul motore con l'identificatore univoco globale specificato (GUID). Tags susseguenti specifici per motori di un determinato motore, possono omettere la GUID fino a quando non viene utilizzato un tag specifico per motori, di un motore diverso.

Parametro | Descrizione
GUID | Identificatore univoco globale del motore.
comando | Comando motore-specifico.

Mrk

\Mrk=numero\

Indica un segnalibro nel testo.

Esempio: \Mrk=75000\

Parametro | Descrizione
numero | Numero del segnalibro.

Il tag Mrk accetta una rappresentazione decimale. Il segnalibro numero zero (\Mrk=0\) è riservato.

Pau

\Pau=numero\

Mette in pausa la lettura per il numero specificato di millisecondi.

Esempio: \Pau=1000\

Parametro | Descrizione
numero | Numero di millisecondi di durata della pausa.

Pit

\Pit=numero\

Imposta il tono di partenza in modalità sintesi vocale, al valore specificato in hertz.

Esempio: \Pit=90\

Parametro | Descrizione
numero | Tono, in hertz.

Il tono effettivo oscilla sopra e sotto la linea di partenza.

Pra

\Pra=valore\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

Imposta la gamma del tono.

Parametro | Descrizione
valore | Gamma del tono in Hz.

Prn

\Prn=testo=pronuncia\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

Indica come pronunciare il testo passando l'equivalente fonetico al motore.

Esempio: \Prn=tomato=tomaato\

Parametro | Descrizione
testo | Testo da pronunciare.
pronuncia | Equivalente fonetico per pronunciare il testo.

Utilizzando il tag Prn senza specificare la pronuncia di una parola (\Prn=text\) verranno annullate le modifiche della pronuncia stessa; vale a dire che verrà restituita alla parola, la pronuncia originale.

Questo tag è valido solo per i motori che supportano l'Alfabeto Fonetico Internazionale. Il motore dovrebbe continuare ad utilizzare questa pronuncia per la modalità corrente di sintesi vocale e memorizzare la pronuncia nel suo lessico per un uso successivo. Se esiste già una voce di lessico per una determinata parola, il tag Prn per quella parola, dev'essere ignorato.

Pro

\Pro=numero\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

Attiva e disattiva le regole prosodiche, che influenzano il tono, la velocità ed il volume delle parole indipendentemente dai tags di controllo incorporati nel testo. Le regole prosodiche vengono applicate dal motore.

Esempio: \Pro=0\

Parametro | Descrizione
numero | Numero che indica se attivare o disattivare le regole prosodiche. L'impostazione del numero 1, il valore predefinito, attiva le regole prosodiche. L'impostazione del numero 0, disattiva le regole prosodiche.

Prt

\Prt=stringa\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

Indica la lettura di parte della parola successiva.

Esempio: \prt="Abbr"\

Parametro | Descrizione
stringa | Stringa che indica la parte da leggere.

Questo parametro può corrispondere ad una di queste stringhe:

Stringa | Descrizione
"Abbr" | Abbreviazione
"Adj" | Aggettivo
"Adv" | Avverbio
"Card" | Numero cardinale
"Conj" | Congiunzione
"Cont" | Contrazione
"Det" | Determinativo
"Interj" | Interiezione
"N" | Sostantivo
"Ord" | Numero ordinale
"Prep" | Preposizione
"Pron" | Pronome
"Prop" | Nome proprio
"Punct" | Punteggiatura
"Quant" | Quantificatore
"V" | Verbo

RmS

\RmS=numero\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

Consente d'impostare la modalità di lettura per scandire ogni lettera di ogni parola o disattivarla. Non tutti i motori supportano questo tag, sicché, un'applicazione, può ottenere risultati più coerenti, normalizzando il testo stesso ed inserendo gli spazi tra le lettere.

Parametro | Descrizione
numero | Numero che indica se scandire ogni lettera per ogni parola. L'impostazione del numero 1, attiva la modalità di lettura per la scansione di ogni lettera di ogni parola. L'impostazione del numero 0, il valore predefinito, la disattiva.

RmW

\RmW=numero\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

Imposta la modalità di lettura per lasciare delle pause udibili tra ogni parola o la spegne. Non tutti i motori supportano questo tag, sicché, un'applicazione, può ottenere risultati più coerenti, normalizzando il testo stesso ed inserendo gli spazi tra le lettere.

Parametro | Descrizione
numero | Numero che indica se lasciare pause udibili tra ogni parola. Se si imposta sul numero 1, la modalità di lettura lascerà delle pause udibili tra ogni parola. L'impostazione del numero 0, il valore predefinito, la disattiva.

RPit

\RPit=value\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

Imposta il tono relativo.

Parametro | Descrizione
valore | Tono relativo. 100 è l'impostazione predefinita/originale per la voce.

RPrn

\RPrn=value\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

Impostare l'intervallo del tono relativo.

Parametro | Descrizione
valore | Intervallo tono relativo. 100 è l'impostazione predefinita/originale per la voce.

RSpd

\RSpd=value\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

Imposta la velocità relativa. 100 è l'impostazione predefinita/originale per la voce.

Parametro | Descrizione
valore | Velocità relativa. 100 è l'impostazione predefinita/originale per la voce.

Rst

\Rst\

Reimposta il motore alle impostazioni predefinite per la modalità corrente, come se la modalità fosse appena stata ricreata.

Spd

\Spd=numero\

Imposta la velocità media di partenza della lettura in modalità sintesi vocale, sul numero specificato di parole al minuto.

Esempio: \Spd=120\

Parametro | Descrizione
numero | Media di partenza della velocità di lettura, in parole al minuto.

Vce

\Vce=charact=value[[,charact=value]]\
Nota che: alcuni motori di riconoscimento vocale potrebbero non supportare questo tag.

Incarica il motore di cambiare la propria voce con una che abbia le caratteristiche specificate.

Parametro | Descrizione
charact | Una delle caratteristiche elencate nella tabella seguente.
valore | Stringa che specifica la caratteristica.

Le caratteristiche sono indicate in ordine d'importanza. Il motore seleziona una voce che più si avvicina alle caratteristiche specificate all'inizio dell'elenco.

La caratteristica=argomento del valore, può essere uno dei seguenti:

  • Lingua=language. Richiede al motore di leggere nella lingua specificata
  • Accento=accent. Richiede al motore di leggere con l'accento specificato. Per esempio, con language="inglese" ed Accento="francese", il motore leggerà in inglese con accento francese.
  • Dialetto=dialect. Richiede al motore di leggere nel dialetto specificato
  • Sesso=gender. Specifica il genere della voce: "Maschio", "Femmina" o "Neutro".
  • Speaker=speakername. Specifica il nome della voce oppure NULL se il nome è irrilevante
  • Età=age. Specifica l'età della voce, che può essere uno dei valori mostrati sotto
  • Stile=style. La personalità della voce -- per esempio: "Business", "Casual", "Computer", "Excited", o "Singsong".
Stringa dell'età | Descrizione
"Baby" | Circa 1 anno di età
"Toddler" | Circa 3 anni di età
"Child" | Circa 6 anni di età
"Adolescent" | Circa 14 anni di età
"Adult" | Tra i 20 ed i 60 anni
"Elderly" | Oltre 60 anni di età

Vol

\Vol=number\

Imposta il volume di partenza della lettura in modalità sintesi vocale.

Esempio: \Vol=32768\

Parametro | Descrizione
numero | Volume di partenza della lettura

Il livello del volume è un intervallo lineare che parte da 0 per il silenzio assoluto ed arriva a 65535 per il volume monofonico massimo. Il valore predefinito è 65535.

Se si specifica un valore maggiore di 65535, il motore presuppone che si desideri impostare separatamente i canali destro e sinistro e converte il valore in una parola doppia, utilizzando una parola a basso volume per il canale sinistro ed una ad alto volume per il canale destro. Per esempio, un valore pari a 65536, imposta il canale sinistro al massimo il volume di partenza ed il canale destro, al minimo.


Tags XML (SAPI 5)

SAPI 5 synthesis markup è la raccolta dei tags extensible markup language (XML) inseriti nel testo per modificarne la sintesi vocale. Questi tags XML, che forniscono funzionalità come il controllo del volume e l'enfasi della parola, vengono inseriti nel testo. Per impostazione predefinita, il parser XML SAPI rileva automaticamente gli XML. Nel caso di una struttura XML non valida, può essere restituito dal programma un errore di lettura.

Ogni elemento XML è costituito da un tag di inizio <Esempio_tag> ed un tag di fine </Esempio_tag> con un nome di tag senza distinzione tra maiuscole e minuscole e contenuto tra questi tags. Se l'elemento è vuoto, non ha alcun contenuto <Esempio_tag></Esempio_tag> ed il tag d'inizio e fine potrebbero essere gli stessi <Esempio_tag/>.

Tutti gli elementi XML devono essere annidati correttamente tra loro.

SCORRETTO:

<tag1><tag2> text </tag1></tag2>

CORRETTO:

<tag1><tag2> text </tag2></tag1>

Poiché l'elemento <tag2> viene aperto all'interno dell'elemento <tag1>, deve essere chiuso all'interno dell'elemento <tag1>.

Utilizzare la voce del menù principale "Testo | Inserisci tag XML" per aggiungere tags al testo selezionato. Un tag d'inizio verrà inserito all'inizio del testo selezionato ed un tag di fine, alla fine del testo.

I tags XML SAPI text-to-speech (TTS) si suddividono in numerose categorie.

  • Controllo dello stato della voce
  • Inserimento diretto dell'elemento
  • Controllo del contesto vocale
  • Selezione delle voci
  • Pronuncia personalizzata

Tags di controllo dello stato della voce

SAPI TTS XML supporta cinque tags che controllano lo stato della voce corrente: volume, velocità, tono, enfasi e pronuncia.

Volume

Il tag Volume controlla il volume di una voce. Il tag può essere vuoto ed in tal caso, verrà applicato a tutto il testo successivo oppure, può avere del contenuto e pertanto, verrà applicato solo a tale contenuto.

Il tag Volume ha un attributo necessario: Level. Il valore di questo attributo dev'essere un numero intero compreso tra zero e cento. I valori al di fuori di questo intervallo saranno troncati.

<volume level="50"> Questo testo dovrebbe essere letto ad un livello di volume pari a cinquanta. <volume level="100"> Questo testo dovrebbe essere letto ad un livello di volume pari a cento. </volume> </volume>
<volume level="80"/> Tutto il testo che segue dovrebbe essere pronunciato con volume a livello ottanta.

Cento rappresenta il livello di volume predefinito di una voce. Valori più bassi, rappresentano delle percentuali di questa impostazione predefinita. Vale a dire che 50, corrisponde al 50% del volume massimo.

Rate

Il tag Rate, controlla la rapidità della lettura. Il tag può essere vuoto ed in tal caso, verrà applicato a tutto il testo successivo oppure, può avere del contenuto e pertanto, verrà applicato solo a tale contenuto.

Il tag Rate ha due attributi, Speed e AbsSpeed, uno dei quali deve essere presente. Il valore di entrambi gli attributi dev'essere un numero intero tra -10 e +10. I valori al di fuori di questo intervallo, possono essere troncati dal motore (ma non vengono troncati dalla SAPI). L'attributo AbsSpeed controlla la velocità assoluta della voce, quindi un valore dieci, corrisponde sempre ad un valore dieci, un valore cinque, corrisponde sempre ad un valore cinque.

<rate absspeed="5"> Questo testo dovrebbe essere letto a velocità cinque. <rate absspeed="-5"> Questo testo dovrebbe essere letto a velocità cinque negativo. </rate> </rate>
<rate absspeed="10"/> Tutto il testo che segue dovrebbe essere pronunciato con velocità a livello dieci.

L'attributo Speed, controlla la velocità relativa della voce. Il valore assoluto viene trovato aggiungendo ogni Speed al valore assoluto corrente.

<rate speed="5"> Questo testo dovrebbe essere letto a velocità cinque. <rate speed="-5"> Questo testo dovrebbe essere letto a velocità zero. </rate> </rate>

Zero rappresenta la velocità predefinita di una voce, con valori positivi accelera e con valori negativi decelera.

Pitch

Il tag Pitch controlla il tono di una voce. Il tag può essere vuoto ed in tal caso, verrà applicato a tutto il testo successivo oppure, può avere del contenuto e pertanto, verrà applicato solo a tale contenuto.

Il tag Pitch ha due attributi, Middle ed AbsMiddle, uno dei quali deve essere presente. Il valore di entrambi gli attributi dev'essere un numero intero tra -10 e +10. I valori al di fuori di questo intervallo, possono essere troncati dal motore (ma non vengono troncati dalla SAPI).

L'attributo AbsMiddle controlla il tono assoluto della voce, quindi un valore dieci, corrisponde sempre ad un valore dieci, un valore cinque, corrisponde sempre ad un valore cinque.

<pitch absmiddle="5"> Questo testo dovrebbe essere letto a tono cinque. <pitch absmiddle="-5"> Questo testo dovrebbe essere letto a tono cinque negativo. </pitch> </pitch>
<pitch absmiddle="10"/> Tutto il testo che segue dovrebbe essere pronunciato con tono a livello dieci.

L'attributo Middle controlla il relativo tono di voce. Il valore assoluto viene trovato aggiungendo ogni Middle al valore assoluto corrente.

<pitch middle="5"> Questo testo dovrebbe essere letto a tono cinque. <pitch middle="-5"> Questo testo dovrebbe essere letto a tono zero.</pitch> </pitch>

Zero rappresenta il tono medio predefinito per la voce, con valori positivi aumenta e con valori negativi diminuisce.

Emph

Il tag Emph incarica la voce di sottolineare una parola od una sezione di testo. Il tag Emph non può essere vuoto. La parola seguente dovrebbe essere enfatizzata.

<emph> boo </emph>!

Il metodo di enfasi può variare da una voce all'altra.

Spell

Il tag Spell costringe la voce a scandire tutto il testo, piuttosto che usare la propria parola predefinita e le regole d'interruzione della frase, le regole di normalizzazione e così via. Tutti i caratteri dovrebbero essere estesi alle parole corrispondenti (inclusi punteggiatura, numeri e così via). Il tag Spell non può essere vuoto.

<spell> Queste parole dovrebbero essere scandite. </spell>
Queste parole non dovrebbero essere precisate.

Tags d'inserimento elemento diretto

Tre i tags supportati dalle applicazioni con la possibilità d'inserire direttamente elementi ad un certo livello: Silence, Pron e Bookmark.

Silenzio

Il tag Silence inserisce un numero specificato di millisecondi di silenzio nel flusso audio in uscita. Questo tag deve essere vuoto e deve avere un attributo, Msec.

<silence msec="500"/>=vengono eseguiti cinquecento millisecondi di silenzio

Pron

Il tag Pron inserisce una pronuncia specificata. La voce elaborerà la sequenza di fonemi, esattamente come sono specificati. Questo tag può essere vuoto oppure può avere dei contenuti. Se ha un contenuto, sarà interpretato fornendo la pronuncia per il testo che racchiude. Vale a dire che, il testo allegato, non sarà elaborato come lo sarebbe normalmente.

Il tag Pron ha un attributo, Sym, il cui valore è una stringa di fonemi separati da spazi vuoti.

<pron sym="h eh l l ow & w er l l d "/>
<pron sym="h eh l l ow & w er l l d"> hello world </pron>

L'uso dei fonemi è descritto qui.

Bookmark

Il tag Bookmark inserisce un evento segnalibro nel flusso audio in uscita. Utilizza questo evento per segnalare all'applicazione quando l'audio corrispondente al testo con il tag Bookmark è stato raggiunto. Il tag Bookmark dev'essere vuoto.

L'etichetta del tag Bookmark ha un attributo, Mark, il cui valore è una stringa. Questo valore può quindi essere utilizzato, per distinguere tra eventi bookmark (ognuno dei quali conterrà il valore della stringa dal loro tag corrispondente).

L'applicazione riceverà un evento qui,

<bookmark mark="bookmark_one"/>

ed un altro qui

<bookmark mark="bookmark_two"/>

Tags di controllo del contesto vocale

Due tags forniscono il contesto per la voce corrente: PartOfSp e Context. Tali tags permettono alla voce di determinare come trattare il testo che sta elaborando. Con entrambi questi tags, la misura in cui le voci utilizzano il contesto può variare.

PartOfSp

Il tag PartOfSp fornisce la voce con parte della(e) parola(e) racchiusa(e) da leggere. Utilizza questo tag per permettere alla voce di pronunciare correttamente una parola con più pronunce, a seconda della parte della parola da leggere. Il tag PartOfSp non può essere vuoto.

Il tag PartOfSp ha un attributo, Part, che prende una stringa corrispondente ad una parte da leggere con SAPI, come proprio attributo. Sono supportate solo parti definite della lettura con SAPI - "Unknown", "Noun", "Verb", "Modifier", "Function", "Interjection".

<partofsp part="noun"> A </partofsp> è la prima lettera dell'alfabeto.

Did you <partofsp part="verb"> record </partofsp> that <partofsp part="noun"> record </partofsp>?

Context

Il tag Context fornisce alla voce informazioni che la voce stessa può utilizzare per determinare in che modo normalizzare elementi speciali, come date, numeri e valuta. Utilizza questo tag per permettere alla voce di distinguere tra formati di data confondibili (vedi l'esempio di seguito). Il tag Context non può essere vuoto.

Il tag Context ha un attributo, Id, che prende una stringa corrispondente al contesto del testo racchiuso. Vengono definiti da SAPI diversi contesti ed hanno maggiori probabilità di essere riconosciuti da voci compatibili con SAPI, ma può essere utilizzata una qualsiasi stringa. Vedere la documentazione di una particolare voce per ulteriori dettagli.

<context id="date_mdy"> 03/04/01 </context> dovrebbe essere il quattro marzo duemilauno.
<context id="date_dmy"> 03/04/01 </context> dovrebbe essere il tre aprile duemilauno
<context id="date_ymd"> 03/04/01 </context> dovrebbe essere il primo aprile duemilatre.

I tipi di contesto predefiniti sono descritti qui.

Tags per la selezione della voce

Ci sono due tags che possono essere utilizzati (potenzialmente) per cambiare la voce corrente: Voice e Lang.

Voce

Il tag Voice consente di selezionare una voce in base ai relativi attributi, Age, Gender, Language, Name, Vendor e VendorPreferred. Il tag può essere vuoto ed in tal caso, cambiare la voce per tutto il testo successivo, oppure può avere contenuti e cambiare la voce solo per tale contenuto.

Il tag Voice ha due attributi: Required ed Optional. Quando viene utilizzato il tag Voice, gli attributi della voce corrente, vengono aggiunti sempre come attributi facoltativi. Questo significa che, verrà scelta una voce più simile alla voce attuale, rispetto ad una meno somigliante.

Se non verrà trovata alcuna voce che soddisfaccia tutti gli attributi necessari, non verrà attuato alcun cambiamento di voce.

La voce predefinita dovrebbe leggere questa frase. <voice required="Gender=Female;Age!=Child"> Questa frase dovrebbe essere letta con una voce femminile adulta, se esiste. <voice required="Age=Teen"> Questa frase dovrebbe essere letta da un adolescente - per esempio, se è presente una voce da adolescente femminile, essa sarà selezionata rispetto ad una voce da adolescente maschile. </voice> </voice>

Lang

Il tag Lang seleziona una voce basata esclusivamente sul suo attributo Language. Il tag può essere vuoto ed in tal caso, cambiare la voce per tutto il testo successivo, oppure può avere contenuti e cambiare la voce solo per tale contenuto.

Il tag Lang ha un attributo, LangID. Questo attributo dovrebbe essere un LANGID, come 409 (U.S. English) o 411 (Giapponese). Si noti che questi numeri sono esadecimali, ma senza il tipico "0x".

Il tag Lang è una versione abbreviata del tag Voice con l'attributo Required contenente "Language=xxx". Quindi gli esempi seguenti dovrebbero produrre esattamente gli stessi risultati:

<voice required="Language=409"> A U.S. La voce inglese dovrebbe leggere questo. </voice>
<lang langid="409"> A U.S. La voce inglese dovrebbe leggere questo. </lang>

Pronuncia personalizzata

Un'alternativa all'utilizzo del tag <P> con gli attributi DISP e PRON, consiste nell'utilizzare la pronuncia personalizzata. Usando la pronuncia personalizzata, i tags assumerano la forma seguente.

<p disp="disp" pron="pron">word</p>

può essere scritto come

<p>/disp/word/pron;</p>

Più specificamente, se si desidera riconoscere la parola hello solo quando viene pronunciata come ah e visualizzare greeting quando viene riconosciuta, si usa normalmente qualcosa di simile a quanto segue.

<p disp="greeting" pron="ah">hello</p>

Utilizzando la pronuncia personalizzata, quanto sopra si tradurrebbe come mostrato di seguito.

<p>/greeting/hello/ah;</p>


Definizioni dei tags di contesto (SAPI 5)

Il tag XML CONTEXT specifica la normalizzazione di un blocco di testo. Questa specifica definisce gli attributi predefiniti SAPI (ID) per il tag CONTEXT. Questi IDs sono stringhe. SAPI non esegue alcuna convalida dei parametri sulla stringa passata al motore, quindi l'applicazione può specificare gli IDs di normalizzazione specifici per il motore, al motore vocale. Le stringhe specifiche del motore, iniziano con il nome del fornitore del motore, per evitare confusione tra motori.

Per esempio:

<context id="My_Context"> text </context>

L'esatta implementazione di alcuni di questi valori, dipende dal motore utilizzato in SAPI 5. Per forzare una determinata normalizzazione, gli sviluppatori di applicazioni possono scegliere di normalizzare il testo oppure utilizzare un altro tag SAPI o un ID specifico del motore. Ogni tag context può contenere più di una stringa.

Per esempio:

<context id="date_mdy"> 12/21/99 11/21/99 10/21/99 </context>

verrebbe normalizzato in "December twenty first nineteen ninety nine November twenty first nineteen ninety nine October twenty first nineteen ninety nine."

Sono supportati i seguenti tipi di contesto predefiniti:

  • Data
  • Orario
  • Numero
  • Web
  • E-mail
  • Indirizzo

Data

Questo contesto specifica che il numero passato al motore è una data. Le date avranno generalmente il formato del numero [delimitatore] numero [delimitatore] numero o numero [delimitatore] numero dove il delimitatore può essere un '.', '/' or '-', ed i numeri vanno tipicamente da 01 a 12 per i mesi , da 01 a 31 per i giorni. Un anno è generalmente un numero composto da due o quattro cifre.

Di seguito sono riportati i tipi stringa validi:

date_mdy

Ciò normalizzerà la data in modo che, il primo gruppo di numeri sia il mese, il secondo gruppo sia il giorno ed il terzo gruppo sia l'anno. Nel caso in cui l'anno sia un numero a due cifre, il motore lo legge come un numero di due cifre od un numero di quattro cifre.

Per esempio:

<context id="date_mdy">12/21/99</context>

verrà normalizzato in "Dicembre ventuno novantanove"
oppure "Dicembre ventuno diciannove novantanove"

<context id="date_mdy">12/21/1999</context>

verrà normalizzato in "December ventuno novantanovantanove"

date_dmy

Ciò normalizzerà la data in modo che il primo gruppo di numeri sia il giorno, il secondo gruppo sia il mese ed il terzo gruppo sia l'anno. Nel caso in cui l'anno sia un numero a due cifre, il motore lo leggerà come un numero a due cifre. Se l'anno è rappresentato come un numero a quattro cifre, esso verrà rappresentato come un anno a quattro cifre.

Per esempio:

<context id="date_dmy">21.12.99</context>

verrà normalizzato in "ventuno Dicembre novantanove"
oppure "ventuno Dicembre diciannove novantanove"

<context id="date_dmy">21-12-1999</context>

verrà normalizzato in "ventuno Dicembre diciannove novantanove"

date_ymd

Ciò normalizzerà la data in modo che il primo gruppo di numeri sia l'anno, il secondo gruppo sia il mese ed il terzo gruppo sia il giorno. Nel caso in cui l'anno sia un numero a due cifre, il motore lo leggerà come un numero a due cifre. Se l'anno è rappresentato come un numero a quattro cifre, esso verrà rappresentato come un anno a quattro cifre.

Per esempio:

<context id="date_ymd">99-12-21</context>

verrà normalizzato in "ventuno Dicembre novantanove"
oppure "ventuno Dicembre diciannove novantanove"

<context id="date_ymd">1999.12.21</context>

verrà normalizzato in "ventuno Dicembre diciannove novantanove"

date_ym

Ciò normalizzerà la data in modo che il primo gruppo di numeri sia l'anno e il secondo gruppo sia il mese. Nel caso in cui l'anno sia un numero a due cifre, il motore lo leggerà come un numero a due cifre. Se l'anno è rappresentato come un numero a quattro cifre, esso verrà rappresentato come un anno a quattro cifre.

Per esempio:

<context id="date_ym">99-12</context>

verrà normalizzato in "novantanove Dicembre"
o "diciannove novantanove Dicembre"

<context id="date_ym">1999.12</context>

verrà normalizzato in "diciannove novantanove Dicembre"

date_my

Ciò normalizzerà la data in modo che il primo gruppo di numeri sia il mese ed il secondo gruppo sia l'anno. Nel caso in cui l'anno sia un numero a due cifre, il motore lo leggerà come un numero a due cifre. Se l'anno è rappresentato come un numero a quattro cifre, esso verrà rappresentato come un anno a quattro cifre.

Per esempio:

<context id="date_my">12/99</context>

verrà normalizzato in "Dicembre novantanove"
o "Dicembre diciannove novanta nove"

<context id="date_my">12/1999</context>

verrà normalizzato in "Dicembre diciannove novantanove"

date_dm

Ciò normalizzerà la data in modo che il primo gruppo di numeri sia il giorno ed il secondo gruppo sia il mese.

Per esempio:

<context id="date_dm">21.12</context>

verrà normalizzato in "ventuno dicembre"

date_md

Ciò normalizzerà la data in modo che il primo gruppo di numeri sia il mese e il secondo gruppo sia il giorno.

Per esempio:

<context id="date_md">12/21</context>

verrà normalizzato in "ventuno dicembre"

date_year

Ciò normalizzerà la data in modo che il numero venga letto come un anno.

Per esempio:

<context id="date_year">1999</context>

verrà normalizzato in "diciannove novantanove"

<context id="date_year">2001</context>

verrà normalizzato in "Duemilauno"

chs_date_ymdhm

Il testo che specifica la data verrà normalizzata in modo che il primo gruppo di numeri sia l'anno, il secondo gruppo sia il mese, il terzo gruppo sia il giorno, il quarto gruppo sia l'ora ed il quinto gruppo sia il minuto. Nel caso in cui l'anno sia un numero a due cifre, il motore lo leggerà come un numero a due cifre. Se l'anno è rappresentato come un numero a quattro cifre, esso verrà rappresentato come un anno a quattro cifre. Il formato del testo per l'orario deve specificare l'ora come numero da 00 a 23 (in caso di orario con PM/AM che precede, da 01 a 12), e il minuto come numero da 01 a 59.

Questo è un tag di contesto specifico cinese.

Orario

Questo contesto specifica che il numero passato al motore è un orario. Gli orari avranno generalmente il formato del numero [delimitatore] numero [delimitatore] numero o numero [delimitatore] numero dove il delimitatore è ':' o ' ' 'o' " 'ed i numeri vanno tipicamente da 01 a 24 per le ore, da 01 a 59 per i minuti ed i secondi.

Quando è presente uno zero nei numeri da 01 a 09, il motore può ignorarlo o normalizzarlo come "oh". Il motore può inserire un "e" nell'orario normalizzato.

time

Per esempio:

<context id="time">12:30</context>

verrà normalizzato come "dodici trenta"

<context id="time">01:21</context>

viene normalizzato come "uno ventuno"
oppure "oh uno ventuno"

<context id="time">1'21"</context>

viene normalizzato come "un minuto ventun secondi"
oppure «un minuto e ventun secondi"

chs_time_hms

Il testo che specifica l'orario viene normalizzato in modo che il primo gruppo di numeri sia l'ora, il secondo gruppo siano i minuti ed il terzo gruppo siano i secondi.

Questo è un tag di contesto specifico del motore cinese.

chs_time_hm

Il testo che specifica l'orario viene normalizzato in modo che il primo gruppo di numeri sia l'ora ed il secondo gruppo siano i minuti.

Questo è un tag di contesto specifico del motore cinese.

Numero

number_cardinal

Il testo viene normalizzato come numero utilizzando il formato normale di unità, decine, ecc. Il motore può collocare una "e" nel testo normalizzato.

Per esempio:

<context id="number_cardinal">3432</context>

verrà normalizzato in "tremilaquattrocentotrentadue"

<context id="number_cardinal">3432</context>

will be normalized to "tremila quattrocento e trentadue"

number_digit

Il testo viene normalizzato cifra per cifra.

Per esempio:

<context id="number_digit">3432</context>

verrà normalizzato in "tre quattro tre due"

number_fraction

Il testo viene normalizzato comea frazione.

Per esempio:

<context id="number_fraction">3/15</context>

verrà normalizzato in "tre quindici" o "tre su quindici"

number_decimal

Il testo viene normalizzato come valore decimale.

Per esempio:

<context id="number_decimal">423.1243</context>

verrà normalizzato in "quattrocentoventitre punto uno due quattro tre"

phone_number

Il testo viene normalizzato come numero di telefono. L'esatta implementazione di questo tag, è lasciata allo sviluppatore del motore e può essere definita in una futura versione di SAPI.

currency

Il testo viene normalizzato come valuta. L'esatta implementazione di questo tag, è lasciata allo sviluppatore del motore e può essere definita in una futura versione di SAPI.

Per esempio:

<context id="currency">$34.90</context>

verrà normalizzato in "trentaquattro dollari e novantacinque centesimi"

chs_number_percentage

Il testo viene normalizzato come valore percentuale.

Questo è un tag di contesto specifico del motore cinese.

chs_number_scientific

Il testo viene normalizzato come valore scientifico.

Questo è un tag di contesto specifico del motore cinese.

chs_phone_postal

Il numero di telefono e l'indirizzo postale sono quasi gli stessi di number_cardinal; l'unica differenza è che "1" viene letto come "yao1".

Questo è un tag di contesto specifico del motore cinese.

Web

Il testo viene normalizzato come URL. L'esatta implementazione di questo tag, è lasciata allo sviluppatore del motore e può essere definita in una futura versione di SAPI.

web_url

Per esempio:

<context id="web_url">www.Microsoft.com</context>

verrà normalizzato in "w w w punto Microsoft punto com"

E-mail

Il testo viene normalizzato come e-mail. L'esatta implementazione di questo tag, è lasciata allo sviluppatore del motore e può essere definita in una futura versione di SAPI.

e-mail_address

Il testo viene normalizzato come indirizzo e-mail. L'esatta implementazione di questo tag, è lasciata allo sviluppatore del motore e può essere definita in una futura versione di SAPI.

Per esempio:

<context id="e-mail_address">someone@microsoft.com</context>

verrà normalizzato in "Qualcuno et Microsoft punto com"

Indirizzo

Il testo viene normalizzato come indirizzo. L'esatta implementazione di questo tag, è lasciata allo sviluppatore del motore e può essere definita in una futura versione di SAPI.

address

Per esempio:

<context id="address">One Microsoft Way, Redmond, WA, 98052</context>

verrà normalizzato in "One Microsoft Way Redmond Washington nove otto zero cinque due"

address_postal

Il testo viene normalizzato come indirizzo postale. L'esatta implementazione di questo tag, è lasciata allo sviluppatore del motore e può essere definita in una futura versione di SAPI.

Per esempio:

<context id="address_postal">A2C 4X5</context>

verrà normalizzato in "A 2 C 4 X 5"


Tags universali

Si consiglia di utilizzare i tags di controllo per SAPI 4 ed i tags XML per SAPI 5 e Microsoft Speech Platform. Ma in aggiunta Balabolka supporta i propri tag universali per modificare la sintesi vocale.

Audio

Il programma permette di inserire collegamenti a file audio esterni (clips audio) nel testo dei documenti. Utilizza la voce di menù principale "Testo | Clip audio" per scegliere il nome di un file audio. Formati supportati: WAV, MP3, OGG.

Il tag del clip audio sarà simile a:

{{Audio=C:\Sounds\ring.wav}}

Inoltre è consentito un percorso relativo alla clip audio. Un percorso relativo è la posizione di un file in relazione al documento corrente:

{{Audio=..\My Sounds\ring.mp3}}

Quando il testo verrà letto ad alta voce, Balabolka andrà in pausa al raggiungimento del tag del clip audio, riprodurrà il clip audio e riprenderà la lettura. Durante la conversione di files audio, il clip audio verrà incorporato nel file audio creato dal programma.

Voce

Se è necessario modificare una voce o le sue proprietà durante la lettura ad alta voce, è possibile utilizzare un tag speciale per SAPI 5 e Microsoft Speech Platform (le voci SAPI 4 ignoreranno questo tag).

Il formato del tag:

{{Voice=Name;Rate;Pitch;Volume}}

  • Name - il nome di una voce (basta una parola o parte di una parola);
  • Rate - la frequenza di una voce (i valori vanno da -10 a 10);
  • Pitch - l'intonazione di una voce (i valori vanno da -10 a 10);
  • Volume - il volume (i valori vanno da 0 a 100).

Un tag viene applicato a tutto il testo successivo. I valori sono separati da punti e virgola. Per esempio:

Questo testo sarà pronunciato dalla voce predefinita di Balabolka. {{Voice=Kimberly;0;0;100}} La voce 'Kimberly' leggerà l'altro testo.

Il contenuto del tag non fa distinzione tra maiuscole e minuscole. I valori per alcune proprietà possono essere omessi:

{{voice=eric;;;50}}

{{Voice=Hans;-1}}

{{Voice=Rachel}}

Per tornare alla voce predefinita, utilizzare questo tag:

{{Voice=}}

Avvertenza! È impossibile passare dalle voci SAPI 5 a quelle della Microsoft Speech Platform.

Pausa

Un numero specificato di millisecondi di silenzio può essere inserito nel file audio di output. Per esempio:

Centoventi millisecondi di silenzio {{Pausa=120}} sono appena trascorsi.


Alfabeti fonetici

Un alfabeto fonetico contiene combinazioni di lettere, numeri e caratteri conosciuti come "fonemi". Una fonia rappresenta un suono distinto in una lingua parlata. I fonemi sono usati per creare ortografie fonetiche che determinano come si debba pronunciare una parola nella lingua parlata. I motori vocali supportano tre alfabeti fonetici:

  • International Phonetic Alphabet (IPA) - Alfabeto Fonetico Internazionale
  • Speech API (SAPI) Phone Set - Set Fonetico Vocale API
  • Universal Phone Set (UPS) - Set Fonetico Universale

L'alfabeto fonetico internazionale è un sistema di notazione fonetica basato principalmente sull'alfabeto latino, concepito come una rappresentazione standardizzata dei suoni della lingua parlata. È possibile utilizzare questo alfabeto fonetico per specificare le pronunce per qualsiasi lingua.

Le prime lingue create da Microsoft per la sintesi vocale sui computers, hanno specificato le pronunce delle parole utilizzando il SAPI Phone Set. Una fonia è costituita da uno o più caratteri di un alfabeto fonetico che descrive un suono distinto in una lingua parlata. Le lingue seguenti utilizzano fonemi SAPI impostati per descrivere i suoni di ogni lingua: cinese, inglese, francese, tedesco, giapponese, spagnolo.

Più recentemente, Microsoft ha sviluppato l'Universal Phone Set, un alfabeto fonetico leggibile da una macchina basato sull'International Phonetic Alphabet. UPS è un alfabeto fonetico più potente di SAPI Phone Set, può essere usato per descrivere i suoni di qualsiasi nuova lingua ed è più facile da mappare di altri alfabeti fonetici leggibili da una macchina come X-SAMPA, SAMPA o ASCII-IPA.

L'utente crea la pronuncia utilizzando il tag XML PRON. Per esempio, qui sono due ortografie fonetiche che un motore vocale può usare per pronunciare la parola "Hello" in inglese degli Stati Uniti:

<pron sym="h eh - l ow 1"/>

<pron sym="H EH S1 L O"/>

Nel primo esempio vengono utilizzati i fonemi dal SAPI phone set. Il numero "1" è un simbolo di accento che indica quale sillaba debba essere accentata. I fonemi sono delimitati dallo spazio ed il simbolo "-" separa le sillabe nella parola. Il secondo esempio utilizza i fonemi dall'Universal Phone Set. Le lettere indicano i segmenti parlati che compongono la parola. "S1" è un simbolo di accentazione che indica quale sillaba debba essere accentata.

The current versions of IVONA voices do not support SAPI phonemes. The PRON tag is ignored. It is recommended to use the Speech Synthesis Markup Language (SSML) tag to provide a phonetic pronunciation for the specific text.

<phoneme alphabet="ipa" ph="təˈmeɪtoʊ">tomato</phoneme>

The PHONEME tag can be shortened:

<phoneme alphabet="ipa" ph="pəˈteɪtoʊ"/>

The SSML tag supports phonetic alphabets:

  • International Phonetic Alphabet (IPA)
  • Extended Speech Assessment Methods Phonetic Alphabet (X-SAMPA)

IPA symbols are difficult to enter from the keyboard. Balabolka allows to choose characters from the list of IPA symbols. Also the application can convert words to IPA symbols. The phonetic transcriptions are supported for languages:

  • English
  • French
  • German
  • Italian
  • Polish
  • Portuguese
  • Russian
  • Spanish
  • Turkish
  • Ukrainian

Text should be written in lower case; the capital vowels can be used to indicate a primary stress in words.


Insieme di fonemi SAPI

Microsoft Speech API utilizza un alfabeto fonetico per esprimere la lingua parlata in fonemi. Un alfabeto fonetico definisce tutti i fonemi che vengono utilizzati da una lingua, insieme alle loro proprietà ed ai dati per la loro riproduzione come suoni. Gli utenti possono creare pronunce per parole che non sono attualmente presenti nel lessico utilizzando i fonemi rappresentati nelle tabelle seguenti. Il set di fonemi è composto da una rappresentazione fonetica simbolica (SYM).

L'utente sarà in grado di inserire la rappresentazione SYM per creare la pronuncia utilizzando il tag XML PRON. Ogni voce fonetica dovrebbe essere delimitata dallo spazio.

Esempio: pronuncia di "hello":

<pron sym="h eh l ow"/>

Per una maggiore precisione, i marcatori di accenti primari (1), secondari (2) ed i segni sillabici (-) possono essere aggiunti alla pronuncia.

Esempio: pronuncia di "hello" utilizzando l'accento primario (1) ed il marcatore sillabico (-):

<pron sym="h eh - l ow 1"/>

Il SAPI Phone Set viene utilizzato per le seguenti lingue:

  • Inglese (Stati Uniti)
  • Francese
  • Tedesco
  • Italiano
  • Spagnolo
  • Cinese
  • Giapponese

Fonemi inglesi statunitensi

Simbolo del fonema | Esempio | Trascrizione
1 | Accento primario |
2 | Accento secondario |
- | Limite sillabico (trattino) |
& | Limite della parola |
! | Termine della frase (punto esclamativo) |
, | Termine della frase (virgola) |
. | Termine della frase (periodo) |
? | Termine della frase (punto interrogativo) |
_ | Silenzio (trattino basso) |
aa | father | f aa 1 dh er
ae | cat | k ae 1 t
ah | but | b ah 1 t
ao | bought | b ao 1 t
aw | house | h aw 1 s
ax | about | ax b aw 1 t
ay | bite | b ay 1 t
b | book | b uh 1 k
ch | catch | k eh 1 ch
d | done | d ah 1 n
dh | breathe | b r i dh
eh | bet | b eh 1 t
er | bird | b er 1 d
ey | ate | ey 1 t
e@ | fairly | f e@ 1 l i
f | fog | f ao 1 g
g | good | g uh 1 d
h | hello | h eh l ow 1
ih | bit | b ih 1 t
iy | beat | b iy 1 t
i@ | here | h i@ 1
jh | jump | jh ah 1 mp
k | cat | k ae 1 t
l | lot | l aa 1 t
m | Mom | m aa 1 m
n | nod | n aa 1 d
ng | sing | s ih 1 ng
ow | boat | b ow 1 t
oy | boy | b oy 1
p | pot | p aa 1 t
r | rat | r ae 1 t
s | sit | s ih 1 t
sh | shut | sh ah 1 t
t | top | t aa 1 p
th | thick | th ih 1 k
uh | book | b uh 1 k
uw | boot | b uw 1 t
v | various | v eh 1 r i ih s
w | won | w ah 1 n
y | you | y uw 1
z | zoo | z uw 1
zh | casual | k ae 1 zh uw ah l

Fonemi francesi

Simbolo del fonema | Esempio | Trascrizione
1 | Accento primario |
2 | Accento secondario |
- | Limite sillabico (trattino) |
& | Limite della parola |
! | Termine della frase (punto esclamativo) |
, | Termine della frase (virgola) |
. | Termine della frase (periodo) |
? | Termine della frase (punto interrogativo) |
_ | Silenzio (trattino basso) |
a | patte | p a 1 t
aan | abandon | a b aan d aon 1
ao | comme | k ao 1 m
aon | bon | b aon 1
ax | le | l ax 1
b | bouche | b u 1 sh
ch | charlie | ch a 1 r l i
d | dame | d a 1 m
dz | jeudi | j oe dz i 1
e | marché | m a r sh e 1
eh | chère | sh eh 1 r
ehn | main | m ehn 1
eo | feu | f eo 1
f | fille | f i 1 j
g | garde | g a 1 r d
i | libre | l i 1 b r
j | pierre | p j e 1 r
jh | George | jh ao 1 r jh
k | chique | sh i k
l | langage | l aan g a 1 zh
m | mois | m w a 1
n | nonne | n ao 1 n
ng | shopping | sh ao p i 1 ng
nj | campagne | k aan p a 1 nj
o | animaux | a n i m o 1
oe | leur | l oe 1 r
oen | parfum | p a r f oen 1
p | pile | p i 1 l
q | hacher | q a sh e 1
r | route | r u t
s | adresser | a d r e s e 1
sh | chaise | sh eh 1 z
t | technique | t eh k n i 1 k
ts | énergétique | e n eh r zh e ts i 1 k
u | doux | d u 1
ue | une | ue 1 n
uh | Bush | b uh 1 sh
v | vive | v i 1 v
w | boire | b w a 1 r
yw | huile | yw i 1 l
z | zone | z ao 1 n
zh | juste | zh ue 1 s t

Fonemi tedeschi

Simbolo del fonema | Esempio | Trascrizione
1 | Accento primario |
2 | Accento secondario |
- | Limite sillabico (trattino) |
& | Limite della parola |
! | Termine della frase (punto esclamativo) |
, | Termine della frase (virgola) |
. | Termine della frase (periodo) |
? | Termine della frase (punto interrogativo) |
_ | Silenzio (trattino basso) |
a | Achtung | q a 1 x t uh ng
A | Name | n A 1 m ah
aan | Chance | sh aan 1 s ah
ah | bitte | b ih 1 t ah
ao | Hoffnung | h ao 1 f n uh ng
aon | Pompon | p aon 1 p aon 1
aw | Raum | rq aw 1 m
ay | Zeit | ts ay 1 t
b | besonders | b ah z ao 1 n d e@ s
c | China | c i 1 n A
ch | deutsch | d oy 1 ch
d | das | d a 1 s
e | mehr | m e 1 r
eh | Enkel | q eh 1 ng k el
EH | erklären | q eh r k l EH 1 rq en
ehn | Bassin | b a s ehn 1
el | Einzelnen | q ay 1 n ts el n en
em | einem | q ay 1 n em
en | einen | q ay 1 n en
er | Surfer | s er 1 f e@
ey | Display | d ih s p l ey 1
e@ | Kindern | k ih 1 n d e@ n
f | Fall | f a 1 l
g | glaube | g l aw 1 b ah
h | Haupt | h aw 1 p t
i | sieben | z i 1 b en
ih | immer | q ih 1 m e@
j | ja | j A 1
jh | Dschungel | jh uh 1 ng el
k | Kultur | k uh l t u 1 r
l | lieber | l i 1 b e@
m | mein | m ay 1 n
n | Name | n A 1 m ah
ng | Junge | j uh 1 ng ah
o | oder | q o 1 d e@
oe | öffnete | q oe 1 f n ah t ah
OE | Österreich | q OE 1 s t ah rq ay c
oen | Parfum | p a r f oen 1
oy | Europa | q oy rq o 1 p A
p | Parlament | p a r l a m eh 1 n t
pf | Pflicht | pf l ih 1 c t
q | aber | q A 1 b e@
r | Berliner | b eh r l i 1 n e@
rq | Runde | rq uh 1 n d ah
s | Szene | s ts e 1 n ah
sh | sprach | sh p rq A 1 x
t | tol | t ao 1 l
ts | Zimmer | ts ih 1 m e@
u | Uhren | q u 1 rq en
ue | hübsch | h ue 1 p sh
UE | über | q UE 1 b e@
uh | Schutz | sh uh 1 ts
v | wichtig | v ih 1 c t ih c
w | Mademoiselle | m a d ah m w a z eh 1 l
x | Buch | b u 1 x
z | selbst | z eh 1 l p s t
zh | Spionage | sh p i o n A 1 zh ah

Fonemi italiani

Simbolo del fonema | Esempio | Trascrizione
1 | Accento primario |
2 | Accento secondario |
- | Limite sillabico (trattino) |
& | Limite della parola |
! | Termine della frase (punto esclamativo) |
, | Termine della frase (virgola) |
. | Termine della frase (periodo) |
? | Termine della frase (punto interrogativo) |
_ | Silenzio (trattino basso) |
a | campo | k a 1 m p o
ao | nove | n ao 1 v e
b | barra | b a 1 rr a
ch | percento | p e r ch eh 1 n t o
d | mondo | m o 1 n d o
dz | zeta | dz eh 1 t a
e | venire | v e n i 1 r e
eh | lento | l eh 1 n t o
f | fine | f i 1 n e
g | gruppi | g r u 1 p i
i | si | s i
j | funzione | f u n ts j o 1 n e
jh | generazione | jh e n e r a ts j o 1 n e
k | economia | e k o n o m i 1 a
l | libri | l i 1 b r i
ll | gli | ll i
m | mai | m a 1 i
n | nord | n ao r d
nj | signor | s i 1 nj ao r
o | otto | ao 1 t t o
p | primo | p r i 1 m o
r | arrivederci | a rr i v e d e 1 r ch i
rr | arrivederci | a rr i v e d e 1 r ch i
s | sinistra | s i n i 1 s t r a
sh | scienza | sh eh 1 n ts a
t | tre | t r eh
ts | grazie | g r a 1 ts j e
u | punto | p u 1 n t o
v | venti | v e 1 n t i
w | Washington | w a 1 sh i ng t o n
z | svolta | z v o 1 l t a

Fonemi spagnoli

Simbolo del fonema | Esempio | Trascrizione
1 | Accento primario |
2 | Accento secondario |
- | Limite sillabico (trattino) |
& | Limite della parola |
! | Termine della frase (punto esclamativo) |
, | Termine della frase (virgola) |
. | Termine della frase (periodo) |
? | Termine della frase (punto interrogativo) |
_ | Silenzio (trattino basso) |
a | aquí | a k i 1
b | Brasil | b r a s i 1 l
ch | Chile | ch i 1 l e
d | grande | g r a 1 n d e
e | este | e 1 s t e
f | función | f u n s xi o 1 n
g | segundo | s e g u 1 n d o
i | identidad | i d e n t i d a 1 d
j | yo | j o 1
k | casa | k a 1 s a
l | los | l o 1 s
ll | llamada | ll a m a 1 d a
m | manos | m a 1 n o s
n | no | n o 1
nj | año | a 1 nj o
o | bueno | b xu e 1 n o
p | para | p a 1 r a
r | para | p a 1 r a
rr | radio | rr a 1 d xi o
s | solo | s o 1 l o
sh | Bush | b u 1 sh
t | importante | i m p o r t a 1 n t e
u | uno | u 1 n o
w | Hollywood | o 1 l i w u d
x | general | x e n e r a 1 l
xi | iogur | xi o g u 1 r
xu | puedo | p xu e 1 d o

Fonemi cinesi

Simbolo del fonema | Esempio
- | Limite sillabico (trattino)
! | Termine della frase (punto esclamativo)
& | Limite della parola
, | Termine della frase (virgola)
. | Termine della frase (periodo)
? | Termine della frase (punto interrogativo)
_ | Silenzio (trattino basso)
+ | Accento primario
* | Accento secondario
1 | Tone 1
2 | Tone 2
3 | Tone 3
4 | Tone 4
5 | Tone 5
a | a 1 fei 1 (rogue)
ai | ai 4 ren 2 (lover)
an | an 1 quan 2 (safe)
ang | ang 1 zang 1 (dirty)
ao | jiao 1 ao 4 (proud)
ba | ba 4 ba 5 (dad)
bai | bai 2 se 4 (white)
ban | mu 4 ban 3 (board)
bang | bang 3 jia 4 (kidnap)
bao | yong 1 bao 4 (embrace)
bei | bei 3 fang 1 (north)
ben | ben 4 dan 4 (fool)
beng | beng 4 tiao 4 (jump)
bi | bi 2 zi 5 (nose)
bian | bian 4 hua 5 (change)
biao | biao 3 ge 2 (table)
bie | li 2 bie 2 (part with)
bin | bin 1 ke 4 (guest)
bing | shi 4 bing 1 (soldier)
bo | bo 2 dou 4 (wrestle)
bu | bu 4 xing 2 (walk)
ca | ca 1 gan 1 (wipe)
cai | cai 1 ce 4 (guess)
can | can 1 jia 1 (join)
cang | cang 1 ying 5 (fly)
cao | cao 1 chang 3 (playground)
ce | ce 4 liang 2 (measure)
cen | cen 1 ci 1 (uneven)
ceng | ceng 2 jing 1 (once)
cha | jian 3 cha 2 (check)
chai | chai 1 hui 3 (demolish)
chan | chan 3 ye 4 (industry)
chang | jing 1 chang 2 (often)
chao | chao 1 yue 4 (exceed)
che | qi 4 che 1 (automobile)
chen | chen 2 jiu 4 (old)
cheng | cheng 2 che 1 (ride)
chi | chi 2 dao 4 (late for)
chong | chong 1 man 3 (full of)
chou | chou 2 hen 4 (hatred)
chu | chu 2 fa 3 (division)
chuai | chuai 3 ce 4 (guess)
chuan | lun 2 chuan 2 (ship)
chuang | chuang 4 ye 4 (carve out)
chui | tie 3 chui 2 (hammer)
chun | chun 1 tian 1 (spring)
chuo | wo 4 chuo 4 (dirty)
ci | ci 2 qi 4 (porcelain)
cong | cong 2 lin 2 (thicket)
cou | jin 3 cou 4 (compact)
cu | cu 4 xiao 1 (sales promotion)
cuan | tao 2 cuan 4 (run away)
cui | cui 1 cu 4 (press)
cun | xiang 1 cun 1 (country)
cuo | cuo 4 wu 4 (error)
da | da 4 (big)
dai | dai 4 biao 3 (delegate)
dan | dan 4 shi 4 (but)
dang | dang 1 ran 2 (sure)
dao | dao 1 (knife)
de | de 5 (function word)
dei | dei 3 (must)
den | den 4 (yank)
deng | ban 3 deng 4 (wooden stool)
di | di 2 que 4 (certainly)
dia | dia 3 (coquetry voice)
dian | dian 3 (dot)
diao | diao 4 (hang)
die | die 1 dao 3 (tumble)
ding | jue 2 ding 4 (decide)
diu | diu 1 qi 4 (discard)
dong | dong 1 fang 1 (east)
dou | zhan 4 dou 4 (struggle)
du | du 4 jue 2 (stop)
duan | duan 3 (short)
dui | dui 4 (right)
dun | ting 2 dun 4 (halt)
duo | duo 1 yu 2 (unnecessary)
e | e 4 (hungry)
ei | ei 4 (yes)
en | en 1 hui 4 (favor)
er | er 3 (ear)
fa | fa 1 zhan 3 (development)
fan | fan 4 (rice)
fang | fang 2 jian 1 (room)
fei | fei 1 (fly)
fen | fen 1 bie 2 (separate)
feng | feng 1 (wind)
fo | fo 2 (buddha)
fou | fou 3 ding 4 (denial)
fu | fu 4 qin 1 (father)
ga | gan 1 ga 4 (awkward)
gai | ying 1 gai 1 (should)
gan | gan 1 jing 4 (neatness)
gang | gang 1 cai 2 (just)
gao | gao 1 (tall)
ge | pin 3 ge 2 (character)
gei | gei 3 yu 3 (give)
gen | gen 1 (root)
geng | geng 4 jia 1 (much more)
gong | gong 1 ren 2 (worker)
gou | zu 2 gou 4 (enough)
gu | gu 4 xiang 1 (hometown)
gua | xi 1 gua 1 (watermelon)
guai | qi 2 guai 4 (oddness)
guan | guan 1 bi 4 (close)
guang | guang 1 (light)
gui | gui 3 (ghost)
gun | gun 4 (stick)
guo | guo 4 qu 4 (past)
ha | ha 1 (sound of laugh)
hai | hai 2 zi 5 (child)
han | chu 1 han 4 (sweat)
hang | hang 2 xing 2 (sail)
hao | hao 3 (good)
he | he 2 (river)
hei | hei 1 (black)
hen | hen 3 (very)
heng | heng 2 xiang 4 (landscape orientation)
hong | hong 2 (red)
hou | hou 2 zi 5 (monkey)
hu | hu 2 xu 1 (beard)
hua | hua 4 (picture)
huai | huai 4 (bad)
huan | huan 2 jing 4 (environment)
huang | huang 2 se 4 (yellow)
hui | hui 1 huang 2 (refulgence)
hun | hun 2 zhuo 2 (muddy)
huo | huo 3 (fire)
ji | ji 2 shi 2 (in time)
jia | jia 4 qi 1 (holiday)
jian | jian 3 dan 1 (simple)
jiang | jiang 1 (river)
jiao | jiao 1 tong 1 (traffic)
jie | jie 2 ri 4 (feast)
jin | jin 3 zhang 1 (strain)
jing | gan 1 jing 4 (neatness)
jiong | jiong 3 po 4 (embarrassed)
jiu | jiu 3 (nine)
ju | ju 4 zi 5 (sentence)
juan | juan 3 qu 1 (curl)
jue | jue 2 ding 4 (decide)
jun | jun 1 dui 4 (army)
ka | ka 3 che 1 (truck)
kai | kai 3 xuan 2 (triumph)
kan | kan 4 (see)
kang | di 3 kang 4 (resist)
kao | kao 3 shi 4 (test)
ke | ke 3 (thirsty)
kei | kei 1 (scold)
ken | ken 3 ding 4 (affirm)
keng | keng 1 hai 4 (entrap)
kong | kong 1 qi 4 (air)
kou | kou 3 (mouth)
ku | jian 1 ku 3 (trial)
kua | kua 1 jiang 3 (praise)
kuai | kuai 4 (fast)
kuan | kuan 1 kuo 4 (openness)
kuang | kong 1 kuang 4 (void)
kui | kui 1 qian 4 (owe)
kun | kun 4 nan 2 (hard)
kuo | kuo 4 da 4 (enlarge)
la | la 4 jiao 1 (hot pepper)
lai | lai 2 (come)
lan | lan 2 se 4 (blue)
lang | lang 2 (wolf)
lao | lao 3 (old)
le | kuai 4 le 4 (happy)
lei | lei 2 (thunder)
leng | leng 3 ku 4 (steeliness)
li | li 2 (pear)
lia | lia 2 (two)
lian | lian 3 (face)
liang | li 4 liang 4 (power)
liao | zuo 2 liao 4 (seasoning)
lie | lin 3 lie 4 (severe)
lin | lin 3 lie 4 (severe)
ling | ling 2 mu 4 (mausoleum)
liu | liu 2 dong 4 (flow)
lo | lo 5 (function word)
long | long 2 (dragon)
lou | lou 4 (leak)
lu | lu 4 di 4 (land)
luan | hun 4 luan 4 (chaos)
lue | ce 4 lue 4 (tactic)
lun | yi 4 lun 4 (discuss)
luo | xia 4 luo 4 (whereabouts)
lv | lv 4 se 4 (green)
ma | ma 3 (horse)
mai | mai 2 zang 4 (bury)
man | man 3 zu 2 (satisfy)
mang | cong 1 mang 2 (hurry)
mao | mao 1 (cat)
me | shen 2 me 5 (what)
mei | mei 2 you 3 (no)
men | wo 3 men 2 (we)
meng | meng 4 (dream)
mi | hun 1 mi 2 (coma)
mian | mian 4 ji 5 (area)
miao | miao 4 (temple)
mie | mie 4 jue 2 (annihilation)
min | ren 2 min 2 (people)
ming | ming 2 bai 2 (clearness)
miu | huang 1 miu 4 (absurd)
mo | mo 4 shui 3 (ink)
mou | mou 2 lue 4 (trick)
mu | mu 4 biao 1 (target)
na | na 4 li 3 (there)
nai | nai 3 nai 5 (grandmother)
nan | nan 2 fang 1 (south)
nang | nang 2 kuo 4 (include)
nao | re 4 nao 4 (liveliness)
ne | mu 4 ne 4 (numb)
nei | nei 4 bu 4 (inside)
nen | nen 4 lv 4 (light green)
neng | neng 2 gou 4 (be capable of)
ni | ni 3 (you)
nian | nian 2 (year)
niang | gu 1 niang 5 (girl)
niao | niao 3 (bird)
nie | nie 4 (bite)
nin | nin 2 (you)
ning | an 1 ning 2 (peace)
niu | niu 2 (bull)
nong | nong 2 min 2 (farmer)
nou | nou 4 (weeding)
nu | nu 3 li 4 (try hard)
nuan | wen 1 nuan 3 (warm)
nue | nue 4 dai 4 (abuse)
nuo | nuo 4 yan 2 (promise)
nv | nv 3 zi 3 (woman)
o | o 5 (function word)
ou | ou 1 yang 2 (Chinese first name)
pa | hai 4 pa 4 (scare)
pai | pai 4 qian 3 (send)
pan | pan 4 tu 2 (betrayer)
pang | pang 2 da 4 (huge)
pao | pao 3 (run)
pei | pei 2 ban 4 (accompany)
pen | pen 2 di 4 (pan)
peng | peng 2 pai 4 (surge)
pi | pi 2 fu 1 (skin)
pian | qi 1 pian 4 (cheat)
piao | piao 4 liang 4 (pretty)
pie | pie 1 kai 1 (put aside)
pin | pin 2 fan 2 (frequency)
ping | ping 2 zi 5 (bottle)
po | po 4 huai 4 (damage)
pou | pou 2 (hold something with cupped hand)
pu | pu 2 tao 5 (grape)
qi | qi 3 qiu 2 (beg)
qia | qia 4 dang 4 (proper)
qian | qian 1 xu 1 (humility)
qiang | qiang 2 da 4 (powerful)
qiao | qiao 3 miao 4 (artifice)
qie | xiu 1 qie 4 (shyness)
qin | qin 1 zi 4 (oneself)
qing | qing 1 song 1 (easy)
qiong | qiong 2 (poverty)
qiu | qiu 2 fan 4 (prisoner)
qu | qu 1 dong 4 (drive)
quan | quan 2 bu 4 (all)
que | que 4 ding 4 (ensure)
qun | qun 2 zhong 4 (crowd)
ran | ran 2 hou 4 (then)
rang | tu 3 rang 3 (soil)
rao | wei 2 rao 4 (surround)
re | re 4 (hot)
ren | ren 2 lei 4 (human being)
reng | reng 2 ran 2 (all the same)
ri | ri 4 chu 1 (sunrise)
rong | rong 2 yao 4 (glory)
rou | niu 2 rou 4 (beef)
ru | ru 2 guo 3 (if)
ruan | rou 2 ruan 3 (soft)
rui | rui 4 zhi 4 (smart)
run | shi 1 run 4 (wetness)
ruo | ruo 4 xiao 3 (puniness)
sa | sa 1 (three)
sai | bi 3 sai 4 (compete)
san | fen 1 san 4 (disperse)
sang | sang 4 (die)
sao | da 3 sao 3 (sweep)
se | yan 2 se 4 (color)
sen | sen 1 lin 2 (forest)
seng | seng 1 lv 3 (monk)
sha | sha 1 chang 3 (battlefield)
shai | ri 4 shai 4 (be exposed to the sun)
shan | shan 4 liang 2 (goodness)
shang | shang 4 mian 4 (top)
shao | shao 4 nian 2 (youth)
she | she 2 (snake)
shei | shei 2 (who)
shen | shen 2 me 5 (what)
sheng | sheng 1 yin 1 (voice)
shi | shi 4 fei 1 (dispute)
shou | shou 3 (hand)
shu | shu 4 mu 4 (tree)
shua | shua 1 zi 5 (brush)
shuai | shuai 1 da 3 (beat)
shuan | men 2 shuan 1 (latch)
shuang | shuang 1 (pair)
shui | shui 3 (water)
shun | shun 4 li 4 (all right)
shuo | shuo 1 (say)
si | si 4 (four)
song | song 4 bie 2 (send-off)
sou | sou 1 cha 2 (search)
su | su 4 du 4 (speed)
suan | suan 4 fa 3 (arithmetic)
sui | sui 1 ran 2 (though)
sun | sun 3 shi 1 (loss)
suo | suo 3 yi 3 (so)
ta | ta 1 men 2 (they)
tai | tai 4 (too)
tan | tan 2 hua 4 (talk)
tang | tang 2 (sugar)
tao | tao 2 pao 3 (flee)
te | te 4 bie 2 (special)
tei | tei 1 (very)
teng | ben 1 teng 2 (riot)
ti | ti 1 zi 5 (ladder)
tian | tian 1 (sky)
tiao | tiao 4 yue 4 (jump)
tie | tie 3 (iron)
ting | ting 1 (listen)
tong | tong 3 yi 1 (unify)
tou | tou 2 (head)
tu | tu 3 di 4 (earth)
tuan | tuan 2 jie 2 (solidify)
tui | tui 1 dong 4 (push)
tun | tun 2 ji 1 (store up)
tuo | tuo 1 yi 1 (undress)
wa | qing 1 wa 1 (frog)
wai | wai 4 mian 4 (outside)
wan | wan 4 (ten thousands)
wang | si 3 wang 2 (death)
wei | wei 3 da 4 (great)
wen | wen 2 hua 4 (culture)
weng | lao 3 weng 1 (oldman)
wo | wo 3 (I)
wu | wu 2 lun 4 (no matter what)
xi | xi 1 fang 1 (west)
xia | xia 4 mian 4 (bottom)
xian | xian 4 zai 4 (now)
xiang | xiang 4 (like)
xiao | xiao 3 (small)
xie | xie 3 (write)
xin | xin 1 (new)
xing | xing 2 dong 4 (act)
xiong | xiong 2 (bear)
xiu | xiu 1 xi 5 (break)
xu | xu 1 yao 4 (need)
xuan | xuan 1 bu 4 (declare)
xue | xue 3 (snow)
xun | xun 2 wen 4 (ask for)
ya | ya 4 zhou 1 (Asia)
yan | yan 4 zi 5 (swallow)
yang | tai 4 yang 2 (sun)
yao | yao 1 qiu 2 (require)
ye | ye 2 ye 5 (grandfather)
yi | yi 1 (one)
yin | yin 1 yue 4 (music)
ying | ying 1 gai 1 (should)
yo | yo 5 (function word)
yong | yong 3 yuan 3 (forever)
you | you 2 yu 2 (due to)
yu | yu 2 (fish)
yuan | yuan 2 lai 2 (formerly)
yue | yue 4 (month)
yun | yun 2 (cloud)
za | za 2 luan 4 (disorder)
zai | zai 4 jian 4 (farewell)
zan | zan 2 men 5 (our)
zang | ang 1 zang 1 (dirty)
zao | zao 3 chen 2 (morning)
ze | ze 2 ren 4 (response)
zei | zei 2 (thief)
zen | zan 4 yang 2 (praise)
zeng | zeng 1 jia 1 (add)
zha | zha 4 dan 4 (bomb)
zhai | qian 4 zhai 4 (owe)
zhan | zhan 4 li 4 (stand)
zhang | zhang 1 kai 1 (open)
zhao | zhao 1 huan 4 (summon)
zhe | zhe 4 li 3 (here)
zhei | zhei 5 (this)
zhen | zhen 1 zheng 4 (real)
zheng | zheng 4 yi 4 (justice)
zhi | yi 4 zhi 4 (restrain)
zhong | zhong 1 guo 2 (China)
zhou | si 4 zhou 1 (around)
zhu | zhu 1 (pig)
zhua | zhua 1 (grab)
zhuai | zhuai 4 (pull)
zhuan | zhuan 1 (brick)
zhuang | zhuang 1 (pretend)
zhui | zhui 1 (chase)
zhun | zhun 3 (precise)
zhuo | zhuo 1 (table)
zi | zi 4 (character)
zong | zong 3 (total)
zou | zou 3 (walk)
zu | zu 1 (rent)
zuan | zuan 4 (diamond)
zui | zui 4 (most)
zun | zun 1 (respect)
zuo | zuo 4 (sit)

Fonemi giapponesi (Katakana)

Simbolo | Fonetica | Unicode | Osservazioni
' |  | U+0027 | Posizione dell'accento
+ |  | U+002B | Limite dell'accento
| |  | U+007C | Limite della frase
. |  | U+002E | Fine frase (standard)
? |  | U+003F | Fine frase (interrogativo)
! |  | U+0021 | Fine frase (esclamazione)
_ |  | U+005F | Un' altra pausa
゜ |  | U+309C | Suono semi-espresso
ァ | a | U+30A1 | Modificatore
ア | a | U+30A2 |
ィ | i | U+30A3 | Modificatore
イ | i | U+30A4 |
ゥ | u | U+30A5 |
ウ | u | U+30A6 |
ェ | e | U+30A7 | Modificatore
エ | e | U+30A8 |
ォ | o | U+30A9 | Modificatore
オ | o | U+30AA |
カ | ka | U+30AB |
ガ | ga | U+30AC |
キ | ki | U+30AD |
ギ | gi | U+30AE |
ク | ku | U+30AF |
グ | gu | U+30B0 |
ケ | ke | U+30B1 |
ゲ | ge | U+30B2 |
コ | ko | U+30B3 |
ゴ | go | U+30B4 |
サ | sa | U+30B5 |
ザ | za | U+30B6 |
シ | shi | U+30B7 |
ジ | ji | U+30B8 |
ス | su | U+30B9 |
ズ | zu | U+30BA |
セ | se | U+30BB |
ゼ | ze | U+30BC |
ソ | so | U+30BD |
ゾ | zo | U+30BE |
タ | ta | U+30BF |
ダ | da | U+30C0 |
チ | chi | U+30C1 |
ヂ | di | U+30C2 | Obsoleto - usa 30B8
ッ | q | U+30C3 |
ツ | tsu | U+30C4 |
ヅ | du | U+30C5 | Obsoleto - usa 30BA
テ | te | U+30C6 |
デ | de | U+30C7 |
ト | to | U+30C8 |
ド | do | U+30C9 |
ナ | na | U+30CA |
ニ | ni | U+30CB |
ヌ | nu | U+30CC |
ネ | ne | U+30CD |
ノ | no | U+30CE |
ハ | ha | U+30CF |
バ | ba | U+30D0 |
パ | pa | U+30D1 |
ヒ | hi | U+30D2 |
ビ | bi | U+30D3 |
ピ | pi | U+30D4 |
フ | hu | U+30D5 |
ブ | bu | U+30D6 |
プ | pu | U+30D7 |
ヘ | he | U+30D8 |
ベ | be | U+30D9 |
ペ | pe | U+30DA |
ホ | ho | U+30DB |
ボ | bo | U+30DC |
ポ | po | U+30DD |
マ | ma | U+30DE |
ミ | mi | U+30DF |
ム | mu | U+30E0 |
メ | me | U+30E1 |
モ | mo | U+30E2 |
ャ | ya | U+30E3 | Modificatore
ヤ | ya | U+30E4 |
ュ | yu | U+30E5 | Modificatore
ユ | yu | U+30E6 |
ョ | yo | U+30E7 | Modificatore
ヨ | yo | U+30E8 |
ラ | ra | U+30E9 |
リ | ri | U+30EA |
ル | ru | U+30EB |
レ | re | U+30EC |
ロ | ro | U+30ED |
ヮ | wa | U+30EE | Modificatore
ワ | wa | U+30EF |
ヰ | wi | U+30F0 | Obsoleto - usa 30A4
ヱ | we | U+30F1 | Obsoleto - usa 30A8
ヲ | wo | U+30F2 |
ン | nn | U+30F3 |
ヴ | vu | U+30F4 |
ヵ | ka | U+30F5 |
ヶ | ke | U+30F6 |
ヷ | va | U+30F7 |
ヸ | vi | U+30F8 |
ヹ | ve | U+30F9 |
ヺ | vo | U+30FA |
・ |  | U+30FB | Punto centrale
ー |  | U+30FC | Suono prolungato
ヽ |  | U+30FD | Iterazione
ヾ |  | U+30FE | Iterazione espressa


Universal Phone Set (Insieme di fonemi universale)

Insieme di fonemi universale (Universal Phone Set)

L'API del motore di sintesi vocale (SAPI) Universal Phone Set (UPS) è un insieme di fonemi, leggibile dalla macchina, basato sull'International Phonetic Alphabet (IPA). (Alfabeto fonetico internazionale)

Principi di progettazione UPS

I seguenti principi di progettazione sono stati utilizzati per selezionare le etichette SAPI e gli IDs fonici per UPS.

  1. UPS copre il set di caratteri Unicode IPA 1993, oltre ad alcun fonemi SAPI extra, incluse alcune etichette sovrasegmentali che vengono utilizzate nella marcatura di sintesi vocale, ma non sono presenti in IPA.
    • Nella maggior parte dei casi non esiste un mapping "uno ad uno" tra UPS ed IPA. In questi casi, l'ID fonico SAPI può semplicemente utilizzare il valore Unicode esadecimale IPA.
    • In alcuni casi, UPS è un superset di IPA. Ad esempio, UPS include alcune etichette foniche univoche per i suoni comunemente utilizzati come dittonghi e vocali nasalizzate, che l'IPA considera come composti. Questi composti vengono rappresentati utilizzando il simbolo di composizione "+". Questo simbolo viene considerato come qualsiasi altro fonema e quindi dev'essere delimitato con un spazio in un lessico: il composto di A e B viene scritto A + B e non AB od A+B. Gli IDs fonici SAPI di tali composti, sono formati dalla sequenza di IDs fonetici che costituiscono il composto.
  2. Le pronunce UPS sono costituite da una stringa di fonemi UPS, ognuno separato da spazi vuoti. SAPI non fa distinzioni tra fonemi segmentali e segni diacritici, sovrasegmentali e toni e quindi questi, devono anche essere separati da spazi vuoti come qualsiasi altro fonema SAPI.
  3. Le etichette fonetiche di UPS non sono limitate all'utilizzo delle etichette fonetiche di SAPI delle lingue inglese, spagnolo, francese, tedesco, giapponese, o cinese; tuttavia, laddove possibile, sono state riutilizzate le etichette SAPI esistenti. Sono stati utilizzati due insiemi di linee guida per la creazione dei nomi delle etichette foniche:
    • La serie di fonemi UPS, riflette l'ortografia dove possibile, ma non viene fortemente sbilanciata a favore della lingua inglese.
    • Le etichette fonetiche aderiscono alle convenzioni di etichettatura che si applicano a tutte le classi fonetiche (ad es. le vocali lassiste usano il carattere 'H' come in 'IH', 'UH' ed 'AH').
  4. Il set di fonemi UPS, tiene conto di MAIUSCOLO o minuscolo. Le etichette di fonemi UPS, sono tutte definite utilizzando stringhe di caratteri ASCII.
    • Fonemi segmentali (Consonanti, Vocali, Clicks ed Eiettive) sono rappresentati da simboli alfabetici in MAIUSCOLO. Questi possono variare in lunghezza da uno a tre caratteri. In generale, i simboli più brevi vengono utilizzati per i fonemi più frequenti.
    • I segni diacritici sono rappresentati da simboli alfabetici a tre caratteri minuscoli.
    • Sovrasegmentali e Intonazioni possono variare in lunghezza e contenere caratteri non alfabetici.

L'Universal Phone Set deve essere utilizzato per tutte le lingue supportate da Microsoft tranne le sei lingue attualmente supportate da SAPI: cinese, inglese (Stati Uniti), francese, tedesco, giapponese, spagnolo.

Simbolo di legatura composta

UPS fornisce etichette foniche uniche per i suoni composti comuni come affricati e vocali nasali. Tuttavia, i suoni composti meno frequenti, possono esistere anche in alcune lingue e devono essere rappresentati nei lessici di SAPI. L'Universal Phone Set fornisce un simbolo di combinazione o legatura "+" che può essere utilizzato per descrivere i suoni composti appartenenti a due fonemi qualsiasi.

L'affricata tedesca "PF", il dittongo "AI" e la vocale nasale "AN" esistono in UPS come fonemi unici. Tuttavia, potrebbero anche essere rappresentati come composte. L'esempio seguente mostra che "PF" e "P + F" sono equivalenti e distinti dalla sequenza fonica "P F".

Fonema unico | Composto
PF | P + F
AI | A + I

La vocale nasale "AN" può essere descritta come vocale "A" con un segno diacritico nasale. Tutti i segni diacritici devono seguire un fonema segmentale, quindi "A nas" e "A + nas" sono equivalenti. Il primo è il preferito, sebbene SAPI non imponga alcun uso particolare di "+" o di segni diacritici.

Fonema unico | Composto
AN | A nas
AN | A + nas

Consonanti

Questo è un elenco ed un riferimento incrociato di fonemi consonanti che vengono utilizzati da tre alfabeti fonetici.

Convenzioni di etichettatura delle consonanti UPS

I simboli di consonante hanno una lunghezza pari ad uno, due o tre caratteri. Le etichette a caratteri singoli sono utilizzate per consonanti universali linguistiche molto frequenti. In generale il primo carattere significa "posizione più espressione" ed il secondo significa "modo". Le convenzioni di etichettatura riportano le classi fonetiche nei modi seguenti:

Le convenzioni per posizione di articolazione ed etichettatura dell'espressione:

  • Le Dentali ed Alveloari utilizzano D per l'espressione e T senza espressione
  • Le Alveolari utilizzano N per nasale e R per approssimante
  • Le Labiodentali utilizzano V per l'espressione e F senza espressione
  • Le Velari utilizzano G per l'espressione e K senza espressione, NG per nasale
  • Le Bilabiali utilizzano B per l'espressione e P senza espressione, M per nasale
  • Le Laterali utilizzano L
  • Le Uvulari utilizzano Q
  • Le Faringee utilizzano H
  • Le Palatali utilizzano X senza espressione e Y per l'espressione

Convenzioni per modo di etichettatura di articolazione:

  • Le etichette a carattere singolo hanno un modo incapsulato nella scelta del simbolo: ad esempio, M è nasale
  • I Vibrati raddoppiano il primo simbolo
  • Le Fricative utilizzano H
  • Le Approssimanti utilizzano X
  • Le Retroflesse utilizzano R

Tabelle delle consonanti

Ci sono due tabelle, ognuna delle quali elenca una diversa categoria di fonemi consonanti:

  • Consonanti
  • Affricate

Le colonne della tabella contengono le seguenti informazioni:

  • UPS. L'etichetta del fonema specificata nell'Universal Phone Set (UPS) di Microsoft.
  • IPA. L'etichetta del fonema specificata nel set fonetico dell'International Phonetic Alphabet (IPA).
  • Unicode. Il valore Unicode dal set fonetico dell'IPA.
  • Descrizione IPA. Questa colonna descrive le caratteristiche del fonema, come la posizione di articolazione, il tipo di articolazione, il tipo di fonema ed il meccanismo del flusso d'aria.
  • ASCII-IPA. Il fonema equivalente nel set fonetico ASCII-IPA come riferimento.
  • X-SAMPA. Il fonema equivalente nel set fonetico X-SAMPA come riferimento.
  • Esempio. Una parola che usa il fonema e ne illustra il suono.
  • Lingua. La lingua della parola di esempio.

Fonemi consonanti

Le consonanti sono suoni della lingua parlata che vengono articolate con una completa (senza espressione) o parziale chiusura del tratto vocale.

UPS | IPA | Unicode | Descrizione IPA | ASCII-IPA | X-SAMPA | Esempio | Lingua
P | p | U+0070 | {blb,stp,vls} | p | p | put | Inglese
B | b | U+0062 | {blb,stp,vcd} | b | b | big | Inglese
M | m | U+006D | {blb,nas} | m | m | mat | Inglese
BB | ʙ | U+0299 | {blb,trl,vcd} | B<trl> | B\ |  |
PH | ɸ | U+0278 | {blb,frc,vls} | P | p\ |  |
BH | β | U+03B2 | {blb,frc,vcd} | B | B | kabra | Spagnolo
MF | ɱ | U+0271 | {lbd,nas} | M | F |  |
F | f | U+0066 | {lbd,frc,vls} | f | f | fork | Inglese
V | v | U+0076 | {lbd,frc,vcd} | v | v | vat | Inglese
VA | ʋ | U+028B | {lbd,apr,vcd} | r<lbd> | v\ |  |
TH | θ | U+03B8 | {dnt,frc,vls} | T | T | thin | Inglese
DH | ð | U+00F0 | {dnt,frc,vcd} | D | D | then | Inglese
T | t | U+0074 | {alv,stp,vls} | t | t | talk | Inglese
D | d | U+0064 | {alv,stp,vcd} | d | d | dig | Inglese
N | n | U+006E | {alv,nas} | n | n | no | Inglese
RR | r | U+0072 | {alv,trl,vcd} | r<trl> | r | torre, rojo | Spagnolo
DX | ɾ | U+027E | {alv,flp,vcd} | * | 4 | butter | Inglese USA
S | s | U+0073 | {alv,frc,vls} | s | s | sit | Inglese USA
Z | z | U+007A | {alv,frc,vcd} | z | z | zap | Inglese USA
LSH | ɬ | U+026C | {alv,lat,frc,vls} |  | K |  |
LH | ɮ | U+026E | {alv,lat,frc,vcd} | z<lat> | K\ | caballo | Spagnolo/Zulu
RA | ɹ | U+0279 | {alv,apr} | r | r\ | puro | Spagnolo
L | l | U+006C | {alv,lat,apr,vcd} | l | l | lid | Inglese USA
L vel | ɫ | U+026B | {alv,lat,apr,vcd} vel |  | 5 |  |
SH | ʃ | U+0283 | {pla,frc,vls} | S | S | she | Inglese USA
SH pal | ʆ | U+0286 | {pla,frc,vls} pal |  |  |  |
ZH | ʒ | U+0292 | {pla,frc,vcd} | Z | Z | pleasure | Inglese USA
ZH pal | ʓ | U+0293 | {pla,frc,vcd} pal |  |  |  |
TR | ʈ | U+0288 | {rfx,stp,vls} | t. | t` |  |
DR | ɖ | U+0256 | {rfx,stp,vcd} | d. | d` |  |
NR | ɳ | U+0273 | {rfx,nas,vcd} | n. | n` |  |
DXR | ɽ | U+027D | {rfx,flp,vcd} | *. | r` |  |
SR | ʂ | U+0282 | {rfx,frc,vls} | s. | s` |  |
ZR | ʐ | U+0290 | {rfx,frc,vcd} | z. | z` |  |
R | ɻ | U+027B | {rfx,apr,vcd} | r. | r\` | red | Inglese USA
LR | ɭ | U+026D | {rfx,lat,vcd} | l. | l` |  |
RR rho | ɼ | U+027C | {rfx,trl} |  |  |  |
CT | c | U+0063 | {pal,stp,vls} | c | c |  |
JD | ɟ | U+025F | {pal,stp,vcd} | J | J\ |  |
NJ | ɲ | U+0272 | {pal,nas,vcd} | J |  | oignon | Francese
C | ç | U+00E7 | {pal,frc,vls} | C | C | sicher | Tedesco
CJ | ʝ | U+029D | {pal,frc,vcd} | C<vcd> | j\ |  |
J | j | U+006A | {pal,apr,vcd} | j | j | yard | Inglese USA
LJ | ʎ | U+028E | {pal,lat,apr,vcd} | l^ | L | gli | Italiano
W | w | U+0077 | {lbv,apr,vcd} | w | w | with | Inglese USA
K | k | U+006B | {vel,stp,vls} | k | k | cut | Inglese USA
G | g | U+0067 | {vel,stp,vcd} | g | g | gut | Inglese USA
NG | ŋ | U+014B | {vel,nas} | N | N | sing | Inglese USA
X | x | U+0078 | {vel,frc,vls} | x | x | mujer | Spagnolo
GH | ɣ | U+0263 | {vel,frc,vcd} | Q | G | luego | Spagnolo
GA | ɰ | U+0270 | {vel,apr,vcd} | j<vel> | M\ |  |
GL | ʟ | U+029F | {vel,lat,vcd} | L | L\ |  |
QT | q | U+0071 | {uvl,stp,vls} | q | q |  |
QD | ɢ | U+0262 | {uvl,stp,vcd} | G | G\ |  |
QN | ɴ | U+0274 | {uvl,nas,vcd} | n" | N\ |  |
QQ | ʀ | U+0280 | {uvl,trl,vcd} | - | R\ |  |
QH | χ | U+03C7 | {uvl,frc,vls} | X | X |  |
RH | ʁ | U+0281 | {uvl,frc,vcd} | g" | R | rond | Francese
HH | ħ | U+0127 | {phr,frc,vls} | H | X\ |  |
HG | ʕ | U+0295 | {phr,frc,vcd} | H<vcd> | ?\ |  |
GT | ʔ | U+0294 | {glt,stp,vls} | ? | ? |  |
H | h | U+0068 | {glt,frc,vls} | h | h | help | Inglese USA
WJ | ɥ | U+0265 | {lbp,apr,vcd} | j<rnd> | H | huit;juin | Francese

Affricate

Le Affricate sono consonanti che iniziano come arresti, ma vengono rilasciate come fricative.

Il SAPI UPS comprende fonemi espliciti per le affricate più frequenti nelle lingue a più alta priorità. La specifica IPA Unicode include alcuni di questi fonemi, anche se non tutti.

La tabella mostra i fonemi costituenti (composto UPS) che sono stati combinati per creare il fonema esplicito risultante (UPS).

UPS | Composto UPS | IPA | Unicode | Descrizione IPA | Esempio | Lingua
PF | P + F | p.f |  | {lbd,aff,vls} | Pfahl | Tedesco
TS | T + S | t.s / ʦ | U+02A6 | {den,aff,vls} | Zahl | Tedesco
CH | T + SH | t.ʃ / ʧ | U+02A7 | {pla,aff,vls} | chin | Inglese
JH | D + ZH | d.ʒ / ʤ | U+02A4 | {pla,aff,vcd} | joy | Inglese
JJ | J + J | j.j |  | {pal,aff,vcd} | hielo | Spagnolo
DZ | D + Z | d.z / ʣ | U+02A3 | {den,aff,vcd} | zona | Italiano
CC | T + SC | t.ɕ / ʨ | U+02A8 | {pla,aff,vls} |  | Mandarino
TSR | T + SR | t.ʂ |  | {rfx,aff,vls} |  | Mandarino
JC | D + ZC | d.ʑ / ʥ | U+02A5 | {pla,aff,vcd} |  |

Esistono molti altre affricate o consonanti composte che potrebbero essere richieste da altre lingue. Ad esempio, ci sono circa 20 consonanti italiane geminate (consonanti raddoppiate). UPS non include fonemi dedicati per tali consonanti, ma consente di definirle usando il simbolo + o la lunghezza diacritica "lng" nel caso delle geminate.

Vocali

Questo è un elenco ed un riferimento incrociato di fonemi delle vocali usate dai tre alfabeti fonetici.

Convenzioni di etichettatura UPS per le vocali

Le convenzioni di etichettatura UPS per le vocali, sono state progettate per rendere i fonemi più intuitivi e mantenere la somiglianza fonetica in ogni classe. Le etichette seguono queste convenzioni:

  • Le vocali cardinali o principali usano etichette a carattere singolo
  • Le vocali non cardinali ed i dittonghi comuni usano due caratteri
  • La lunghezza massima dell'etichetta è di tre caratteri
  • Le etichette vocali centralizzate usano la X, come in AX, IX, UX
  • Le etichette della vocale controllata (di solito devono essere seguite da una consonante in una sillaba accentata) utilizzano l'H, come in IH, UH
  • U od O significano arrotondamento delle labbra, come in AU, AO, EU

Tabelle delle vocali

Ci sono quattro tabelle, ognuna delle quali elenca una diversa categoria di fonemi per le vocali:

  • Monottongo
  • Dittongo
  • Dittongo tedesco
  • Nasale

Fonemi per le vocali monottongo

Le vocali monottongo (letteralmente "un suono" od "un tono") sono quelle la cui articolazione sia all'inizio che alla fine è relativamente fissa e che non scivola verso l'alto o verso il basso, verso una nuova posizione di articolazione.

UPS | IPA | Unicode | Descrizione IPA | ASCII-IPA | X-SAMPA | Esempio | Lingua
I | i | U+0069 | {hgh,fnt,unr,vwl} | I | i | feel | Inglese
Y | y | U+0079 | {hgh,fnt,rnd,vwl} | Y | y | du | Francese
IX | ɨ | U+0268 | {hgh,cnt,unr,vwl} | i" | I\ |  |
YX | ʉ | U+0289 | {hgh,cnt,rnd,vwl} | U" | } |  |
UU | ɯ | U+026F | {hgh,bck,unr,vwl} | u- | M |  |
U | u | U+0075 | {hgh,bck,rnd,vwl} | u | u | too | Inglese
IH | ɪ | U+026A | {smh,fnt,unr,vwl} | I | I | fill | Inglese
YH | ʏ | U+028F | {smh,fnt,rnd,vwl} | I. | Y | hübsch | Tedesco
UH | ʊ | U+028ª | {smh,bck,rnd,vwl} | U | U | book | Inglese
E | e | U+0065 | {umd,fnt,urd,vwl} | e | e | ses | Francese
EU | ø | U+00F8 | {umd,fnt,rnd,vwl} | Y | 2 | blöd | Tedesco
EX | ɘ | U+0258 | {umd,cnt,urd,vwl} | @<umd> | @\ |  |
OX | ɵ | U+0275 | {umd,cnt,rnd,vwl} |  | 8 |  |
OU | ɤ | U+0264 | {umd,bck,urd,vwl} | o- | 7 |  |
O | o | U+006F | {umd,bck,rnd,vwl} | o | o | go | Inglese
AX | ə | U+0259 | {mid,cnt,unr,vwl} | @ | @ | ago | Inglese
AX rho | ɚ | U+025ª | {mid,cnt,rho,vwl} | R |  | forensic | Inglese
EH | ɛ | U+025B | {lmd,fnt,unr,vwl} | E | E | pet | Inglese
OE | œ | U+0153 | {lmd,fnt,rnd,vwl} | W | 9 | plötzlich | Tedesco
ER | ɜ | U+025C | {lmd,cnt,unr,vwl} | V" | 3 | bird | Inglese Regno Unito
ER rho | ɝ | U+025D | {lmd,cnt,unr,rho,vwl} | @. |  | bird | Inglese USA
UR | ɞ | U+025E | {lmd,cnt,rnd,vwl} | O" | 3\ |  |
H | ʌ | U+028C | {lmd,bck,unr,vwl} | V | V | cut | Inglese
AO | ɔ | U+0254 | {lmd,bck,rnd,vwl} | O | O | dog | Inglese
AE | æ | U+00E6 | {sml,fnt,unr,vwl} | & | { | cat | Inglese
AEX | ɐ | U+0250 | {sml,cnt,unr,vwl} | 6 |  | Besser | Tedesco
A | a | U+0061 | {low,fnt,unr,vwl} | a | a | valle | Spagnolo
AOE | ɶ | U+0276 | {low,fnt,rnd,vwl} | &. | & |  |
AA | ɑ | U+0251 | {low,bck,unr,vwl} | A | A | father | Inglese
Q | ɒ | U+0252 | {low,bck,rnd,vwl} | A. | Q | hot | Inglese

Fonemi per le vocali dittongo

Oltre a monottonghi, molte lingue contengono dittonghi od anche trittonghi. Le vocali dittongo (letteralmente "due suoni" o "due toni") sono quelle che cambiano qualità durante la loro pronuncia, o "scivolano", con un movimento fluido della lingua da una articolazione ad un altra, come nelle parole inglesi eye, boy, e cow.

I dittonghi e i trittonghi possono essere rappresentati in UPS come composti di vocali, usando il simbolo +. Tuttavia, per rendere più leggibili i lessici, UPS contiene anche fonemi per dittonghi comuni. La tabella seguente mostra sia la composizione di due fonemi che utilizzano il simbolo + che il fonema UPS risultante.

Composto UPS | UPS | IPA | X-SAMPA | Esempio | Lingua | Esempio | Lingua
E + I | EI | e.ɪ | eI | late | Inglese | late | Inglese
A + UH | AU | ɑ.ʊ | aU | foul | Inglese | Haus | Tedesco
AO + I | OI | ɔ.ɪ | OI | toy | Inglese | Kreuz | Tedesco
A + I | AI | ɑ.ɪ | ai | bite | Inglese | Eis | Tedesco
I + AX | IYX | i.ə | i:6 | Tier | Tedesco | fear | Inglese
Y + AX | UYX | y.ə | y:6 | Tür | Tedesco |  |
EH + AX | EHX | ɛ.ə | E6 | Berg | Tedesco | stairs | Inglese
U + AX | UWX | u.ə | u:6 | Kur | Tedesco | lure | Inglese
O + AX | OWX | o.ə | o:6 | Ohr | Tedesco | boa | Inglese
AO + AX | AOX | ɔ.ə | O6 | dort | Tedesco | four | Inglese

Vocali dittongo tedesche

La lingua tedesca ha molti dittonghi più centrici che devono essere rappresentati come composti del fonema e non hanno fonemi UPS espliciti a loro assegnati. Il diacritico "lng" è incluso per completezza fonetica.

Composto UPS | IPA | X-SAMPA | Esempio | Lingua
IH + AX | ɪ.ə | I6 | Wirt | Tedesco
YH + AX | ʏ.ə | Y6 | Türke | Tedesco
EY lng + AX | e.ə | e:6 | schwer | Tedesco
EH lng + AX | ɛ:.ə | E:6 | Bär | Tedesco
EU lng + AX | ø.ə | 2:6 | Föhr | Tedesco
OE + AX | œ.ə | 96 | Wörter | Tedesco
A lng + AX | a.ə | a:6 | Haar | Tedesco
A + AX | a.ə | a6 | hart | Tedesco
UH + AX | ʊ.ə | U6 | kurz | Tedesco

Fonemi per le vocali nasali

UPS contiene i fonemi per quattro vocali nasali. Sono riportati nella tabella seguente con esempi in lingua francese.

Composto | UPS | X-SAMPA | Esempio | Lingua
E nas | EN | e~ | vin | Francese
A nas | AN | a~ | vent | Francese
O nas | ON | o~ | bon | Francese
OE nas | OEN | 9~ | brun | Francese

I segni diacritici

Questo è un elenco ed un riferimento incrociato di fonemi diacritici utilizzati dai tre alfabeti fonetici.

Fonemi diacritici

I segni diacritici vengono utilizzati per modificare i fonemi segmentali (vocali, consonanti, clicks ed eiettive) con dettagli fonetici aggiuntivi. Un diacritico non può essere autonomo. I segni diacritici devono modificare il fonema segmentale precedente. Qualsiasi numero di segni diacritici può seguire un simbolo segmentale.

UPS | IPA | Unicode | Descrizione IPA | ASCII-IPA | X-SAMPA
+ | ͡ | U+0361 | Tie bar |  | _
adv | o̟ | U+031F | Avanzata |  | _+
api | t̺ | U+033A | Apicale |  | _a
asp | tʰ | U+02B0 | Aspirata | ^lt;h> {asp} | _h
atr | e̘ | U+0318 | Base della lingua avanzata |  | _A
bvd | b̤ | U+0324 | Respiro espresso |  | _t
cen | ë | U+0308 | Centralizzata | " | _"
cvd | b̰ | U+0330 | Roca espressa |  | _k
den | t̪ | U+032A | Dentale | [ / {dnt} | _d
ejc | pʼ | U+02BC | Eiettiva | {ejc} | _>
lab | tʷ | U+02B7 | Labializzata | <w> {lzd} | _w
lam | t̻ | U+033B | Laminare |  | _m
lar | dˡ | U+02E1 | Rilascio laterale |  | _l
lla | n̼ | U+033C | Linguolabiale |  | _N
low | e̞ | U+031E | Abbassata |  | _o
lrd | o̜ | U+031C | Meno arrotondata |  | _c
mcn | e̽ | U+033D | Medio centralizzata |  | _x
mrd | o̹ | U+0339 | Più arrotondata |  | _O
nar | d̚ | U+031A | Nessun rilascio udibile |  | _}
nas | ñ | U+0303 | Nasale | ~ / <nzd> | ~ / _~
nsr | oⁿ | U+207F | Rilascio nasale |  | _n
nsy | n̯ | U+032F | Non-sillabica |  | _^
pal | tʲ | U+02B2 | Palatalizzata | ; / {pzd} | '
phr | nˤ | U+02E4 | Faringea |  | _?\
rai | e̝ | U+031D | Sollevata |  | _r
ret | o̱ | U+0331 | Retratta |  | _-
rho | ə˞ | U+02DE | Roticità |  | `
rtr | e̙ | U+0319 | Base della lingua retratta |  | _q
syl | n̩ | U+0329 | Sillabica | {syl} | = / _=
vcd | s̬ | U+032C | Espressa |  | _v
vel | tˠ | U+02E0 | Velare | {vzd} | _G
vls | n̊ | U+030A | Muta |  | _0
vph | l̴ | U+0334 | Velare o faringea | {fzd} | _e

Sovrasegmentali

Questo è un elenco ed un riferimento incrociato dei fonemi sovrasegmentali che vengono utilizzati dai tre alfabeti fonetici.

Fonemi sovrasegmentali

I sovrasegmentali, descrivono le caratteristiche di una lingua al di sopra del livello delle singole consonanti e vocali, come la prosodia, il tono, la lunghezza e l'accento.

La prima serie di simboli sovrasegmentali, fino al "collegamento" incluso, mappa direttamente al set sovrasegmentale dell'IPA e quindi ha il valore Unicode dell'IPA. Questo set include la definizione in lunghezza dei diacritici in lunghi, semilunghi e corti. La lunghezza è spesso usata fonemicamente, quindi anche i marcatori di lunghezza possono appartenere alla tabella diacritica. Per questo motivo, viene loro fornito il formato dell'etichetta in minuscolo di un segno diacritico.

I simboli sovrasegmentari rimanenti vengono utilizzati in UPS per descrivere le curve di livello dell'intonazione nella marcatura da testo a voce (SSML prompt documents). Questi simboli UPS sono stati creati con il prefisso delle etichette SAPI originali con un trattino basso. Questo li rende più facilmente identificabili come classe e rimuove qualsiasi ambiguità con altri simboli di IPA. Ad esempio il vecchio simbolo SAPI '!' per teminare una frase, è il simbolo IPA per un click alveolare.

UPS | IPA | Unicode | Descrizione IPA | X-SAMPA | Equivalente SAPI
S1 | ˈ | U+02C8 | Accento primario | " | 1
S2 | ˌ | U+02CC | Accento secondario | % | 2
. | . | U+002E | Interruzione sillabica | . |
_| | | | U+007C | Gruppo minore (piede) | | |
_|| | ‖ | U+2016 | Gruppo Maggiore (intonazione) | || |
lng | ː | U+02D0 | Lungo | : |
hlg | ˑ | U+02D1 | Medio-lungo | :\ |
xsh | ˘ | U+02D8 | Extra-breve | _X |
_^ | ‿ | U+203F | Collegamento (assenza di interruzione) | -\ |
_! |  |  | Intonazione - esclamazione |  | ! Termine della frase (punto esclamativo)
_& |  |  | Intonazione - continua |  | & Limite di una parola
_, |  |  | Intonazione - incremento non completo |  | , Termine della frase (virgola
_s |  |  | Silenzio |  | _ Silenzio (trattino basso)
_. | ↘ | U+2198 | Intonazione – diminuzione | <F> | . Termine della frase (periodo)
_? | ↗ | U+2197 | Intonazione - incremento interrogativo | <R> | ? Termine della frase (punto interrogativo)

Clicks ed Eiettivi

Questo è un elenco ed un riferimento incrociato dei fonemi click ed eiettivi utilizzati dai tre alfabeti fonetici.

Fonemi Click ed Eiettivi

L'IPA usa un segno diacritico per descrivere gli eiettivi, ma ha fonemi specifici per clicks ed implosivi. Clicks ed eiettivi sono consonanti mute, anche se le implosive possono essere parzialmente espresse.

UPS | IPA | Unicode | Descrizione IPA | X-SAMPA
PCK | ʘ | U+0298 | blb,clk | O\
TCK | ǀ | U+01C0 | dnt,clk | |\
NCK | ! | U+0021 | alv,clk | !\
CCK | ǂ | U+01C2 | pla,clk | =\
LCK | ǁ | U+01C1 | alv,lat,clk | |\|\
BIM | ɓ | U+0253 | blb,imp,vcd | b_<
DIM | ɗ | U+0257 | dnt-alv,imp,vcd | d_<
QIM | ʛ | U+029B | uvl,imp,vcd |
QIM vls | ʠ | U+02A0 | uvl,imp,vls |
GIM | ɠ | U+0260 | vel,imp,vcd | g_<
JIM | ʄ | U+0284 | pal,imp,vcd |
P ejc | pʼ | 0070 02BC | blb,ej | b_>
T ejc | tʼ | 0074 02BC | dnt-alv, ej | t_>
K ejc | kʼ | 006B 02BC | vel ej | g_>
S ejc | sʼ | 0073 02BC | alv fric ej | s_>
QT ejc | qʼ | 0071 02BC | uvl,ej |

Intonazioni

Questo è un elenco ed un riferimento incrociato dei fonemi tonali utilizzati dai tre alfabeti fonetici.

Fonemi tonali

Il tono descrive l'uso dell'intonazione nei suoni della lingua parlata per distinguere il significato lessicale o grammaticale. Le intonazioni lessicali possono seguire una vocale od una consonante sillabica. Possono essere costituite da livelli semplici, su una scala universale con un massimo di cinque livelli di contrasto, oppure possono essere curve di livello composte da sequenze di intonazioni. Una sequenza di tre intonazioni dovrebbe essere sufficiente per descrivere qualsiasi curva di livello dell'intonazione.

IPA contiene una miscela di intonazioni lessicali ed intonazioni di una curva di livello. UPS copre le cinque intonazioni lessicali trovate in IPA, più un gradino inferiore ed uno superiore. Tutti le intonazioni delle curve di livello possono essere rappresentate in UPS da intonazioni composte.

UPS non include simboli tonali per i seguenti simboli IPA: Rising, Falling, High Rising, Low Rising e Rising-Falling. Questi possono essere definiti in UPS con sequenze d'intonazioni. Aumento globale e Diminuzione globale sono equivalenti ad "intonazione – diminuzione" ed "intonazione – aumento della domanda" in UPS ("sovrasegmentali").

UPS | IPA | Unicode | Descrizione IPA | X-SAMPA
T5 | e̋ | U+030B | Livello estremamente elevato | _T
T4 | é | U+0301 | Livello elevato | _H
T3 | ē | U+0304 | Livello medio | _M
T2 | è | U+0300 | Livello basso | _L
T1 | ȅ | U+030F | Livello estremamente basso | _B
T- | ↓ | U+2193 | Downstep | !
T+ | ↑ | U+2191 | Upstep | ^

Altri fonemi

Questo è un elenco e un riferimento incrociato dei fonemi non comuni che non sono elencati nelle altre tabelle di fonemi, ma sono utilizzati dai tre alfabeti fonetici.

Altri fonemi

UPS | IPA | Unicode | Descrizione IPA | ASCII-IPA | X-SAMPA
WH | ʍ | U+028D | lbv,frc,vls | w<vls> | W
ESH | ʜ | U+029C | epl,frc,vls |  | H\
EZH | ʢ | U+02A2 | epl,frc,vcd |  | <\
ET | ʡ | U+02A1 | epl,stp |  | >\
SC | ɕ | U+0255 | pla,frc,vls |  | s\
ZC | ʑ | U+0291 | pla,frc,vcd |  | z\
LT | ɺ | U+027A | alv,lat,flp | *<lat> | l\
SHX | ɧ | U+0267 | SH e X simultanei |  | x\
HZ | ɦ | U+0266 | glt,frc,vcd |  | h\