Hallo an Alle,
ich habe mir die Marlene von Ivona gekauft. Das ist eine schöne Stimme für die Sprachausgabe.
Ich generiere eine Wave da mit tts_gererateFile die ich dann mit dem Player abspiele.
Manchmal stottert Marlene. Sie wiederholt teile des Textes.
Das Garagentor ist auf, auf.
Hat jemand eine Idee was ich machen kann?
paresy
1. Juli 2013 um 12:29
2
Liegt es an der WAV Datei oder am Player? Stottert Sie, wenn du den Text mal in der Windows Text-To-Speech Applikation aus der Systemsteuerung sprechen lässt?
paresy
@paresy
Ich habe eine Kopie der Datei vor dem Abspielen gemacht.
Die Audio Datei ist OK nur beim Abspielen stottert es.
Hier die Quellen.
while (getvalue($ID_Text_To_Speech) <> "") {
if (IPS_SemaphoreEnter($SemaPhoreTextToSpeech,5000)) {
$arraySpeech = array();
$arraySpeech = unserialize(getvalue($ID_Text_To_Speech));
//print_r ($arraySpeech);
setvalue($ID_Text_To_Speech,"");
IPS_SemaphoreLeave($SemaPhoreTextToSpeech);
$PauseNachSprachausgabe = 0;
for ($i = 0; $i < (count($arraySpeech)); $i++ ) {
switch ($arraySpeech[$i]["ID_SignalTon"]) {
case 0: $StartSound = "";
$EndSound = "";
break;
case 1: $StartSound = "c:\IP-Symcon\sounds\start.mp3";
$EndSound = "c:\IP-Symcon\sounds\Ende.mp3";
break;
case 2: $StartSound = "c:\IP-Symcon\sounds\Notify1.wav";
$EndSound = "";
break;
}
//print_r( $arraytext);
//print_r ($arraySpeech[$i]);
$PauseNachSprachausgabe = $PauseNachSprachausgabe + ((int) strlen($arraySpeech[$i]["TextToSpeech"]) / 10 * 1000);
//Prüfen ob Signalton gespielt wird
if (($arraySpeech[$i]["SignalTonOnOff"]) and ($StartSound <> "")) {
WAC_AddFile($ID_WAV_Player,$StartSound);
}
if ($arraySpeech[$i]["Volume"] > 0) {
$PlayVolume = $arraySpeech[$i]["Volume"];
} else {
$PlayVolume = getvalueInteger($ID_Volume);
}
if ($arraySpeech[$i]["TextToSpeech"] <> "") {
WAC_SetVolume($ID_WAV_Player,$PlayVolume);
//echo $arraytext[0]. " ";
WAC_SetRepeat($ID_WAV_Player, false);
//ips_sleep(200);
TTS_GenerateFile($ID_TTS_Player ,$arraySpeech[$i]["TextToSpeech"], IPS_GetKernelDir().$Sprachfile."_".$i.".wav",$Quality);
//ips_sleep(200);
//copy(IPS_GetKernelDir().$Sprachfile."_".$i.".wav", IPS_GetKernelDir()."media/saveSpeech/".time().".wav");
//ips_sleep(200);
WAC_SetRepeat($ID_WAV_Player , false);
WAC_AddFile($ID_WAV_Player,IPS_GetKernelDir().$Sprachfile."_".$i.".wav");
//IPS_Sleep(100);
}
if (($arraySpeech[$i]["SignalTonOnOff"]) and ($EndSound <>"")) {
WAC_AddFile($ID_WAV_Player,$EndSound);
}
}
WAC_SetVolume($ID_WAV_Player,$PlayVolume);
WAC_Play($ID_WAV_Player);
ips_sleep(500);
$PlayerStatus = getvalueInteger($ID_WAV_Player_Status);
while ($PlayerStatus == 1) {
ips_sleep(1000);
$PlayerStatus= getvalueInteger($ID_WAV_Player_Status);
}
ips_sleep(1000);
WAC_ClearPlaylist($ID_WAV_Player);
//IPS_Sleep($PauseNachSprachausgabe);
} else {
IPS_SetEventActive($EreignisID, true);
break;
}
}
Hi,
ich kenn das auch. Teils wird gar nichts abgespielt.
Wenn mans mahrfach hintereinander testet gehts dann immer.
Hast Du das Problem gelöst?
Hängt definitiv vom player ab und nicht von der Datei.
Habe das Problem bei beidem, TTS generate und auch beim Abspielen wiederkehrender wav files.
Sebastian