From c9db73722eedc49745438a57d035b3e0c583c94c Mon Sep 17 00:00:00 2001 From: Raivis Dejus Date: Sat, 7 Mar 2026 16:48:41 +0200 Subject: [PATCH] Live recording improvements (#1413) --- buzz/locale/ca_ES/LC_MESSAGES/buzz.po | 25 +- buzz/locale/da_DK/LC_MESSAGES/buzz.po | 25 +- buzz/locale/de_DE/LC_MESSAGES/buzz.po | 25 +- buzz/locale/en_US/LC_MESSAGES/buzz.po | 14 +- buzz/locale/es_ES/LC_MESSAGES/buzz.po | 29 ++- buzz/locale/it_IT/LC_MESSAGES/buzz.po | 25 +- buzz/locale/ja_JP/LC_MESSAGES/buzz.po | 25 +- buzz/locale/lv_LV/LC_MESSAGES/buzz.po | 238 +++++++++++++----- buzz/locale/nl/LC_MESSAGES/buzz.po | 25 +- buzz/locale/pl_PL/LC_MESSAGES/buzz.po | 25 +- buzz/locale/pt_BR/LC_MESSAGES/buzz.po | 25 +- buzz/locale/uk_UA/LC_MESSAGES/buzz.po | 25 +- buzz/locale/zh_CN/LC_MESSAGES/buzz.po | 24 +- buzz/locale/zh_TW/LC_MESSAGES/buzz.po | 24 +- buzz/transcriber/recording_transcriber.py | 59 ++++- buzz/widgets/audio_meter_widget.py | 10 +- buzz/widgets/recording_transcriber_widget.py | 10 +- .../io.github.chidiwilliams.Buzz.metainfo.xml | 1 + .../transcriber/recording_transcriber_test.py | 43 ++-- .../recording_transcriber_widget_test.py | 4 +- 20 files changed, 443 insertions(+), 238 deletions(-) diff --git a/buzz/locale/ca_ES/LC_MESSAGES/buzz.po b/buzz/locale/ca_ES/LC_MESSAGES/buzz.po index 7a91cad6..83289f06 100644 --- a/buzz/locale/ca_ES/LC_MESSAGES/buzz.po +++ b/buzz/locale/ca_ES/LC_MESSAGES/buzz.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: buzz\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: 2025-10-17 07:59+0200\n" "Last-Translator: Éric Duarte \n" "Language-Team: Catalan \n" @@ -416,14 +416,6 @@ msgstr "Configuració avançada" msgid "Speech recognition settings" msgstr "Configuració del reconeixement de veu" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "Separat per comes, p. ex. «0.0, 0.2, 0.4, 0.6, 0.8, 1.0»" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "Temperatura:" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "Pregunta inicial:" @@ -445,7 +437,10 @@ msgid "" "Please translate each text sent to you from English to Spanish. Translation " "will be used in an automated system, please do not add any comments or " "notes, just the translation." -msgstr "Si us plau, traduïu cada text que us enviï de l'anglès al castellà. La traducció s'utilitzarà en un sistema automatitzat; si us plau, no afegiu cap comentari ni nota, només la traducció." +msgstr "" +"Si us plau, traduïu cada text que us enviï de l'anglès al castellà. La " +"traducció s'utilitzarà en un sistema automatitzat; si us plau, no afegiu cap " +"comentari ni nota, només la traducció." #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -810,6 +805,10 @@ msgstr "Estàs al dia!" msgid "Average volume" msgstr "Volum mitjà" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "Cua" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "Inicia" @@ -1641,6 +1640,12 @@ msgstr "" "Ha fallat l'extracció de veu! Comproveu la vostra connexió a Internet — pot " "ser que s'hagi de descarregar un model." +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "Separat per comes, p. ex. «0.0, 0.2, 0.4, 0.6, 0.8, 1.0»" + +#~ msgid "Temperature:" +#~ msgstr "Temperatura:" + #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "Si us plau, tradueix cada text que t'enviï de l'anglès al castellà." diff --git a/buzz/locale/da_DK/LC_MESSAGES/buzz.po b/buzz/locale/da_DK/LC_MESSAGES/buzz.po index d4b5e265..b4473175 100644 --- a/buzz/locale/da_DK/LC_MESSAGES/buzz.po +++ b/buzz/locale/da_DK/LC_MESSAGES/buzz.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: \n" "Last-Translator: Ole Guldberg2 \n" "Language-Team: \n" @@ -411,14 +411,6 @@ msgstr "Advancerede indstillinger" msgid "Speech recognition settings" msgstr "Talegenkendelsesindstillinger" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "Komma-separerede, fx., \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "Temperatur:" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "Start prompt:" @@ -440,7 +432,10 @@ msgid "" "Please translate each text sent to you from English to Spanish. Translation " "will be used in an automated system, please do not add any comments or " "notes, just the translation." -msgstr "Oversæt venligst hver tekst, der sendes til dig, fra engelsk til spansk. Oversættelsen vil blive brugt i et automatiseret system, så tilføj venligst ingen kommentarer eller noter, kun oversættelsen." +msgstr "" +"Oversæt venligst hver tekst, der sendes til dig, fra engelsk til spansk. " +"Oversættelsen vil blive brugt i et automatiseret system, så tilføj venligst " +"ingen kommentarer eller noter, kun oversættelsen." #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -804,6 +799,10 @@ msgstr "Du er opdateret!" msgid "Average volume" msgstr "Gennemsnitlig lydstyrke" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "Kø" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "Start" @@ -1632,5 +1631,11 @@ msgstr "" "Taleoprydning mislykkedes! Kontroller din internetforbindelse — en model " "skal muligvis hentes ned." +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "Komma-separerede, fx., \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" + +#~ msgid "Temperature:" +#~ msgstr "Temperatur:" + #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "Oversæt venligst hver tekst du modtager fra engelsk til spansk." diff --git a/buzz/locale/de_DE/LC_MESSAGES/buzz.po b/buzz/locale/de_DE/LC_MESSAGES/buzz.po index 3dad395e..834d1ff1 100644 --- a/buzz/locale/de_DE/LC_MESSAGES/buzz.po +++ b/buzz/locale/de_DE/LC_MESSAGES/buzz.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: 2025-03-05 14:41+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -417,14 +417,6 @@ msgstr "Erweiterte Einstellungen" msgid "Speech recognition settings" msgstr "Einstellungen für die Spracherkennung" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "Durch Kommas getrennt, z.B. \"0,0, 0,2, 0,4, 0,6, 0,8, 1,0\"" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "Temperatur:" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "Erste Anweisung:" @@ -446,7 +438,10 @@ msgid "" "Please translate each text sent to you from English to Spanish. Translation " "will be used in an automated system, please do not add any comments or " "notes, just the translation." -msgstr "Bitte übersetzen Sie jeden Text, der Ihnen gesendet wird, vom Englischen ins Spanische. Die Übersetzung wird in einem automatisierten System verwendet. Bitte fügen Sie keine Kommentare oder Anmerkungen hinzu, nur die Übersetzung." +msgstr "" +"Bitte übersetzen Sie jeden Text, der Ihnen gesendet wird, vom Englischen ins " +"Spanische. Die Übersetzung wird in einem automatisierten System verwendet. " +"Bitte fügen Sie keine Kommentare oder Anmerkungen hinzu, nur die Übersetzung." #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -813,6 +808,10 @@ msgstr "Sie sind auf dem Laufenden!" msgid "Average volume" msgstr "Durchschnittliche Lautstärke" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "Warteschlange" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "Start" @@ -1646,6 +1645,12 @@ msgstr "" "Sprachextraktion fehlgeschlagen! Bitte Internetverbindung prüfen — ein " "Modell muss möglicherweise heruntergeladen werden." +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "Durch Kommas getrennt, z.B. \"0,0, 0,2, 0,4, 0,6, 0,8, 1,0\"" + +#~ msgid "Temperature:" +#~ msgstr "Temperatur:" + #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "" #~ "Bitte übersetzen Sie jeden an Sie gesendeten Text von Englisch nach " diff --git a/buzz/locale/en_US/LC_MESSAGES/buzz.po b/buzz/locale/en_US/LC_MESSAGES/buzz.po index 5a20c72c..3bf61fc3 100644 --- a/buzz/locale/en_US/LC_MESSAGES/buzz.po +++ b/buzz/locale/en_US/LC_MESSAGES/buzz.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -398,14 +398,6 @@ msgstr "" msgid "Speech recognition settings" msgstr "" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "" @@ -784,6 +776,10 @@ msgstr "" msgid "Average volume" msgstr "" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "" diff --git a/buzz/locale/es_ES/LC_MESSAGES/buzz.po b/buzz/locale/es_ES/LC_MESSAGES/buzz.po index 156bbfb2..fa612406 100644 --- a/buzz/locale/es_ES/LC_MESSAGES/buzz.po +++ b/buzz/locale/es_ES/LC_MESSAGES/buzz.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: 2025-09-08 12:43+0200\n" "Last-Translator: Éric Duarte \n" "Language-Team: \n" @@ -432,16 +432,6 @@ msgstr "Configuración avanzada" msgid "Speech recognition settings" msgstr "Configuración de reconocimiento de voz" -# automatic translation -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "Separados por comas, p. ej., «0.0, 0.2, 0.4, 0.6, 0.8, 1.0»" - -# automatic translation -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "Temperatura:" - # automatic translation #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" @@ -465,7 +455,10 @@ msgid "" "Please translate each text sent to you from English to Spanish. Translation " "will be used in an automated system, please do not add any comments or " "notes, just the translation." -msgstr "Por favor, traduce cada texto que se te envíe del inglés al español. La traducción se utilizará en un sistema automatizado, por favor no añadas comentarios ni notas, solo la traducción." +msgstr "" +"Por favor, traduce cada texto que se te envíe del inglés al español. La " +"traducción se utilizará en un sistema automatizado, por favor no añadas " +"comentarios ni notas, solo la traducción." #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -848,6 +841,10 @@ msgstr "¡Estás al día!" msgid "Average volume" msgstr "Volumen promedio" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "Cola" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "Inicio" @@ -1699,6 +1696,14 @@ msgstr "" "¡Extracción de voz fallida! Compruebe su conexión a internet — es posible " "que sea necesario descargar un modelo." +# automatic translation +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "Separados por comas, p. ej., «0.0, 0.2, 0.4, 0.6, 0.8, 1.0»" + +# automatic translation +#~ msgid "Temperature:" +#~ msgstr "Temperatura:" + #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "" #~ "Por favor, traduzca cada texto que se le envíe del inglés al español." diff --git a/buzz/locale/it_IT/LC_MESSAGES/buzz.po b/buzz/locale/it_IT/LC_MESSAGES/buzz.po index b481d796..9dc3a30e 100644 --- a/buzz/locale/it_IT/LC_MESSAGES/buzz.po +++ b/buzz/locale/it_IT/LC_MESSAGES/buzz.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: buzz\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: 2026-01-25 21:42+0200\n" "Language-Team: (Italiano) Albano Battistella \n" "Language: it_IT\n" @@ -417,14 +417,6 @@ msgstr "Impostazion avanzate" msgid "Speech recognition settings" msgstr "Impostazioni di riconoscimento vocale" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "Separate da virgola, esempio: \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "Temperatura:" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "Domanda iniziale:" @@ -446,7 +438,10 @@ msgid "" "Please translate each text sent to you from English to Spanish. Translation " "will be used in an automated system, please do not add any comments or " "notes, just the translation." -msgstr "Si prega di tradurre ogni testo inviato dall'inglese allo spagnolo. La traduzione verrà utilizzata in un sistema automatizzato, quindi non aggiungere commenti o note, solo la traduzione." +msgstr "" +"Si prega di tradurre ogni testo inviato dall'inglese allo spagnolo. La " +"traduzione verrà utilizzata in un sistema automatizzato, quindi non " +"aggiungere commenti o note, solo la traduzione." #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -809,6 +804,10 @@ msgstr "Il programma è aggiornato!" msgid "Average volume" msgstr "Volume medio" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "Coda" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "Inizio" @@ -1641,6 +1640,12 @@ msgstr "" "Estrazione del parlato non riuscita! Controlla la tua connessione Internet — " "potrebbe essere necessario scaricare un modello." +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "Separate da virgola, esempio: \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" + +#~ msgid "Temperature:" +#~ msgstr "Temperatura:" + #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "" #~ "Per favore, traduci ogni testo che ti viene inviato dall'inglese allo " diff --git a/buzz/locale/ja_JP/LC_MESSAGES/buzz.po b/buzz/locale/ja_JP/LC_MESSAGES/buzz.po index ec87472b..28656dff 100644 --- a/buzz/locale/ja_JP/LC_MESSAGES/buzz.po +++ b/buzz/locale/ja_JP/LC_MESSAGES/buzz.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: \n" "Last-Translator: nunawa <71294849+nunawa@users.noreply.github.com>\n" "Language-Team: \n" @@ -408,14 +408,6 @@ msgstr "高度な設定" msgid "Speech recognition settings" msgstr "音声認識設定" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "コンマ区切り、例: \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "サンプリング温度:" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "プロンプト:" @@ -437,7 +429,10 @@ msgid "" "Please translate each text sent to you from English to Spanish. Translation " "will be used in an automated system, please do not add any comments or " "notes, just the translation." -msgstr "送信された各テキストを英語からスペイン語に翻訳してください。翻訳は自動化されたシステムで使用されます。コメントやメモは追加せず、翻訳のみを提供してください。" +msgstr "" +"送信された各テキストを英語からスペイン語に翻訳してください。翻訳は自動化され" +"たシステムで使用されます。コメントやメモは追加せず、翻訳のみを提供してくださ" +"い。" #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -800,6 +795,10 @@ msgstr "最新の状態です!" msgid "Average volume" msgstr "平均音量" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "キュー" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "開始" @@ -1620,6 +1619,12 @@ msgstr "" "音声抽出に失敗しました!インターネット接続を確認してください。モデルのダウン" "ロードが必要な場合があります。" +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "コンマ区切り、例: \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" + +#~ msgid "Temperature:" +#~ msgstr "サンプリング温度:" + #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "送られてくる各テキストを英語からスペイン語に翻訳してください。" diff --git a/buzz/locale/lv_LV/LC_MESSAGES/buzz.po b/buzz/locale/lv_LV/LC_MESSAGES/buzz.po index e1b720ea..e1aa0798 100644 --- a/buzz/locale/lv_LV/LC_MESSAGES/buzz.po +++ b/buzz/locale/lv_LV/LC_MESSAGES/buzz.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: 2026-03-06 13:23+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -25,13 +25,19 @@ msgstr "Importēt URL" msgid "https://example.com/audio.mp3" msgstr "https://example.com/audio.mp3" -#: buzz/widgets/import_url_dialog.py buzz/widgets/preferences_dialog/preferences_dialog.py buzz/widgets/preferences_dialog/models_preferences_widget.py -#: buzz/widgets/transcriber/advanced_settings_dialog.py buzz/widgets/main_window.py +#: buzz/widgets/import_url_dialog.py +#: buzz/widgets/preferences_dialog/preferences_dialog.py +#: buzz/widgets/preferences_dialog/models_preferences_widget.py +#: buzz/widgets/transcriber/advanced_settings_dialog.py +#: buzz/widgets/main_window.py msgid "Ok" msgstr "Labi" -#: buzz/widgets/import_url_dialog.py buzz/widgets/preferences_dialog/preferences_dialog.py buzz/widgets/preferences_dialog/models_preferences_widget.py -#: buzz/widgets/transcription_viewer/speaker_identification_widget.py buzz/widgets/model_download_progress_dialog.py buzz/widgets/main_window.py +#: buzz/widgets/import_url_dialog.py +#: buzz/widgets/preferences_dialog/preferences_dialog.py +#: buzz/widgets/preferences_dialog/models_preferences_widget.py +#: buzz/widgets/transcription_viewer/speaker_identification_widget.py +#: buzz/widgets/model_download_progress_dialog.py buzz/widgets/main_window.py msgid "Cancel" msgstr "Atcelt" @@ -55,43 +61,53 @@ msgstr "Dzīvais ieraksts" msgid "Reset to Defaults" msgstr "Atjaunot noklusētos" -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/transcriber/transcriber.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/transcriber/transcriber.py msgid "English" msgstr "Angļu" -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/transcriber/transcriber.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/transcriber/transcriber.py msgid "Catalan" msgstr "Katalāņu" -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/transcriber/transcriber.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/transcriber/transcriber.py msgid "Danish" msgstr "Dāņu" -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/transcriber/transcriber.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/transcriber/transcriber.py msgid "Dutch" msgstr "Holandiešu" -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/transcriber/transcriber.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/transcriber/transcriber.py msgid "German" msgstr "Vācu" -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/transcriber/transcriber.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/transcriber/transcriber.py msgid "Spanish" msgstr "Spāņu" -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/transcriber/transcriber.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/transcriber/transcriber.py msgid "Italian" msgstr "Itāļu" -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/transcriber/transcriber.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/transcriber/transcriber.py msgid "Japanese" msgstr "Japāņu" -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/transcriber/transcriber.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/transcriber/transcriber.py msgid "Latvian" msgstr "Latviešu" -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/transcriber/transcriber.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/transcriber/transcriber.py msgid "Polish" msgstr "Poļu" @@ -99,7 +115,8 @@ msgstr "Poļu" msgid "Portuguese (Brazil)" msgstr "Portugāļu (Brazīlijas)" -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/transcriber/transcriber.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/transcriber/transcriber.py msgid "Ukrainian" msgstr "Ukraiņu" @@ -147,7 +164,9 @@ msgstr "Eksporta fails" msgid "Enable live recording transcription export" msgstr "Eksportēt dzīvā ieraksta transkriptus" -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py buzz/widgets/transcriber/advanced_settings_dialog.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py +#: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Browse" msgstr "Izvēlēties" @@ -162,16 +181,24 @@ msgstr "" "režīms" #: buzz/widgets/preferences_dialog/general_preferences_widget.py -msgid "Note: Live recording export settings will be moved to the Advanced Settings in the Live Recording screen in a future version." -msgstr "Piezīme: Dzīvā ieraksta iestatījumi nākotnes Buzz versijās tiks pārvietoti uz Papildu iestatījumu sadaļu Dzīvā ieraksta logā." +msgid "" +"Note: Live recording export settings will be moved to the Advanced Settings " +"in the Live Recording screen in a future version." +msgstr "" +"Piezīme: Dzīvā ieraksta iestatījumi nākotnes Buzz versijās tiks pārvietoti " +"uz Papildu iestatījumu sadaļu Dzīvā ieraksta logā." #: buzz/widgets/preferences_dialog/general_preferences_widget.py msgid "Use 8-bit quantization to reduce memory usage" msgstr "Izmantot 8bitu kvantizāciju, lai samazinātu nepieciešamo atmiņu" #: buzz/widgets/preferences_dialog/general_preferences_widget.py -msgid "Applies to Huggingface and Faster Whisper models. Reduces GPU memory usage but may slightly decrease transcription quality." -msgstr "Izmantojams Huggingface un Faster whisper modeļiem, lai samazinātu nepieciešamo atmiņas daudzumu, nedaudz zaudējot atpazīšanas kvalitāti." +msgid "" +"Applies to Huggingface and Faster Whisper models. Reduces GPU memory usage " +"but may slightly decrease transcription quality." +msgstr "" +"Izmantojams Huggingface un Faster whisper modeļiem, lai samazinātu " +"nepieciešamo atmiņas daudzumu, nedaudz zaudējot atpazīšanas kvalitāti." #: buzz/widgets/preferences_dialog/general_preferences_widget.py msgid "Reduce GPU RAM" @@ -183,7 +210,9 @@ msgstr "Izmantot tikai CPU un deaktivēt GPU paātrināšanu" #: buzz/widgets/preferences_dialog/general_preferences_widget.py msgid "Set this if larger models do not fit your GPU memory and Buzz crashes" -msgstr "Aktivizējiet šo, ja lielāki modeļi neietilpst jūsu video kartes atmiņā un Buzz avarē" +msgstr "" +"Aktivizējiet šo, ja lielāki modeļi neietilpst jūsu video kartes atmiņā un " +"Buzz avarē" #: buzz/widgets/preferences_dialog/general_preferences_widget.py msgid "Disable GPU" @@ -194,24 +223,39 @@ msgid "OpenAI API Key Test" msgstr "OpenAI API atslēgas pārbaude" #: buzz/widgets/preferences_dialog/general_preferences_widget.py -msgid "Your API key is valid. Buzz will use this key to perform Whisper API transcriptions and AI translations." -msgstr "Jūsu API atslēga ir derīga. Buzz izmantos to runas atpazīšanai ar Whisper API un tulkošanai." +msgid "" +"Your API key is valid. Buzz will use this key to perform Whisper API " +"transcriptions and AI translations." +msgstr "" +"Jūsu API atslēga ir derīga. Buzz izmantos to runas atpazīšanai ar Whisper " +"API un tulkošanai." #: buzz/widgets/preferences_dialog/general_preferences_widget.py msgid "Invalid API key" msgstr "Nederīga API atslēga" #: buzz/widgets/preferences_dialog/general_preferences_widget.py -msgid "API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in API key may cause errors." -msgstr "API atbalsta tikai base64 simbolus (A-Za-z0-9+/=_-). Citi simboli API atslēgā var radīt kļūdas." +msgid "" +"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in " +"API key may cause errors." +msgstr "" +"API atbalsta tikai base64 simbolus (A-Za-z0-9+/=_-). Citi simboli API " +"atslēgā var radīt kļūdas." -#: buzz/widgets/preferences_dialog/general_preferences_widget.py buzz/widgets/transcriber/advanced_settings_dialog.py +#: buzz/widgets/preferences_dialog/general_preferences_widget.py +#: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Select Export Folder" msgstr "Izvēlieties mapi kurā eksportēt" #: buzz/widgets/preferences_dialog/general_preferences_widget.py -msgid "OpenAI API returned invalid response. Please check the API url or your key. Transcription and translation may still work if the API does not support key validation." -msgstr "OpenAI API atbilde ir nederīga. Lūdzu pārbaudiet API Adresi un savu atslēgu. Atpazīšana un tulkošana joprojām var strādāt, ja API neatbalsta atslēgu pārbaudi." +msgid "" +"OpenAI API returned invalid response. Please check the API url or your key. " +"Transcription and translation may still work if the API does not support key " +"validation." +msgstr "" +"OpenAI API atbilde ir nederīga. Lūdzu pārbaudiet API Adresi un savu atslēgu. " +"Atpazīšana un tulkošana joprojām var strādāt, ja API neatbalsta atslēgu " +"pārbaudi." #: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py msgid "Enable folder watch" @@ -301,7 +345,10 @@ msgstr "Vai tiešām dzēst izvēlēto modeli?" msgid "Download failed" msgstr "Lejupielāde neizdevās" -#: buzz/widgets/preferences_dialog/models_preferences_widget.py buzz/widgets/transcription_tasks_table_widget.py buzz/widgets/update_dialog.py buzz/widgets/main_window.py buzz/model_loader.py +#: buzz/widgets/preferences_dialog/models_preferences_widget.py +#: buzz/widgets/transcription_tasks_table_widget.py +#: buzz/widgets/update_dialog.py buzz/widgets/main_window.py +#: buzz/model_loader.py msgid "Error" msgstr "Kļūda" @@ -313,7 +360,8 @@ msgstr "Ierakstīt" msgid "Stop" msgstr "Apturēt" -#: buzz/widgets/transcriber/languages_combo_box.py buzz/transcriber/transcriber.py +#: buzz/widgets/transcriber/languages_combo_box.py +#: buzz/transcriber/transcriber.py msgid "Detect Language" msgstr "Noteikt valodu" @@ -339,7 +387,8 @@ msgstr "Apstrādāt" msgid "Model:" msgstr "Modelis:" -#: buzz/widgets/transcriber/transcription_options_group_box.py buzz/transcriber/recording_transcriber.py +#: buzz/widgets/transcriber/transcription_options_group_box.py +#: buzz/transcriber/recording_transcriber.py msgid "First time use of a model may take up to several minutest to load." msgstr "Pirmā modeļa ielādes reize var aizņemt pat vairākas minūtes." @@ -367,14 +416,6 @@ msgstr "Papildu iestatījumi" msgid "Speech recognition settings" msgstr "Runas atpazīšanas iestatījumi" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "Atdalīti ar komatu, piemēram, \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "Temperatūra:" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "" @@ -394,8 +435,14 @@ msgid "AI model:" msgstr "AI modelis:" #: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Please translate each text sent to you from English to Spanish. Translation will be used in an automated system, please do not add any comments or notes, just the translation." -msgstr "Lūdzu, iztulko katru nosūtīto tekstu no angļu valodas spāņu valodā. Tulkojums tiks izmantots automatizētā sistēmā, lūdzu, nepievienojiet nekādus komentārus vai piezīmes, tikai tulkojumu." +msgid "" +"Please translate each text sent to you from English to Spanish. Translation " +"will be used in an automated system, please do not add any comments or " +"notes, just the translation." +msgstr "" +"Lūdzu, iztulko katru nosūtīto tekstu no angļu valodas spāņu valodā. " +"Tulkojums tiks izmantots automatizētā sistēmā, lūdzu, nepievienojiet nekādus " +"komentārus vai piezīmes, tikai tulkojumu." #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -491,7 +538,8 @@ msgstr "Atvērt transkriptu" msgid "Cancel Transcription" msgstr "Atcelt atpazīšanu" -#: buzz/widgets/main_window_toolbar.py buzz/widgets/main_window.py buzz/settings/shortcut.py +#: buzz/widgets/main_window_toolbar.py buzz/widgets/main_window.py +#: buzz/settings/shortcut.py msgid "Clear History" msgstr "Notīrīt vēsturi" @@ -588,8 +636,11 @@ msgid "Failed to restart transcription: {}" msgstr "Neizdevās sākt atpazīšanu: {}" #: buzz/widgets/transcription_tasks_table_widget.py -msgid "Could not restart transcription: model not available and could not be downloaded." -msgstr "Neizdevās sākt atpazīšanu: modelis nav pieejams un to nevar lejupielādēt." +msgid "" +"Could not restart transcription: model not available and could not be " +"downloaded." +msgstr "" +"Neizdevās sākt atpazīšanu: modelis nav pieejams un to nevar lejupielādēt." #: buzz/widgets/transcription_tasks_table_widget.py msgid "Could not restart transcription: transcriber worker not found." @@ -680,8 +731,12 @@ msgid "An error occurred while starting a new recording:" msgstr "Sākot jaunu ierakstu notikusi kļūda:" #: buzz/widgets/recording_transcriber_widget.py -msgid "Please check your audio devices or check the application logs for more information." -msgstr "Lūdzu pārbaudiet savas audio ierīces vai pārbaudiet lietotnes ziņojumu žurnālus, lai iegūtu papildu informāciju." +msgid "" +"Please check your audio devices or check the application logs for more " +"information." +msgstr "" +"Lūdzu pārbaudiet savas audio ierīces vai pārbaudiet lietotnes ziņojumu " +"žurnālus, lai iegūtu papildu informāciju." #: buzz/widgets/update_dialog.py msgid "A new version of Buzz is available!" @@ -751,6 +806,10 @@ msgstr "Jums ir jaunākā versija!" msgid "Average volume" msgstr "Vidējais skaļums" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "Rinda" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "Sākums" @@ -759,12 +818,14 @@ msgstr "Sākums" msgid "End" msgstr "Beigas" -#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py +#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py +#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py #: buzz/widgets/transcription_viewer/export_transcription_menu.py msgid "Text" msgstr "Teksts" -#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py +#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py +#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py #: buzz/widgets/transcription_viewer/export_transcription_menu.py msgid "Translation" msgstr "Tulkojums" @@ -785,7 +846,8 @@ msgstr "Eksportēt" msgid "Translate" msgstr "Tulkot" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py buzz/widgets/transcription_viewer/transcription_resizer_widget.py +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py msgid "Resize" msgstr "Mainīt garumu" @@ -838,8 +900,12 @@ msgid "Follow Audio" msgstr "Sekot audio" #: buzz/widgets/transcription_viewer/transcription_viewer_widget.py -msgid "Enable/disable following the current audio position in the transcript. When enabled, automatically scrolls to current text." -msgstr "Nosaka vai atskaņojot audio iezīmētajam segmentam vajadzētu automātiski sekot tam kas tiek atskaņots." +msgid "" +"Enable/disable following the current audio position in the transcript. When " +"enabled, automatically scrolls to current text." +msgstr "" +"Nosaka vai atskaņojot audio iezīmētajam segmentam vajadzētu automātiski " +"sekot tam kas tiek atskaņots." #: buzz/widgets/transcription_viewer/transcription_viewer_widget.py msgid "Scroll to Current" @@ -930,8 +996,11 @@ msgid "Available only if word level timings were enabled during transcription" msgstr "Pieejami tikai, ierakstiem, kas atpazīti ar dalīšanu pa vārdiem" #: buzz/widgets/transcription_viewer/speaker_identification_widget.py -msgid "Speaker identification is not available: failed to load required libraries." -msgstr "Runātāju noteikšana nav pieejama, neizdevās ielādēt nepieciešamās bibliotēkas." +msgid "" +"Speaker identification is not available: failed to load required libraries." +msgstr "" +"Runātāju noteikšana nav pieejama, neizdevās ielādēt nepieciešamās " +"bibliotēkas." #: buzz/widgets/transcription_viewer/speaker_identification_widget.py msgid "1/8 Collecting transcripts" @@ -950,8 +1019,12 @@ msgid "3/8 Loading alignment model (retrying with cache...)" msgstr "3/8 Ielādē identifikācijas modeli (atkārto...)" #: buzz/widgets/transcription_viewer/speaker_identification_widget.py -msgid "Failed to load alignment model. Please check your internet connection and try again." -msgstr "Neizdevās ielādēt modeli. Lūdzu pārbaidiet savu interneta savienojumu un mēģiniet vēlreiz." +msgid "" +"Failed to load alignment model. Please check your internet connection and " +"try again." +msgstr "" +"Neizdevās ielādēt modeli. Lūdzu pārbaidiet savu interneta savienojumu un " +"mēģiniet vēlreiz." #: buzz/widgets/transcription_viewer/speaker_identification_widget.py msgid "4/8 Processing audio" @@ -1062,8 +1135,12 @@ msgid "File" msgstr "Fails" #: buzz/widgets/main_window.py -msgid "Are you sure you want to delete the selected transcription(s)? This action cannot be undone." -msgstr "Vai tiešām vēlaties dzēst izvēlētos transkriptus? Šī ir neatgriezeniska darbība." +msgid "" +"Are you sure you want to delete the selected transcription(s)? This action " +"cannot be undone." +msgstr "" +"Vai tiešām vēlaties dzēst izvēlētos transkriptus? Šī ir neatgriezeniska " +"darbība." #: buzz/widgets/main_window.py msgid "Select audio file" @@ -1077,13 +1154,23 @@ msgstr "Izvēlieties mapi" msgid "Unable to save OpenAI API key to keyring" msgstr "Neizdevās saglabāt OpenAI API atslēgu atslēgu saišķī" -#: buzz/transcriber/local_whisper_cpp_server_transcriber.py buzz/transcriber/recording_transcriber.py +#: buzz/transcriber/local_whisper_cpp_server_transcriber.py +#: buzz/transcriber/recording_transcriber.py msgid "Whisper server failed to start. Check logs for details." -msgstr "Whisper serverim neizdevās ieslēgties. Lūdzu pārbaudiet lietotnes žurnāla ierakstus." +msgstr "" +"Whisper serverim neizdevās ieslēgties. Lūdzu pārbaudiet lietotnes žurnāla " +"ierakstus." -#: buzz/transcriber/local_whisper_cpp_server_transcriber.py buzz/transcriber/recording_transcriber.py -msgid "Whisper server failed to start due to insufficient memory. Please try again with a smaller model. To force CPU mode use BUZZ_FORCE_CPU=TRUE environment variable." -msgstr "Whisper serverim neizdevās ieslēgties, jo nepietika atmiņas. Lūdzu mēģiniet vēlreiz ar mazāku modeli. Lai izmantotu tikai CPU iestatiet BUZZ_FORCE_CPU=TRUE vides mainīgo." +#: buzz/transcriber/local_whisper_cpp_server_transcriber.py +#: buzz/transcriber/recording_transcriber.py +msgid "" +"Whisper server failed to start due to insufficient memory. Please try again " +"with a smaller model. To force CPU mode use BUZZ_FORCE_CPU=TRUE environment " +"variable." +msgstr "" +"Whisper serverim neizdevās ieslēgties, jo nepietika atmiņas. Lūdzu mēģiniet " +"vēlreiz ar mazāku modeli. Lai izmantotu tikai CPU iestatiet " +"BUZZ_FORCE_CPU=TRUE vides mainīgo." #: buzz/transcriber/transcriber.py msgid "Translate to English" @@ -1542,8 +1629,18 @@ msgid "Append and correct" msgstr "Papildināt un labot esošo" #: buzz/file_transcriber_queue_worker.py -msgid "Speech extraction failed! Check your internet connection — a model may need to be downloaded." -msgstr "Runas atdalīšana neizdevās! Pārbaudiet interneta savienojumu, iespējams jālejupielādē modelis." +msgid "" +"Speech extraction failed! Check your internet connection — a model may need " +"to be downloaded." +msgstr "" +"Runas atdalīšana neizdevās! Pārbaudiet interneta savienojumu, iespējams " +"jālejupielādē modelis." + +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "Atdalīti ar komatu, piemēram, \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" + +#~ msgid "Temperature:" +#~ msgstr "Temperatūra:" #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "Lūdzu, iztulko katru tev atsūtīto tekstu no angļu valodas latviski." @@ -1554,10 +1651,15 @@ msgstr "Runas atdalīšana neizdevās! Pārbaudiet interneta savienojumu, iespē #~ msgid "Snap permission notice" #~ msgstr "Snap atļauju piezīme" -#~ msgid "Detected missing permissions, please check that snap permissions have been granted" -#~ msgstr "Ne visi nepieciešamie moduļi darbojas korekti, iespējams nav piešķirtas snap atļaujas" +#~ msgid "" +#~ "Detected missing permissions, please check that snap permissions have " +#~ "been granted" +#~ msgstr "" +#~ "Ne visi nepieciešamie moduļi darbojas korekti, iespējams nav piešķirtas " +#~ "snap atļaujas" -#~ msgid "To enable necessary permissions run the following commands in the terminal" +#~ msgid "" +#~ "To enable necessary permissions run the following commands in the terminal" #~ msgstr "Lai piešķirtu nepieciešamās atļaujas izpildiet šīs komandas" #~ msgid "Close" diff --git a/buzz/locale/nl/LC_MESSAGES/buzz.po b/buzz/locale/nl/LC_MESSAGES/buzz.po index 9271e325..ec4d27ae 100644 --- a/buzz/locale/nl/LC_MESSAGES/buzz.po +++ b/buzz/locale/nl/LC_MESSAGES/buzz.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: 2025-03-20 18:30+0100\n" "Last-Translator: Heimen Stoffels \n" "Language-Team: none\n" @@ -419,14 +419,6 @@ msgstr "Geavanceerde instellingen" msgid "Speech recognition settings" msgstr "Spraakherkenningsinstellingen" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "Kommagescheiden, bijv. '0.0, 0.2, 0.4, 0.6, 0.8, 1.0'" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "Temperatuur:" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "Hoofdinvoer:" @@ -448,7 +440,10 @@ msgid "" "Please translate each text sent to you from English to Spanish. Translation " "will be used in an automated system, please do not add any comments or " "notes, just the translation." -msgstr "Vertaal elke tekst die naar u wordt gestuurd van het Engels naar het Spaans. De vertaling wordt gebruikt in een geautomatiseerd systeem. Voeg geen opmerkingen of notities toe, alleen de vertaling." +msgstr "" +"Vertaal elke tekst die naar u wordt gestuurd van het Engels naar het Spaans. " +"De vertaling wordt gebruikt in een geautomatiseerd systeem. Voeg geen " +"opmerkingen of notities toe, alleen de vertaling." #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -812,6 +807,10 @@ msgstr "De software is actueel!" msgid "Average volume" msgstr "Gemiddeld volume" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "Wachtrij" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "Begin" @@ -1642,6 +1641,12 @@ msgstr "" "Spraakextractie mislukt! Controleer uw internetverbinding — mogelijk moet er " "een model worden gedownload." +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "Kommagescheiden, bijv. '0.0, 0.2, 0.4, 0.6, 0.8, 1.0'" + +#~ msgid "Temperature:" +#~ msgstr "Temperatuur:" + #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "" #~ "Vertaal elke tekst die naar u wordt verzonden van het Engels naar het " diff --git a/buzz/locale/pl_PL/LC_MESSAGES/buzz.po b/buzz/locale/pl_PL/LC_MESSAGES/buzz.po index 1a8d3e26..3f9e3268 100644 --- a/buzz/locale/pl_PL/LC_MESSAGES/buzz.po +++ b/buzz/locale/pl_PL/LC_MESSAGES/buzz.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: 2024-03-17 20:50+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -414,14 +414,6 @@ msgstr "Ustawienia zaawansowane" msgid "Speech recognition settings" msgstr "Ustawienia rozpoznawania mowy" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "Oddzielone przecinkiem, np. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "Temperatura:" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "Wstępne instrukcje:" @@ -443,7 +435,10 @@ msgid "" "Please translate each text sent to you from English to Spanish. Translation " "will be used in an automated system, please do not add any comments or " "notes, just the translation." -msgstr "Proszę przetłumaczyć każdy przesłany tekst z języka angielskiego na hiszpański. Tłumaczenie będzie używane w systemie automatycznym, dlatego prosimy nie dodawać żadnych komentarzy ani uwag, tylko samo tłumaczenie." +msgstr "" +"Proszę przetłumaczyć każdy przesłany tekst z języka angielskiego na " +"hiszpański. Tłumaczenie będzie używane w systemie automatycznym, dlatego " +"prosimy nie dodawać żadnych komentarzy ani uwag, tylko samo tłumaczenie." #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -809,6 +804,10 @@ msgstr "Posiadasz najnowszą wersję!" msgid "Average volume" msgstr "Średnia głośność" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "Kolejka" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "Rozpocznij" @@ -1636,6 +1635,12 @@ msgstr "" "Wyodrębnianie mowy nie powiodło się! Sprawdź połączenie internetowe — może " "być konieczne pobranie modelu." +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "Oddzielone przecinkiem, np. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" + +#~ msgid "Temperature:" +#~ msgstr "Temperatura:" + #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "" #~ "Proszę przetłumacz każdy przesłany tekst z angielskiego na hiszpański." diff --git a/buzz/locale/pt_BR/LC_MESSAGES/buzz.po b/buzz/locale/pt_BR/LC_MESSAGES/buzz.po index ae4bf87e..6e805062 100644 --- a/buzz/locale/pt_BR/LC_MESSAGES/buzz.po +++ b/buzz/locale/pt_BR/LC_MESSAGES/buzz.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Buzz\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: 2025-11-01 17:43-0300\n" "Last-Translator: Paulo Schopf \n" "Language-Team: none\n" @@ -413,14 +413,6 @@ msgstr "Configurações Avançadas" msgid "Speech recognition settings" msgstr "Configurações de reconhecimento de fala" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "Separado por vírgulas, ex: \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "Temperatura:" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "Prompt Inicial:" @@ -442,7 +434,10 @@ msgid "" "Please translate each text sent to you from English to Spanish. Translation " "will be used in an automated system, please do not add any comments or " "notes, just the translation." -msgstr "Por favor, traduza cada texto enviado a você do inglês para o espanhol. A tradução será usada em um sistema automatizado, portanto, não adicione comentários ou notas, apenas a tradução." +msgstr "" +"Por favor, traduza cada texto enviado a você do inglês para o espanhol. A " +"tradução será usada em um sistema automatizado, portanto, não adicione " +"comentários ou notas, apenas a tradução." #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -807,6 +802,10 @@ msgstr "Você está atualizado!" msgid "Average volume" msgstr "Volume médio" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "Fila" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "Início" @@ -1635,6 +1634,12 @@ msgstr "" "Falha na extração de fala! Verifique sua conexão com a internet — pode ser " "necessário baixar um modelo." +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "Separado por vírgulas, ex: \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" + +#~ msgid "Temperature:" +#~ msgstr "Temperatura:" + #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "" #~ "Por favor, traduza cada texto enviado a você do Inglês para o Espanhol." diff --git a/buzz/locale/uk_UA/LC_MESSAGES/buzz.po b/buzz/locale/uk_UA/LC_MESSAGES/buzz.po index 89137f14..a0ffbaae 100644 --- a/buzz/locale/uk_UA/LC_MESSAGES/buzz.po +++ b/buzz/locale/uk_UA/LC_MESSAGES/buzz.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: \n" "Last-Translator: Yevhen Popok \n" "Language-Team: \n" @@ -410,14 +410,6 @@ msgstr "Додаткові налаштування" msgid "Speech recognition settings" msgstr "Параметри розпізнавання мовлення" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "Значення розділені комами, напр., \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "Температура:" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "Початкова підказка:" @@ -439,7 +431,10 @@ msgid "" "Please translate each text sent to you from English to Spanish. Translation " "will be used in an automated system, please do not add any comments or " "notes, just the translation." -msgstr "Будь ласка, перекладайте кожен надісланий вам текст з англійської на іспанську. Переклад використовуватиметься в автоматизованій системі, тому, будь ласка, не додавайте жодних коментарів чи приміток, лише переклад." +msgstr "" +"Будь ласка, перекладайте кожен надісланий вам текст з англійської на " +"іспанську. Переклад використовуватиметься в автоматизованій системі, тому, " +"будь ласка, не додавайте жодних коментарів чи приміток, лише переклад." #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -803,6 +798,10 @@ msgstr "У вас актуальна версія!" msgid "Average volume" msgstr "Середній рівень гучності" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "Черга" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "Початок" @@ -1630,6 +1629,12 @@ msgstr "" "Не вдалося витягти мовлення! Перевірте підключення до інтернету — можливо, " "потрібно завантажити модель." +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "Значення розділені комами, напр., \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" + +#~ msgid "Temperature:" +#~ msgstr "Температура:" + #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "" #~ "Будь ласка, перекладайте кожен текст, надісланий вам, з англійської на " diff --git a/buzz/locale/zh_CN/LC_MESSAGES/buzz.po b/buzz/locale/zh_CN/LC_MESSAGES/buzz.po index 372122a6..055fb436 100644 --- a/buzz/locale/zh_CN/LC_MESSAGES/buzz.po +++ b/buzz/locale/zh_CN/LC_MESSAGES/buzz.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: 2023-05-01 15:45+0800\n" "Last-Translator: \n" "Language-Team: lamb \n" @@ -406,14 +406,6 @@ msgstr "高级设置" msgid "Speech recognition settings" msgstr "语音识别设置" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "逗号分隔,例如\"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "温度:" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "初始提示:" @@ -435,7 +427,9 @@ msgid "" "Please translate each text sent to you from English to Spanish. Translation " "will be used in an automated system, please do not add any comments or " "notes, just the translation." -msgstr "请将发送给您的每段文本从英语翻译成西班牙语。翻译将用于自动化系统,请不要添加任何评论或备注,只需提供翻译即可。" +msgstr "" +"请将发送给您的每段文本从英语翻译成西班牙语。翻译将用于自动化系统,请不要添加" +"任何评论或备注,只需提供翻译即可。" #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -794,6 +788,10 @@ msgstr "已经是最新版本" msgid "Average volume" msgstr "平均音量" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "队列" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "开始" @@ -1607,6 +1605,12 @@ msgid "" "to be downloaded." msgstr "语音提取失败!请检查您的网络连接——可能需要下载模型。" +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "逗号分隔,例如\"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" + +#~ msgid "Temperature:" +#~ msgstr "温度:" + #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "请将发送给您的每段文本从英语翻译成西班牙语。" diff --git a/buzz/locale/zh_TW/LC_MESSAGES/buzz.po b/buzz/locale/zh_TW/LC_MESSAGES/buzz.po index c8452448..f55c0afb 100644 --- a/buzz/locale/zh_TW/LC_MESSAGES/buzz.po +++ b/buzz/locale/zh_TW/LC_MESSAGES/buzz.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-06 12:22+0200\n" +"POT-Creation-Date: 2026-03-07 11:02+0200\n" "PO-Revision-Date: 2023-05-01 15:45+0800\n" "Last-Translator: \n" "Language-Team: Lamb\n" @@ -407,14 +407,6 @@ msgstr "進階設定" msgid "Speech recognition settings" msgstr "語音識別設定" -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" -msgstr "逗號分隔,例如\"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" - -#: buzz/widgets/transcriber/advanced_settings_dialog.py -msgid "Temperature:" -msgstr "溫度:" - #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Initial Prompt:" msgstr "初始提示:" @@ -436,7 +428,9 @@ msgid "" "Please translate each text sent to you from English to Spanish. Translation " "will be used in an automated system, please do not add any comments or " "notes, just the translation." -msgstr "請將傳送給您的每段文字從英文翻譯成西班牙文。翻譯將用於自動化系統,請勿添加任何評論或備註,僅提供翻譯即可。" +msgstr "" +"請將傳送給您的每段文字從英文翻譯成西班牙文。翻譯將用於自動化系統,請勿添加任" +"何評論或備註,僅提供翻譯即可。" #: buzz/widgets/transcriber/advanced_settings_dialog.py msgid "Instructions for AI:" @@ -795,6 +789,10 @@ msgstr "你是最新的!" msgid "Average volume" msgstr "平均音量" +#: buzz/widgets/audio_meter_widget.py +msgid "Queue" +msgstr "佇列" + #: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py msgid "Start" msgstr "開始" @@ -1608,6 +1606,12 @@ msgid "" "to be downloaded." msgstr "語音提取失敗!請檢查您的網路連線——可能需要下載模型。" +#~ msgid "Comma-separated, e.g. \"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" +#~ msgstr "逗號分隔,例如\"0.0, 0.2, 0.4, 0.6, 0.8, 1.0\"" + +#~ msgid "Temperature:" +#~ msgstr "溫度:" + #~ msgid "Please translate each text sent to you from English to Spanish." #~ msgstr "請將傳送給您的每段文字從英語翻譯為西班牙語。" diff --git a/buzz/transcriber/recording_transcriber.py b/buzz/transcriber/recording_transcriber.py index 9a4bf9f4..3d0105ba 100644 --- a/buzz/transcriber/recording_transcriber.py +++ b/buzz/transcriber/recording_transcriber.py @@ -40,6 +40,7 @@ class RecordingTranscriber(QObject): error = pyqtSignal(str) amplitude_changed = pyqtSignal(float) average_amplitude_changed = pyqtSignal(float) + queue_size_changed = pyqtSignal(int) is_running = False SAMPLE_RATE = whisper_audio.SAMPLE_RATE @@ -133,14 +134,6 @@ class RecordingTranscriber(QObject): cpu_threads=(os.cpu_count() or 8)//2, ) - # This was commented out as it was causing issues. On the other hand some users are reporting errors without - # this. It is possible issues were present in older model versions without some config files and now are fixed - # - # Fix for large-v3 https://github.com/guillaumekln/faster-whisper/issues/547#issuecomment-1797962599 - # if self.transcription_options.model.whisper_model_size in {WhisperModelSize.LARGEV3, WhisperModelSize.LARGEV3TURBO}: - # model.feature_extractor.mel_filters = model.feature_extractor.get_mel_filters( - # model.feature_extractor.sampling_rate, model.feature_extractor.n_fft, n_mels=128 - # ) elif self.transcription_options.model.model_type == ModelType.OPEN_AI_WHISPER_API: custom_openai_base_url = self.settings.value( key=Settings.Key.CUSTOM_OPENAI_BASE_URL, default_value="" @@ -176,12 +169,19 @@ class RecordingTranscriber(QObject): while self.is_running: if self.queue.size >= self.n_batch_samples: self.mutex.acquire() - samples = self.queue[: self.n_batch_samples] - self.queue = self.queue[self.n_batch_samples - keep_samples:] + cut = self.find_silence_cut_point( + self.queue[:self.n_batch_samples], self.sample_rate + ) + samples = self.queue[:cut] + if self.transcriber_mode == RecordingTranscriberMode.APPEND_AND_CORRECT: + self.queue = self.queue[cut - keep_samples:] + else: + self.queue = self.queue[cut:] self.mutex.release() amplitude = self.amplitude(samples) self.average_amplitude_changed.emit(amplitude) + self.queue_size_changed.emit(self.queue.size) logging.debug( "Processing next frame, sample size = %s, queue size = %s, amplitude = %s", @@ -325,14 +325,15 @@ class RecordingTranscriber(QObject): self.error.emit(str(exc)) return - self.finished.emit() - - # Cleanup + # Cleanup before emitting finished to avoid destroying QThread + # while this function is still on the call stack if model: del model if torch.cuda.is_available(): torch.cuda.empty_cache() + self.finished.emit() + @staticmethod def get_device_sample_rate(device_id: Optional[int]) -> int: """Returns the sample rate to be used for recording. It uses the default sample rate @@ -360,6 +361,38 @@ class RecordingTranscriber(QObject): if self.queue.size < self.max_queue_size: self.queue = np.append(self.queue, chunk) + @staticmethod + def find_silence_cut_point(samples: np.ndarray, sample_rate: int, + search_seconds: float = 1.5, + window_seconds: float = 0.02, + silence_ratio: float = 0.5) -> int: + """Return index of the last quiet point in the final search_seconds of samples. + + Scans backwards through short windows; returns the midpoint of the rightmost + window whose RMS is below silence_ratio * mean_rms of the search region. + Falls back to len(samples) if no quiet window is found. + """ + window = int(window_seconds * sample_rate) + search_start = max(0, len(samples) - int(search_seconds * sample_rate)) + region = samples[search_start:] + n_windows = (len(region) - window) // window + if n_windows < 1: + return len(samples) + + energies = np.array([ + np.sqrt(np.mean(region[i * window:(i + 1) * window] ** 2)) + for i in range(n_windows) + ]) + mean_energy = energies.mean() + threshold = silence_ratio * mean_energy + + for i in range(n_windows - 1, -1, -1): + if energies[i] < threshold: + cut = search_start + i * window + window // 2 + return cut + + return len(samples) + @staticmethod def amplitude(arr: np.ndarray): return float(np.sqrt(np.mean(arr**2))) diff --git a/buzz/widgets/audio_meter_widget.py b/buzz/widgets/audio_meter_widget.py index 8ce9b945..e9664740 100644 --- a/buzz/widgets/audio_meter_widget.py +++ b/buzz/widgets/audio_meter_widget.py @@ -31,6 +31,7 @@ class AudioMeterWidget(QWidget): self.current_amplitude = 0.0 self.average_amplitude = 0.0 + self.queue_size = 0 self.MINIMUM_AMPLITUDE = 0.00005 # minimum amplitude to show the first bar self.AMPLITUDE_SCALE_FACTOR = 10 # scale the amplitudes such that 1/AMPLITUDE_SCALE_FACTOR will show all bars @@ -76,11 +77,14 @@ class AudioMeterWidget(QWidget): text_rect = QRect(rect.left(), self.BARS_HEIGHT, rect.width(), rect.height() - self.BARS_HEIGHT) painter.setPen(self.BAR_ACTIVE_COLOR) average_volume_label = _("Average volume") - painter.drawText(text_rect, Qt.AlignmentFlag.AlignCenter, f"{average_volume_label}: {self.average_amplitude:.4f}") + queue_label = _("Queue") + painter.drawText(text_rect, Qt.AlignmentFlag.AlignCenter, + f"{average_volume_label}: {self.average_amplitude:.4f} {queue_label}: {self.queue_size}") def reset_amplitude(self): self.current_amplitude = 0.0 self.average_amplitude = 0.0 + self.queue_size = 0 self.repaint() def update_amplitude(self, amplitude: float): @@ -92,3 +96,7 @@ class AudioMeterWidget(QWidget): def update_average_amplitude(self, amplitude: float): self.average_amplitude = amplitude self.update() + + def update_queue_size(self, size: int): + self.queue_size = size + self.update() diff --git a/buzz/widgets/recording_transcriber_widget.py b/buzz/widgets/recording_transcriber_widget.py index 02cd0e7a..1c7bfcd2 100644 --- a/buzz/widgets/recording_transcriber_widget.py +++ b/buzz/widgets/recording_transcriber_widget.py @@ -11,7 +11,7 @@ import sounddevice from enum import auto from typing import Optional, Tuple, Any -from PyQt6.QtCore import QThread, Qt, QThreadPool, QTimer +from PyQt6.QtCore import QThread, Qt, QThreadPool, QTimer, pyqtSignal from PyQt6.QtGui import QTextCursor, QCloseEvent, QColor from PyQt6.QtWidgets import ( QWidget, @@ -71,6 +71,8 @@ class RecordingTranscriberWidget(QWidget): recording_amplitude_listener: Optional[RecordingAmplitudeListener] = None device_sample_rate: Optional[int] = None + transcription_stopped = pyqtSignal() + class RecordingStatus(enum.Enum): STOPPED = auto() RECORDING = auto() @@ -209,7 +211,7 @@ class RecordingTranscriberWidget(QWidget): self.translation_text_box.hide() self.setLayout(layout) - self.resize(550, 600) + self.resize(700, 600) self.reset_recording_amplitude_listener() @@ -633,6 +635,9 @@ class RecordingTranscriberWidget(QWidget): self.transcriber.average_amplitude_changed.connect( self.audio_meter_widget.update_average_amplitude, Qt.ConnectionType.QueuedConnection ) + self.transcriber.queue_size_changed.connect( + self.audio_meter_widget.update_queue_size, Qt.ConnectionType.QueuedConnection + ) # Stop the separate amplitude listener to avoid two streams on the same device if self.recording_amplitude_listener is not None: @@ -1042,6 +1047,7 @@ class RecordingTranscriberWidget(QWidget): self.reset_record_button() # Restart amplitude listener now that the transcription stream is closed self.reset_recording_amplitude_listener() + self.transcription_stopped.emit() def on_transcriber_error(self, error: str): self.reset_record_button() diff --git a/share/metainfo/io.github.chidiwilliams.Buzz.metainfo.xml b/share/metainfo/io.github.chidiwilliams.Buzz.metainfo.xml index fd50fb15..ee594f28 100644 --- a/share/metainfo/io.github.chidiwilliams.Buzz.metainfo.xml +++ b/share/metainfo/io.github.chidiwilliams.Buzz.metainfo.xml @@ -73,6 +73,7 @@
  • Fixed Youtube link downloading
  • Added option to import folder
  • Extra settings for live recordings
  • +
  • Adjusted live recording batching process to avoid min-word cuts
  • Update checker for Windows and Macs
  • Added voice activity detection to whisper.cpp
  • diff --git a/tests/transcriber/recording_transcriber_test.py b/tests/transcriber/recording_transcriber_test.py index daa77789..3ceef3cc 100644 --- a/tests/transcriber/recording_transcriber_test.py +++ b/tests/transcriber/recording_transcriber_test.py @@ -120,31 +120,32 @@ class TestRecordingTranscriber: transcriber.transcription.connect(on_transcription) thread.start() - qtbot.waitUntil(lambda: len(transcriptions) == 3, timeout=60_000) + try: + qtbot.waitUntil(lambda: len(transcriptions) == 3, timeout=120_000) - # any string in any transcription - strings_to_check = [_("Starting Whisper.cpp..."), "Bienvenue dans Passe"] - assert any(s in t for s in strings_to_check for t in transcriptions) + # any string in any transcription + strings_to_check = [_("Starting Whisper.cpp..."), "Bienvenue dans Passe"] + assert any(s in t for s in strings_to_check for t in transcriptions) + finally: + # Ensure cleanup runs even if waitUntil times out + transcriber.stop_recording() + time.sleep(10) - # Wait for the thread to finish - transcriber.stop_recording() - time.sleep(10) + thread.quit() + thread.wait() - thread.quit() - thread.wait() + # Ensure process is cleaned up + if transcriber.process and transcriber.process.poll() is None: + transcriber.process.terminate() + try: + transcriber.process.wait(timeout=2) + except: + pass - # Ensure process is cleaned up - if transcriber.process and transcriber.process.poll() is None: - transcriber.process.terminate() - try: - transcriber.process.wait(timeout=2) - except: - pass - - # Process pending events to ensure cleanup - from PyQt6.QtCore import QCoreApplication - QCoreApplication.processEvents() - time.sleep(0.1) + # Process pending events to ensure cleanup + from PyQt6.QtCore import QCoreApplication + QCoreApplication.processEvents() + time.sleep(0.1) class TestRecordingTranscriberInit: diff --git a/tests/widgets/recording_transcriber_widget_test.py b/tests/widgets/recording_transcriber_widget_test.py index 36512f12..564664ae 100644 --- a/tests/widgets/recording_transcriber_widget_test.py +++ b/tests/widgets/recording_transcriber_widget_test.py @@ -58,7 +58,7 @@ class TestRecordingTranscriberWidget: widget.record_button.click() qtbot.wait_until(callback=assert_text_box_contains_text, timeout=60 * 1000) - with qtbot.wait_signal(widget.transcription_thread.finished, timeout=60 * 1000): + with qtbot.wait_signal(widget.transcription_stopped, timeout=60 * 1000): widget.stop_recording() assert len(widget.transcription_text_box.toPlainText()) > 0 @@ -104,7 +104,7 @@ class TestRecordingTranscriberWidget: widget.record_button.click() qtbot.wait_until(callback=assert_text_box_contains_text, timeout=60 * 1000) - with qtbot.wait_signal(widget.transcription_thread.finished, timeout=60 * 1000): + with qtbot.wait_signal(widget.transcription_stopped, timeout=60 * 1000): widget.stop_recording() assert len(widget.transcription_text_box.toPlainText()) > 0