Italian tts1 parla a lettere non a frasi

fifiddu70

Well-Known Member
Licensed User
Longtime User
Ciao a tutti, non capisco perché il tts text-to-speech mi parla a lettere al posto di dire le frasi, ad esempio su una edittext faccio apparire un nome, esempio: filippo
non pronuncia la frase come intera ma inizia a dire: effe i elle i pi pi o (filippo) qualcuno mi sa dire perché?
 

LucaMs

Expert
Licensed User
Longtime User
Ciao a tutti, non capisco perché il tts text-to-speech mi parla a lettere al posto di dire le frasi, ad esempio su una edittext faccio apparire un nome, esempio: filippo
non pronuncia la frase come intera ma inizia a dire: effe i elle i pi pi o (filippo) qualcuno mi sa dire perché?
:oops: :oops: :oops:

Avrai lo smartphone balbuziente 😄

Puoi allegare un progetto d'esempio?
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
[CODICE lang="b4x" titolo="esempio"]
mpa.Load(File.DirAssets,"cash.wav")
mpa.Play
If BTConnected = True Then
imgscansione.Bitmap=LoadBitmap(File.DirAssets,"operaiook.jpg")
Dim msg As String
Log("Astreams_NewData " & connected)
msg = BytesToString(buffer,0,buffer.Length,"UTF8")
txtlog.Text = txtlog.text & msg
txtlog.SelectionStart = txtlog.Text.length
txtdisplay.Text=txtlog.Text
'ToastMessageShow(msg, False)
Log("messaggio: " & msg)
'Log(txtlog.Text)
Dim k As Int
k = txtdisplay.Text.IndexOf("#")'
If k >= 0 Then
txtoperatore.Text = txtdisplay.Text.SubString2(k + 1, txtdisplay.Text.Length)

tts1.Speak(txtoperatore.Text,True)
txtutensile.Visible=True
imgadd.Visible=True
lsw1.Visible=True
imgentrata.Visible=True
imguscita.Visible=True
sputensili.Visible=True
End If
Dim i As Int
If txtdisplay.Text.Contains("#") Then

Else
i = txtdisplay.Text.IndexOf("letti:")
If i >= 0 Then
txtutensile.Text = txtdisplay.Text.SubString2(i + 6, txtdisplay.Text.Length)'
End If
End If




End If
[/CODICE]
 

LucaMs

Expert
Licensed User
Longtime User
[CODICE lang="b4x" titolo="esempio"]
Sub Astreams_NewData(buffer() come byte)

mpa.Load(File.DirAssets,"cash.wav")
mpa.Gioca
Se BTConnected = True Allora
imgscansione.Bitmap=LoadBitmap(File.DirAssets,"operaiook.jpg")
Dim msg come stringa
Log("Astreams_NewData " e connesso)
msg = BytesToString(buffer,0,buffer.Length,"UTF8")
txtlog.Testo = txtlog.testo & msg
txtlog.SelectionStart = txtlog.Text.length
txtdisplay.Testo=txtlog.Testo
'ToastMessageShow(msg, False)
Log("messaggio: " & msg)
'Log(txtlog.Testo)
Dim k As Int
k = txtdisplay.Text.IndexOf("#")' e seguo la ricerca di Euro per poter estrapolare solo la cifra da inserire nel txteuro.text
If k >= 0 Then ' se c'è qualcosa nella casella di testo txtmn1.text allora faccio l'operazione sotto.
txtoperatore.Text = txtdisplay.Text.SubString2(k + 1, txtdisplay.Text.Length)' da qui estrapolo l'importo in euro

tts1.Speak(txtoperatore.Text,True)
txtutensile.Visible=Vero
imgadd.Visible=Vero
lsw1.Visible=Vero
immgentrata.Visibile=Vero
imguscita.Visible=Vero
sputensili.Visibile=Vero
Finisci se
Dim i As Int
Se txtdisplay.Text.Contains("#") Allora

Altro
i = txtdisplay.Text.IndexOf("letti:")' e seguo la ricerca di Euro per poter estrapolare solo la cifra da inserire nel txteuro.text
If i >= 0 Then ' se c'è qualcosa nella casella di testo txtmn1.text allora faccio l'operazione sotto.
txtutensile.Text = txtdisplay.Text.SubString2(i + 6, txtdisplay.Text.Length)' da qui estrapolo l'importo in euro
timer3.Enabled=Vero
Finisci se
Finisci se




Finisci se

Ottimo Sotto
[/CODICE]
Allega proprio il progetto (tra l'altro il codice che hai pubblicato è stato tradotto in italiano)
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
praticamente tts1.speak(txtoperatore.text,true)
appena appare il nome e cognome sulla casella di testo dovrebbe dirlo come nomralmente si dice a voce, invece lui fa na specie di spelling
 
Top