Text to Speech: Speed-control (#7918)
* speed-control * added additional languages
This commit is contained in:
committed by
GitHub
parent
53d027c43e
commit
7a7e820f29
Submodule
+1
Submodule app/device_logs added at 0a4f9e8f51
Submodule
+1
Submodule app/language_model added at cdf6c56565
@@ -184,6 +184,12 @@
|
|||||||
$apps[$x]['db'][$y]['fields'][$z]['search'] = 'true';
|
$apps[$x]['db'][$y]['fields'][$z]['search'] = 'true';
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
|
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
|
||||||
$z++;
|
$z++;
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['name'] = "recording_speed";
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "numeric";
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text";
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "decimal(4,2)";
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Speech speed (0.25 to 4.0, default 1.0).";
|
||||||
|
$z++;
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = "recording_message";
|
$apps[$x]['db'][$y]['fields'][$z]['name'] = "recording_message";
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
|
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['search'] = 'true';
|
$apps[$x]['db'][$y]['fields'][$z]['search'] = 'true';
|
||||||
|
|||||||
@@ -648,6 +648,60 @@ $text['description-voice']['zh-cn'] = "选择用于录音的声音。";
|
|||||||
$text['description-voice']['ja-jp'] = "録音に使用する音声を選択します。";
|
$text['description-voice']['ja-jp'] = "録音に使用する音声を選択します。";
|
||||||
$text['description-voice']['ko-kr'] = "녹음에 사용되는 음성을 선택합니다.";
|
$text['description-voice']['ko-kr'] = "녹음에 사용되는 음성을 선택합니다.";
|
||||||
|
|
||||||
|
$text['label-speed']['en-us'] = "Speed";
|
||||||
|
$text['label-speed']['en-gb'] = "Speed";
|
||||||
|
$text['label-speed']['ar-eg'] = "سرعة";
|
||||||
|
$text['label-speed']['de-at'] = "Geschwindigkeit";
|
||||||
|
$text['label-speed']['de-ch'] = "Geschwindigkeit";
|
||||||
|
$text['label-speed']['de-de'] = "Geschwindigkeit";
|
||||||
|
$text['label-speed']['el-gr'] = "Ταχύτητα";
|
||||||
|
$text['label-speed']['es-cl'] = "Velocidad";
|
||||||
|
$text['label-speed']['es-mx'] = "Velocidad";
|
||||||
|
$text['label-speed']['fr-ca'] = "Vitesse";
|
||||||
|
$text['label-speed']['fr-fr'] = "Vitesse";
|
||||||
|
$text['label-speed']['he-il'] = "מהירות";
|
||||||
|
$text['label-speed']['it-it'] = "Velocità";
|
||||||
|
$text['label-speed']['ka-ge'] = "სიჩქარე";
|
||||||
|
$text['label-speed']['nl-nl'] = "Snelheid";
|
||||||
|
$text['label-speed']['pl-pl'] = "Prędkość";
|
||||||
|
$text['label-speed']['pt-br'] = "Velocidade";
|
||||||
|
$text['label-speed']['pt-pt'] = "Velocidade";
|
||||||
|
$text['label-speed']['ro-ro'] = "Viteză";
|
||||||
|
$text['label-speed']['ru-ru'] = "Скорость";
|
||||||
|
$text['label-speed']['sv-se'] = "Hastighet";
|
||||||
|
$text['label-speed']['uk-ua'] = "Швидкість";
|
||||||
|
$text['label-speed']['tr-tr'] = "Hız";
|
||||||
|
$text['label-speed']['zh-cn'] = "速度";
|
||||||
|
$text['label-speed']['ja-jp'] = "速度";
|
||||||
|
$text['label-speed']['ko-kr'] = "속도";
|
||||||
|
|
||||||
|
$text['description-speed']['en-us'] = "Select the speech speed (1.0 is normal).";
|
||||||
|
$text['description-speed']['en-gb'] = "Select the speech speed (1.0 is normal).";
|
||||||
|
$text['description-speed']['ar-eg'] = "حدد سرعة الكلام (1.0 طبيعي).";
|
||||||
|
$text['description-speed']['de-at'] = "Wählen Sie die Sprachgeschwindigkeit aus (1.0 ist normal).";
|
||||||
|
$text['description-speed']['de-ch'] = "Wählen Sie die Sprachgeschwindigkeit aus (1.0 ist normal).";
|
||||||
|
$text['description-speed']['de-de'] = "Wählen Sie die Sprachgeschwindigkeit aus (1.0 ist normal).";
|
||||||
|
$text['description-speed']['el-gr'] = "Επιλέξτε την ταχύτητα ομιλίας (1.0 είναι κανονική).";
|
||||||
|
$text['description-speed']['es-cl'] = "Seleccione la velocidad de voz (1.0 es normal).";
|
||||||
|
$text['description-speed']['es-mx'] = "Seleccione la velocidad de voz (1.0 es normal).";
|
||||||
|
$text['description-speed']['fr-ca'] = "Sélectionnez la vitesse de parole (1.0 est normal).";
|
||||||
|
$text['description-speed']['fr-fr'] = "Sélectionnez la vitesse de parole (1.0 est normal).";
|
||||||
|
$text['description-speed']['he-il'] = "בחר את מהירות הדיבור (1.0 רגיל).";
|
||||||
|
$text['description-speed']['it-it'] = "Seleziona la velocità del parlato (1.0 è normale).";
|
||||||
|
$text['description-speed']['ka-ge'] = "აირჩიეთ მეტყველების სიჩქარე (1.0 ნორმალურია).";
|
||||||
|
$text['description-speed']['nl-nl'] = "Selecteer de spraaksnelheid (1.0 is normaal).";
|
||||||
|
$text['description-speed']['pl-pl'] = "Wybierz prędkość mowy (1.0 jest normalna).";
|
||||||
|
$text['description-speed']['pt-br'] = "Selecione a velocidade de fala (1.0 é normal).";
|
||||||
|
$text['description-speed']['pt-pt'] = "Selecione a velocidade de fala (1.0 é normal).";
|
||||||
|
$text['description-speed']['ro-ro'] = "Selectați viteza de vorbire (1.0 este normală).";
|
||||||
|
$text['description-speed']['ru-ru'] = "Выберите скорость речи (1.0 — нормальная).";
|
||||||
|
$text['description-speed']['sv-se'] = "Välj talhastigheten (1.0 är normal).";
|
||||||
|
$text['description-speed']['uk-ua'] = "Виберіть швидкість мовлення (1.0 — нормальна).";
|
||||||
|
$text['description-speed']['tr-tr'] = "Konuşma hızını seçin (1.0 normaldir).";
|
||||||
|
$text['description-speed']['zh-cn'] = "选择语音速度(1.0 为正常)。";
|
||||||
|
$text['description-speed']['ja-jp'] = "音声速度を選択します(1.0 が通常です)。";
|
||||||
|
$text['description-speed']['ko-kr'] = "음성 속도를 선택하세요(1.0이 보통).";
|
||||||
|
|
||||||
$text['label-message']['en-us'] = "Message";
|
$text['label-message']['en-us'] = "Message";
|
||||||
$text['label-message']['en-gb'] = "Message";
|
$text['label-message']['en-gb'] = "Message";
|
||||||
$text['label-message']['ar-eg'] = "رسالة";
|
$text['label-message']['ar-eg'] = "رسالة";
|
||||||
|
|||||||
@@ -43,7 +43,10 @@
|
|||||||
$recording_name = '';
|
$recording_name = '';
|
||||||
$recording_message = '';
|
$recording_message = '';
|
||||||
$recording_description = '';
|
$recording_description = '';
|
||||||
|
$recording_speed = '1.0';
|
||||||
$recording_uuid = '';
|
$recording_uuid = '';
|
||||||
|
$speed_enabled = false;
|
||||||
|
$speed_options = [];
|
||||||
$translate_enabled = false;
|
$translate_enabled = false;
|
||||||
$language_enabled = false;
|
$language_enabled = false;
|
||||||
|
|
||||||
@@ -64,6 +67,8 @@
|
|||||||
$speech = new speech($settings);
|
$speech = new speech($settings);
|
||||||
$voices = $speech->get_voices();
|
$voices = $speech->get_voices();
|
||||||
$recording_extension = $speech->get_format();
|
$recording_extension = $speech->get_format();
|
||||||
|
$speed_enabled = $speech->is_speed_enabled();
|
||||||
|
$speed_options = $speed_enabled ? $speech->get_speed_options() : [];
|
||||||
//$speech_models = $speech->get_models();
|
//$speech_models = $speech->get_models();
|
||||||
//$translate_enabled = $speech->get_translate_enabled();
|
//$translate_enabled = $speech->get_translate_enabled();
|
||||||
//$language_enabled = $speech->get_language_enabled();
|
//$language_enabled = $speech->get_language_enabled();
|
||||||
@@ -131,6 +136,8 @@
|
|||||||
//$recording_language = $_POST["recording_language"];
|
//$recording_language = $_POST["recording_language"];
|
||||||
//$translate = $_POST["translate"];
|
//$translate = $_POST["translate"];
|
||||||
$recording_voice = $_POST["recording_voice"];
|
$recording_voice = $_POST["recording_voice"];
|
||||||
|
$recording_speed_allowed = array_keys($speed_options ?? []);
|
||||||
|
$recording_speed = (!empty($recording_speed_allowed) && in_array($_POST["recording_speed"] ?? '', $recording_speed_allowed)) ? $_POST["recording_speed"] : '1.0';
|
||||||
$recording_message = $_POST["recording_message"];
|
$recording_message = $_POST["recording_message"];
|
||||||
$recording_description = $_POST["recording_description"];
|
$recording_description = $_POST["recording_description"];
|
||||||
|
|
||||||
@@ -259,6 +266,9 @@
|
|||||||
$speech->audio_filename = $recording_filename;
|
$speech->audio_filename = $recording_filename;
|
||||||
//$speech->audio_model = $recording_model ?? '';
|
//$speech->audio_model = $recording_model ?? '';
|
||||||
$speech->audio_voice = $recording_voice;
|
$speech->audio_voice = $recording_voice;
|
||||||
|
if ($speed_enabled) {
|
||||||
|
$speech->audio_speed = (float)$recording_speed;
|
||||||
|
}
|
||||||
//$speech->audio_language = $recording_language;
|
//$speech->audio_language = $recording_language;
|
||||||
//$speech->audio_translate = $translate;
|
//$speech->audio_translate = $translate;
|
||||||
$speech->audio_message = $recording_message;
|
$speech->audio_message = $recording_message;
|
||||||
@@ -276,6 +286,7 @@
|
|||||||
}
|
}
|
||||||
unset($recording_filename_temp);
|
unset($recording_filename_temp);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//audio to text - get the transcription from the audio file
|
//audio to text - get the transcription from the audio file
|
||||||
@@ -296,6 +307,9 @@
|
|||||||
}
|
}
|
||||||
if ($speech_enabled || $transcribe_enabled) {
|
if ($speech_enabled || $transcribe_enabled) {
|
||||||
$array['recordings'][0]['recording_voice'] = $recording_voice;
|
$array['recordings'][0]['recording_voice'] = $recording_voice;
|
||||||
|
if ($speed_enabled) {
|
||||||
|
$array['recordings'][0]['recording_speed'] = $recording_speed;
|
||||||
|
}
|
||||||
$array['recordings'][0]['recording_message'] = $recording_message;
|
$array['recordings'][0]['recording_message'] = $recording_message;
|
||||||
}
|
}
|
||||||
$array['recordings'][0]['recording_description'] = $recording_description;
|
$array['recordings'][0]['recording_description'] = $recording_description;
|
||||||
@@ -318,7 +332,7 @@
|
|||||||
if (!empty($_GET) && empty($_POST["persistformvar"])) {
|
if (!empty($_GET) && empty($_POST["persistformvar"])) {
|
||||||
$recording_uuid = $_GET["id"];
|
$recording_uuid = $_GET["id"];
|
||||||
$sql = "select recording_name, recording_filename, ";
|
$sql = "select recording_name, recording_filename, ";
|
||||||
$sql .= "recording_voice, recording_message, recording_description ";
|
$sql .= "recording_voice, recording_speed, recording_message, recording_description ";
|
||||||
$sql .= "from v_recordings ";
|
$sql .= "from v_recordings ";
|
||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
$sql .= "and recording_uuid = :recording_uuid ";
|
$sql .= "and recording_uuid = :recording_uuid ";
|
||||||
@@ -329,6 +343,7 @@
|
|||||||
$recording_filename = $row["recording_filename"];
|
$recording_filename = $row["recording_filename"];
|
||||||
$recording_name = $row["recording_name"];
|
$recording_name = $row["recording_name"];
|
||||||
$recording_voice = $row["recording_voice"];
|
$recording_voice = $row["recording_voice"];
|
||||||
|
$recording_speed = !empty($row["recording_speed"]) ? $row["recording_speed"] : '1.0';
|
||||||
$recording_message = $row["recording_message"];
|
$recording_message = $row["recording_message"];
|
||||||
$recording_description = $row["recording_description"];
|
$recording_description = $row["recording_description"];
|
||||||
}
|
}
|
||||||
@@ -478,6 +493,25 @@
|
|||||||
echo "</td>\n";
|
echo "</td>\n";
|
||||||
echo "</tr>\n";
|
echo "</tr>\n";
|
||||||
|
|
||||||
|
//speed
|
||||||
|
if ($speed_enabled) {
|
||||||
|
echo "<tr>\n";
|
||||||
|
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
|
||||||
|
echo " ".($text['label-speed'] ?? 'Speed')."\n";
|
||||||
|
echo "</td>\n";
|
||||||
|
echo "<td class='vtable' align='left'>\n";
|
||||||
|
echo " <select class='formfld' name='recording_speed' style='width: 120px;'>\n";
|
||||||
|
foreach ($speed_options as $speed_value => $speed_label) {
|
||||||
|
$selected = (string)$recording_speed === $speed_value ? "selected='selected'" : '';
|
||||||
|
echo " <option value='".escape($speed_value)."' $selected>".escape($speed_label)."</option>\n";
|
||||||
|
}
|
||||||
|
echo " </select>\n";
|
||||||
|
echo "<br />\n";
|
||||||
|
echo ($text['description-speed'] ?? 'Select the speech speed (1.0 is normal).')."\n";
|
||||||
|
echo "</td>\n";
|
||||||
|
echo "</tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
if ($language_enabled) {
|
if ($language_enabled) {
|
||||||
echo "<tr>\n";
|
echo "<tr>\n";
|
||||||
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
|
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
|
||||||
|
|||||||
Submodule
+1
Submodule app/speech added at f33e33f09d
Submodule
+1
Submodule app/transcribe added at 5230939cb3
Reference in New Issue
Block a user