diff --git a/buzz/db/dao/transcription_dao.py b/buzz/db/dao/transcription_dao.py index 17eb006b..f35e0db1 100644 --- a/buzz/db/dao/transcription_dao.py +++ b/buzz/db/dao/transcription_dao.py @@ -33,7 +33,8 @@ class TranscriptionDAO(DAO[Transcription]): url, whisper_model_size, hugging_face_model_id, - word_level_timings + word_level_timings, + extract_speech ) VALUES ( :id, :export_formats, @@ -48,7 +49,8 @@ class TranscriptionDAO(DAO[Transcription]): :url, :whisper_model_size, :hugging_face_model_id, - :word_level_timings + :word_level_timings, + :extract_speech ) """ ) @@ -89,6 +91,10 @@ class TranscriptionDAO(DAO[Transcription]): ":word_level_timings", task.transcription_options.word_level_timings ) + query.bindValue( + ":extract_speech", + task.transcription_options.extract_speech + ) if not query.exec(): raise Exception(query.lastError().text()) @@ -125,7 +131,8 @@ class TranscriptionDAO(DAO[Transcription]): url, whisper_model_size, hugging_face_model_id, - word_level_timings + word_level_timings, + extract_speech ) VALUES ( :id, :export_formats, @@ -140,7 +147,8 @@ class TranscriptionDAO(DAO[Transcription]): :url, :whisper_model_size, :hugging_face_model_id, - :word_level_timings + :word_level_timings, + :extract_speech ) """ ) diff --git a/buzz/db/entity/transcription.py b/buzz/db/entity/transcription.py index 4216683e..3692bbcc 100644 --- a/buzz/db/entity/transcription.py +++ b/buzz/db/entity/transcription.py @@ -17,6 +17,7 @@ class Transcription(Entity): whisper_model_size: str | None = None hugging_face_model_id: str | None = None word_level_timings: str | None = None + extract_speech: str | None = None language: str | None = None id: str = field(default_factory=lambda: str(uuid.uuid4())) error_message: str | None = None diff --git a/buzz/file_transcriber_queue_worker.py b/buzz/file_transcriber_queue_worker.py index 03ac37c6..c16bfd94 100644 --- a/buzz/file_transcriber_queue_worker.py +++ b/buzz/file_transcriber_queue_worker.py @@ -1,6 +1,8 @@ import logging import multiprocessing import queue +import demucs.api +from pathlib import Path from typing import Optional, Tuple, List, Set from uuid import UUID @@ -53,6 +55,22 @@ class FileTranscriberQueueWorker(QObject): break + if self.current_task.transcription_options.extract_speech: + def separator_progress_callback(progress): + self.task_progress.emit(self.current_task, int(progress["segment_offset"] * 100) / int(progress["audio_length"] * 100)) + + separator = demucs.api.Separator( + progress=True, + callback=separator_progress_callback, + ) + _, separated = separator.separate_audio_file(Path(self.current_task.file_path)) + + task_file_path = Path(self.current_task.file_path) + speech_path = task_file_path.with_name(f"{task_file_path.stem}_speech.flac") + demucs.api.save_audio(separated["vocals"], speech_path, samplerate=separator.samplerate) + + self.current_task.file_path = str(speech_path) + logging.debug("Starting next transcription task") model_type = self.current_task.transcription_options.model.model_type diff --git a/buzz/locale/ca_ES/LC_MESSAGES/buzz.po b/buzz/locale/ca_ES/LC_MESSAGES/buzz.po index d3b807a8..a2b58134 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: 2024-12-28 22:29+0200\n" +"POT-Creation-Date: 2025-01-02 11:39+0200\n" "PO-Revision-Date: 2023-02-15 05:01+0000\n" "Last-Translator: Jordi Mas i Hernàndez \n" "Language-Team: Catalan \n" @@ -28,7 +28,7 @@ msgstr "" #: buzz/widgets/preferences_dialog/preferences_dialog.py:69 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:245 #: buzz/widgets/transcriber/advanced_settings_dialog.py:97 -#: buzz/widgets/main_window.py:244 +#: buzz/widgets/main_window.py:246 msgid "Ok" msgstr "" @@ -36,7 +36,7 @@ msgstr "" #: buzz/widgets/preferences_dialog/preferences_dialog.py:70 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:246 #: buzz/widgets/model_download_progress_dialog.py:29 -#: buzz/widgets/main_window.py:245 +#: buzz/widgets/main_window.py:247 #, fuzzy msgid "Cancel" msgstr "Cancel·lat" @@ -216,7 +216,7 @@ msgid "Download failed" msgstr "Baixat" #: buzz/widgets/preferences_dialog/models_preferences_widget.py:269 -#: buzz/widgets/main_window.py:301 buzz/model_loader.py:503 +#: buzz/widgets/main_window.py:303 buzz/model_loader.py:503 msgid "Error" msgstr "Error" @@ -230,7 +230,7 @@ msgid "Stop" msgstr "Atura" #: buzz/widgets/transcriber/languages_combo_box.py:35 -#: buzz/transcriber/transcriber.py:159 +#: buzz/transcriber/transcriber.py:160 msgid "Detect Language" msgstr "Detecta l'idioma" @@ -303,11 +303,15 @@ msgstr "" msgid "Instructions for AI:" msgstr "" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:42 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:43 msgid "Word-level timings" msgstr "Temps amb granularitat de paraula" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:66 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:54 +msgid "Extract speech" +msgstr "" + +#: buzz/widgets/transcriber/file_transcription_form_widget.py:77 msgid "Export:" msgstr "" @@ -337,7 +341,7 @@ msgstr "Obre una transcripció" msgid "Cancel Transcription" msgstr "Cancel·la la transcripció" -#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:233 +#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:235 #: buzz/settings/shortcut.py:26 msgid "Clear History" msgstr "Neteja l'historial" @@ -456,53 +460,53 @@ msgstr "" msgid "Timestamps" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:158 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146 msgid "Export" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:172 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160 #: buzz/transcriber/transcriber.py:24 msgid "Translate" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:182 -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:90 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168 msgid "Resize" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:281 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269 msgid "API Key Required" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:282 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270 msgid "Please enter OpenAI API Key in preferences" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:72 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150 msgid "Resize Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:83 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161 msgid "Desired subtitle length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:108 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186 msgid "Merge Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:119 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197 msgid "Merge by gap" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:127 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205 msgid "Split by punctuation" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:135 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213 msgid "Split by max length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:147 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225 msgid "Merge" msgstr "" @@ -568,7 +572,7 @@ msgstr "Ajuda" msgid "File" msgstr "Fitxer" -#: buzz/widgets/main_window.py:237 +#: buzz/widgets/main_window.py:239 msgid "" "Are you sure you want to delete the selected transcription(s)? This action " "cannot be undone." @@ -576,11 +580,11 @@ msgstr "" "Esteu segur que voleu suprimir les transcripcions seleccionades? Aquesta " "acció no es pot desfer." -#: buzz/widgets/main_window.py:265 +#: buzz/widgets/main_window.py:267 msgid "Select audio file" msgstr "Selecciona un fitxer d'àudio" -#: buzz/widgets/main_window.py:301 +#: buzz/widgets/main_window.py:303 msgid "Unable to save OpenAI API key to keyring" msgstr "" diff --git a/buzz/locale/es_ES/LC_MESSAGES/buzz.po b/buzz/locale/es_ES/LC_MESSAGES/buzz.po index f1d4dd98..7e66216a 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: 2024-12-28 22:29+0200\n" +"POT-Creation-Date: 2025-01-02 11:39+0200\n" "PO-Revision-Date: 2023-11-09 04:35-0600\n" "Last-Translator: Adolfo Jayme Barrientos \n" "Language-Team: \n" @@ -29,7 +29,7 @@ msgstr "" #: buzz/widgets/preferences_dialog/preferences_dialog.py:69 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:245 #: buzz/widgets/transcriber/advanced_settings_dialog.py:97 -#: buzz/widgets/main_window.py:244 +#: buzz/widgets/main_window.py:246 msgid "Ok" msgstr "" @@ -37,7 +37,7 @@ msgstr "" #: buzz/widgets/preferences_dialog/preferences_dialog.py:70 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:246 #: buzz/widgets/model_download_progress_dialog.py:29 -#: buzz/widgets/main_window.py:245 +#: buzz/widgets/main_window.py:247 #, fuzzy msgid "Cancel" msgstr "Cancelado" @@ -222,7 +222,7 @@ msgid "Download failed" msgstr "Descargado" #: buzz/widgets/preferences_dialog/models_preferences_widget.py:269 -#: buzz/widgets/main_window.py:301 buzz/model_loader.py:503 +#: buzz/widgets/main_window.py:303 buzz/model_loader.py:503 msgid "Error" msgstr "Error" @@ -239,7 +239,7 @@ msgstr "Detener" # automatic translation #: buzz/widgets/transcriber/languages_combo_box.py:35 -#: buzz/transcriber/transcriber.py:159 +#: buzz/transcriber/transcriber.py:160 msgid "Detect Language" msgstr "Detectar idioma" @@ -322,11 +322,15 @@ msgid "Instructions for AI:" msgstr "" # automatic translation -#: buzz/widgets/transcriber/file_transcription_form_widget.py:42 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:43 msgid "Word-level timings" msgstr "Tiempos a nivel de palabra" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:66 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:54 +msgid "Extract speech" +msgstr "" + +#: buzz/widgets/transcriber/file_transcription_form_widget.py:77 msgid "Export:" msgstr "" @@ -361,7 +365,7 @@ msgid "Cancel Transcription" msgstr "Cancelar transcripción" # automatic translation -#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:233 +#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:235 #: buzz/settings/shortcut.py:26 msgid "Clear History" msgstr "Vaciar historial" @@ -491,53 +495,53 @@ msgstr "" msgid "Timestamps" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:158 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146 msgid "Export" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:172 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160 #: buzz/transcriber/transcriber.py:24 msgid "Translate" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:182 -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:90 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168 msgid "Resize" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:281 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269 msgid "API Key Required" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:282 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270 msgid "Please enter OpenAI API Key in preferences" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:72 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150 msgid "Resize Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:83 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161 msgid "Desired subtitle length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:108 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186 msgid "Merge Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:119 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197 msgid "Merge by gap" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:127 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205 msgid "Split by punctuation" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:135 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213 msgid "Split by max length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:147 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225 msgid "Merge" msgstr "" @@ -610,7 +614,7 @@ msgid "File" msgstr "Archivo" # automatic translation -#: buzz/widgets/main_window.py:237 +#: buzz/widgets/main_window.py:239 msgid "" "Are you sure you want to delete the selected transcription(s)? This action " "cannot be undone." @@ -619,11 +623,11 @@ msgstr "" "no se puede deshacer." # automatic translation -#: buzz/widgets/main_window.py:265 +#: buzz/widgets/main_window.py:267 msgid "Select audio file" msgstr "Seleccionar archivo de audio" -#: buzz/widgets/main_window.py:301 +#: buzz/widgets/main_window.py:303 msgid "Unable to save OpenAI API key to keyring" msgstr "" diff --git a/buzz/locale/it_IT/LC_MESSAGES/buzz.po b/buzz/locale/it_IT/LC_MESSAGES/buzz.po index 0dfd7aa7..94c8347a 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: 2024-12-28 22:29+0200\n" +"POT-Creation-Date: 2025-01-02 11:39+0200\n" "PO-Revision-Date: 2024-11-24 13:22+0100\n" "Language-Team: (Italiano) Albano Battistella \n" "Language: it_IT\n" @@ -28,7 +28,7 @@ msgstr "https://esempio.com/audio.mp3" #: buzz/widgets/preferences_dialog/preferences_dialog.py:69 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:245 #: buzz/widgets/transcriber/advanced_settings_dialog.py:97 -#: buzz/widgets/main_window.py:244 +#: buzz/widgets/main_window.py:246 msgid "Ok" msgstr "Ok" @@ -36,7 +36,7 @@ msgstr "Ok" #: buzz/widgets/preferences_dialog/preferences_dialog.py:70 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:246 #: buzz/widgets/model_download_progress_dialog.py:29 -#: buzz/widgets/main_window.py:245 +#: buzz/widgets/main_window.py:247 msgid "Cancel" msgstr "Annulla" @@ -218,7 +218,7 @@ msgid "Download failed" msgstr "Download non riuscito" #: buzz/widgets/preferences_dialog/models_preferences_widget.py:269 -#: buzz/widgets/main_window.py:301 buzz/model_loader.py:503 +#: buzz/widgets/main_window.py:303 buzz/model_loader.py:503 msgid "Error" msgstr "Errore" @@ -232,7 +232,7 @@ msgid "Stop" msgstr "Arresta" #: buzz/widgets/transcriber/languages_combo_box.py:35 -#: buzz/transcriber/transcriber.py:159 +#: buzz/transcriber/transcriber.py:160 msgid "Detect Language" msgstr "Rileva la lingua" @@ -306,11 +306,15 @@ msgstr "Inserisci le istruzioni per l'IA su come tradurre..." msgid "Instructions for AI:" msgstr "Istruzioni per l'AI:" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:42 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:43 msgid "Word-level timings" msgstr "Tempistiche a livello di parola" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:66 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:54 +msgid "Extract speech" +msgstr "" + +#: buzz/widgets/transcriber/file_transcription_form_widget.py:77 msgid "Export:" msgstr "Esporta:" @@ -338,7 +342,7 @@ msgstr "Apri trascrizione" msgid "Cancel Transcription" msgstr "Annulla trascrizione" -#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:233 +#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:235 #: buzz/settings/shortcut.py:26 msgid "Clear History" msgstr "Elimina la cronologia" @@ -452,54 +456,54 @@ msgstr "Visualizza" msgid "Timestamps" msgstr "Timestamp" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:158 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146 msgid "Export" msgstr "Esporta" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:172 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160 #: buzz/transcriber/transcriber.py:24 msgid "Translate" msgstr "Tradurre" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:182 -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:90 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168 msgid "Resize" msgstr "Ridimensionare" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:281 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269 msgid "API Key Required" msgstr "Chiave API richiesta" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:282 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270 msgid "Please enter OpenAI API Key in preferences" msgstr "Inserisci la chiave API OpenAI nelle preferenze" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:72 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150 #, fuzzy msgid "Resize Options" msgstr "Ridimensionare" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:83 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161 msgid "Desired subtitle length" msgstr "Lunghezza desiderata dei sottotitoli" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:108 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186 msgid "Merge Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:119 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197 msgid "Merge by gap" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:127 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205 msgid "Split by punctuation" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:135 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213 msgid "Split by max length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:147 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225 msgid "Merge" msgstr "" @@ -566,7 +570,7 @@ msgstr "Aiuto" msgid "File" msgstr "File" -#: buzz/widgets/main_window.py:237 +#: buzz/widgets/main_window.py:239 msgid "" "Are you sure you want to delete the selected transcription(s)? This action " "cannot be undone." @@ -574,11 +578,11 @@ msgstr "" "Sei certo di voler eliminare le trascrizioni selezionate? Questa azione non " "può essere annullata." -#: buzz/widgets/main_window.py:265 +#: buzz/widgets/main_window.py:267 msgid "Select audio file" msgstr "Seleziona file audio" -#: buzz/widgets/main_window.py:301 +#: buzz/widgets/main_window.py:303 msgid "Unable to save OpenAI API key to keyring" msgstr "Impossibile salvare la chiave API OpenAI nel portachiavi" diff --git a/buzz/locale/ja_JP/LC_MESSAGES/buzz.po b/buzz/locale/ja_JP/LC_MESSAGES/buzz.po index 8fbfd5dc..dd025e15 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: 2024-12-28 22:29+0200\n" +"POT-Creation-Date: 2025-01-02 11:39+0200\n" "PO-Revision-Date: \n" "Last-Translator: nunawa <71294849+nunawa@users.noreply.github.com>\n" "Language-Team: \n" @@ -24,7 +24,7 @@ msgstr "https://example.com/audio.mp3" #: buzz/widgets/preferences_dialog/preferences_dialog.py:69 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:245 #: buzz/widgets/transcriber/advanced_settings_dialog.py:97 -#: buzz/widgets/main_window.py:244 +#: buzz/widgets/main_window.py:246 msgid "Ok" msgstr "Ok" @@ -32,7 +32,7 @@ msgstr "Ok" #: buzz/widgets/preferences_dialog/preferences_dialog.py:70 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:246 #: buzz/widgets/model_download_progress_dialog.py:29 -#: buzz/widgets/main_window.py:245 +#: buzz/widgets/main_window.py:247 msgid "Cancel" msgstr "キャンセル" @@ -214,7 +214,7 @@ msgid "Download failed" msgstr "ダウンロード失敗" #: buzz/widgets/preferences_dialog/models_preferences_widget.py:269 -#: buzz/widgets/main_window.py:301 buzz/model_loader.py:503 +#: buzz/widgets/main_window.py:303 buzz/model_loader.py:503 msgid "Error" msgstr "エラー" @@ -228,7 +228,7 @@ msgid "Stop" msgstr "停止する" #: buzz/widgets/transcriber/languages_combo_box.py:35 -#: buzz/transcriber/transcriber.py:159 +#: buzz/transcriber/transcriber.py:160 msgid "Detect Language" msgstr "自動検出" @@ -300,11 +300,15 @@ msgstr "AIのための翻訳方法の指示を入力..." msgid "Instructions for AI:" msgstr "AIへの指示:" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:42 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:43 msgid "Word-level timings" msgstr "単語レベルでのタイミング" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:66 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:54 +msgid "Extract speech" +msgstr "" + +#: buzz/widgets/transcriber/file_transcription_form_widget.py:77 msgid "Export:" msgstr "出力形式:" @@ -334,7 +338,7 @@ msgstr "文字起こしを開く" msgid "Cancel Transcription" msgstr "文字起こしをキャンセルする" -#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:233 +#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:235 #: buzz/settings/shortcut.py:26 msgid "Clear History" msgstr "履歴を削除する" @@ -448,54 +452,54 @@ msgstr "表示" msgid "Timestamps" msgstr "タイムスタンプ" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:158 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146 msgid "Export" msgstr "出力" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:172 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160 #: buzz/transcriber/transcriber.py:24 msgid "Translate" msgstr "翻訳" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:182 -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:90 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168 msgid "Resize" msgstr "リサイズ" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:281 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269 msgid "API Key Required" msgstr "APIキーが必要" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:282 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270 msgid "Please enter OpenAI API Key in preferences" msgstr "設定画面でOpenAI APIキーを入力してください" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:72 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150 #, fuzzy msgid "Resize Options" msgstr "リサイズ" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:83 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161 msgid "Desired subtitle length" msgstr "希望する字幕の長さ" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:108 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186 msgid "Merge Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:119 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197 msgid "Merge by gap" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:127 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205 msgid "Split by punctuation" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:135 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213 msgid "Split by max length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:147 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225 msgid "Merge" msgstr "" @@ -562,17 +566,17 @@ msgstr "ヘルプ" msgid "File" msgstr "ファイル" -#: buzz/widgets/main_window.py:237 +#: buzz/widgets/main_window.py:239 msgid "" "Are you sure you want to delete the selected transcription(s)? This action " "cannot be undone." msgstr "本当に選択された文字起こしを削除しますか? この操作は元に戻せません。" -#: buzz/widgets/main_window.py:265 +#: buzz/widgets/main_window.py:267 msgid "Select audio file" msgstr "音声ファイルを選択" -#: buzz/widgets/main_window.py:301 +#: buzz/widgets/main_window.py:303 msgid "Unable to save OpenAI API key to keyring" msgstr "OpenAI API キーをkeyringに保存できません" diff --git a/buzz/locale/lv_LV/LC_MESSAGES/buzz.po b/buzz/locale/lv_LV/LC_MESSAGES/buzz.po index 0af70d6c..bbb95ad1 100644 --- a/buzz/locale/lv_LV/LC_MESSAGES/buzz.po +++ b/buzz/locale/lv_LV/LC_MESSAGES/buzz.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-28 22:29+0200\n" -"PO-Revision-Date: 2024-12-28 22:32+0200\n" +"POT-Creation-Date: 2025-01-02 11:39+0200\n" +"PO-Revision-Date: 2025-01-02 11:46+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: lv_LV\n" @@ -30,7 +30,7 @@ msgstr "https://example.com/audio.mp3" #: buzz/widgets/preferences_dialog/preferences_dialog.py:69 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:245 #: buzz/widgets/transcriber/advanced_settings_dialog.py:97 -#: buzz/widgets/main_window.py:244 +#: buzz/widgets/main_window.py:246 msgid "Ok" msgstr "Labi" @@ -38,7 +38,7 @@ msgstr "Labi" #: buzz/widgets/preferences_dialog/preferences_dialog.py:70 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:246 #: buzz/widgets/model_download_progress_dialog.py:29 -#: buzz/widgets/main_window.py:245 +#: buzz/widgets/main_window.py:247 msgid "Cancel" msgstr "Atcelt" @@ -222,7 +222,7 @@ msgid "Download failed" msgstr "Lejupielāde neizdevās" #: buzz/widgets/preferences_dialog/models_preferences_widget.py:269 -#: buzz/widgets/main_window.py:301 buzz/model_loader.py:503 +#: buzz/widgets/main_window.py:303 buzz/model_loader.py:503 msgid "Error" msgstr "Kļūda" @@ -236,7 +236,7 @@ msgid "Stop" msgstr "Apturēt" #: buzz/widgets/transcriber/languages_combo_box.py:35 -#: buzz/transcriber/transcriber.py:159 +#: buzz/transcriber/transcriber.py:160 msgid "Detect Language" msgstr "Noteikt valodu" @@ -310,11 +310,15 @@ msgstr "Ievadiet tulkošanas norādes mākslīgajam intelektam..." msgid "Instructions for AI:" msgstr "Norādes MI:" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:42 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:43 msgid "Word-level timings" msgstr "Dalīt pa vārdiem" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:66 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:54 +msgid "Extract speech" +msgstr "Atdalīt runu" + +#: buzz/widgets/transcriber/file_transcription_form_widget.py:77 msgid "Export:" msgstr "Eksportēt:" @@ -342,7 +346,7 @@ msgstr "Atvērt transkriptu" msgid "Cancel Transcription" msgstr "Atcelt atpazīšanu" -#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:233 +#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:235 #: buzz/settings/shortcut.py:26 msgid "Clear History" msgstr "Notīrīt vēsturi" @@ -456,53 +460,53 @@ msgstr "Skats" msgid "Timestamps" msgstr "Laiks" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:158 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146 msgid "Export" msgstr "Eksportēt" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:172 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160 #: buzz/transcriber/transcriber.py:24 msgid "Translate" msgstr "Tulkot" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:182 -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:90 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168 msgid "Resize" msgstr "Mainīt garumu" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:281 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269 msgid "API Key Required" msgstr "API atslēgas kļūda" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:282 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270 msgid "Please enter OpenAI API Key in preferences" msgstr "Lūdzu ievadiet OpenAI API atslēgu iestatījumos" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:72 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150 msgid "Resize Options" msgstr "Garuma maiņas iestatījumi" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:83 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161 msgid "Desired subtitle length" msgstr "Vēlamais teksta garums" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:108 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186 msgid "Merge Options" msgstr "Apvienošanas iestatījumi" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:119 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197 msgid "Merge by gap" msgstr "Apvienot pēc attāluma" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:127 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205 msgid "Split by punctuation" msgstr "Dalīt pie pieturzīmēm" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:135 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213 msgid "Split by max length" msgstr "Dalīt pie maksimālā garuma" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:147 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225 msgid "Merge" msgstr "Apvienot" @@ -567,7 +571,7 @@ msgstr "Palīdzība" msgid "File" msgstr "Fails" -#: buzz/widgets/main_window.py:237 +#: buzz/widgets/main_window.py:239 msgid "" "Are you sure you want to delete the selected transcription(s)? This action " "cannot be undone." @@ -575,11 +579,11 @@ msgstr "" "Vai tiešām vēlaties dzēst izvēlētos transkriptus? Šī ir neatgriezeniska " "darbība." -#: buzz/widgets/main_window.py:265 +#: buzz/widgets/main_window.py:267 msgid "Select audio file" msgstr "Izvēlieties audio failu" -#: buzz/widgets/main_window.py:301 +#: buzz/widgets/main_window.py:303 msgid "Unable to save OpenAI API key to keyring" msgstr "Neizdevās saglabāt OpenAI API atslēgu atslēgu saišķī" diff --git a/buzz/locale/pl_PL/LC_MESSAGES/buzz.po b/buzz/locale/pl_PL/LC_MESSAGES/buzz.po index d0230778..0330ff62 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: 2024-12-28 22:29+0200\n" +"POT-Creation-Date: 2025-01-02 11:39+0200\n" "PO-Revision-Date: 2024-03-17 20:50+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -29,7 +29,7 @@ msgstr "https://przyklad.pl/audio.mp3" #: buzz/widgets/preferences_dialog/preferences_dialog.py:69 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:245 #: buzz/widgets/transcriber/advanced_settings_dialog.py:97 -#: buzz/widgets/main_window.py:244 +#: buzz/widgets/main_window.py:246 msgid "Ok" msgstr "" @@ -37,7 +37,7 @@ msgstr "" #: buzz/widgets/preferences_dialog/preferences_dialog.py:70 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:246 #: buzz/widgets/model_download_progress_dialog.py:29 -#: buzz/widgets/main_window.py:245 +#: buzz/widgets/main_window.py:247 msgid "Cancel" msgstr "Anuluj" @@ -222,7 +222,7 @@ msgid "Download failed" msgstr "Pobrany" #: buzz/widgets/preferences_dialog/models_preferences_widget.py:269 -#: buzz/widgets/main_window.py:301 buzz/model_loader.py:503 +#: buzz/widgets/main_window.py:303 buzz/model_loader.py:503 msgid "Error" msgstr "Błąd" @@ -236,7 +236,7 @@ msgid "Stop" msgstr "Zatrzymaj" #: buzz/widgets/transcriber/languages_combo_box.py:35 -#: buzz/transcriber/transcriber.py:159 +#: buzz/transcriber/transcriber.py:160 msgid "Detect Language" msgstr "Wykryj język" @@ -309,11 +309,15 @@ msgstr "" msgid "Instructions for AI:" msgstr "" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:42 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:43 msgid "Word-level timings" msgstr "Znaczniki dla słów" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:66 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:54 +msgid "Extract speech" +msgstr "" + +#: buzz/widgets/transcriber/file_transcription_form_widget.py:77 msgid "Export:" msgstr "" @@ -343,7 +347,7 @@ msgstr "Otwórz transkrypt" msgid "Cancel Transcription" msgstr "Anuluj transkrypcję" -#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:233 +#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:235 #: buzz/settings/shortcut.py:26 msgid "Clear History" msgstr "Wyczyść historię" @@ -462,53 +466,53 @@ msgstr "" msgid "Timestamps" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:158 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146 msgid "Export" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:172 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160 #: buzz/transcriber/transcriber.py:24 msgid "Translate" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:182 -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:90 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168 msgid "Resize" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:281 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269 msgid "API Key Required" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:282 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270 msgid "Please enter OpenAI API Key in preferences" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:72 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150 msgid "Resize Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:83 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161 msgid "Desired subtitle length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:108 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186 msgid "Merge Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:119 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197 msgid "Merge by gap" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:127 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205 msgid "Split by punctuation" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:135 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213 msgid "Split by max length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:147 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225 msgid "Merge" msgstr "" @@ -575,7 +579,7 @@ msgstr "Pomoc" msgid "File" msgstr "Plik" -#: buzz/widgets/main_window.py:237 +#: buzz/widgets/main_window.py:239 msgid "" "Are you sure you want to delete the selected transcription(s)? This action " "cannot be undone." @@ -583,11 +587,11 @@ msgstr "" "Czy na pewno chcesz usunąć zaznaczone transkrypcje? Tej operacji nie można " "cofnąć." -#: buzz/widgets/main_window.py:265 +#: buzz/widgets/main_window.py:267 msgid "Select audio file" msgstr "Wybierz plik audio" -#: buzz/widgets/main_window.py:301 +#: buzz/widgets/main_window.py:303 msgid "Unable to save OpenAI API key to keyring" msgstr "" diff --git a/buzz/locale/uk_UA/LC_MESSAGES/buzz.po b/buzz/locale/uk_UA/LC_MESSAGES/buzz.po index 498c0d22..a80ccc3a 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: 2024-12-28 22:29+0200\n" +"POT-Creation-Date: 2025-01-02 11:39+0200\n" "PO-Revision-Date: \n" "Last-Translator: Yevhen Popok \n" "Language-Team: \n" @@ -26,7 +26,7 @@ msgstr "https://example.com/audio.mp3" #: buzz/widgets/preferences_dialog/preferences_dialog.py:69 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:245 #: buzz/widgets/transcriber/advanced_settings_dialog.py:97 -#: buzz/widgets/main_window.py:244 +#: buzz/widgets/main_window.py:246 msgid "Ok" msgstr "Гаразд" @@ -34,7 +34,7 @@ msgstr "Гаразд" #: buzz/widgets/preferences_dialog/preferences_dialog.py:70 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:246 #: buzz/widgets/model_download_progress_dialog.py:29 -#: buzz/widgets/main_window.py:245 +#: buzz/widgets/main_window.py:247 msgid "Cancel" msgstr "Скасувати" @@ -216,7 +216,7 @@ msgid "Download failed" msgstr "Невдале завантаження" #: buzz/widgets/preferences_dialog/models_preferences_widget.py:269 -#: buzz/widgets/main_window.py:301 buzz/model_loader.py:503 +#: buzz/widgets/main_window.py:303 buzz/model_loader.py:503 msgid "Error" msgstr "Помилка" @@ -230,7 +230,7 @@ msgid "Stop" msgstr "Зупинити" #: buzz/widgets/transcriber/languages_combo_box.py:35 -#: buzz/transcriber/transcriber.py:159 +#: buzz/transcriber/transcriber.py:160 msgid "Detect Language" msgstr "Визначити мову" @@ -302,11 +302,15 @@ msgstr "Введіть інструкції для перекладу ШІ..." msgid "Instructions for AI:" msgstr "Інструкції для ШІ:" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:42 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:43 msgid "Word-level timings" msgstr "Хронометраж на рівні слів" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:66 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:54 +msgid "Extract speech" +msgstr "" + +#: buzz/widgets/transcriber/file_transcription_form_widget.py:77 msgid "Export:" msgstr "Експорт:" @@ -336,7 +340,7 @@ msgstr "Відкрити транскрипцію" msgid "Cancel Transcription" msgstr "Скасувати транскрипцію" -#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:233 +#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:235 #: buzz/settings/shortcut.py:26 msgid "Clear History" msgstr "Очистити історію" @@ -450,53 +454,53 @@ msgstr "Вигляд" msgid "Timestamps" msgstr "Позначки часу" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:158 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146 msgid "Export" msgstr "Експорт" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:172 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160 #: buzz/transcriber/transcriber.py:24 msgid "Translate" msgstr "Перекласти" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:182 -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:90 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168 msgid "Resize" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:281 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269 msgid "API Key Required" msgstr "Потрібен API-ключ" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:282 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270 msgid "Please enter OpenAI API Key in preferences" msgstr "Будь ласка, введіть API-ключ OpenAI в налаштуваннях" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:72 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150 msgid "Resize Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:83 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161 msgid "Desired subtitle length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:108 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186 msgid "Merge Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:119 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197 msgid "Merge by gap" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:127 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205 msgid "Split by punctuation" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:135 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213 msgid "Split by max length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:147 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225 msgid "Merge" msgstr "" @@ -562,18 +566,18 @@ msgstr "Допомога" msgid "File" msgstr "Файл" -#: buzz/widgets/main_window.py:237 +#: buzz/widgets/main_window.py:239 msgid "" "Are you sure you want to delete the selected transcription(s)? This action " "cannot be undone." msgstr "" "Ви впевнені, що хочете видалити вибрані транскрипції? Це незворотна дія." -#: buzz/widgets/main_window.py:265 +#: buzz/widgets/main_window.py:267 msgid "Select audio file" msgstr "Вибрати аудіофайл" -#: buzz/widgets/main_window.py:301 +#: buzz/widgets/main_window.py:303 msgid "Unable to save OpenAI API key to keyring" msgstr "Не вдається додати до звʼязки ключів API-ключ OpenAI" diff --git a/buzz/locale/zh_CN/LC_MESSAGES/buzz.po b/buzz/locale/zh_CN/LC_MESSAGES/buzz.po index e9e6ea11..11df0ede 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: 2024-12-28 22:29+0200\n" +"POT-Creation-Date: 2025-01-02 11:39+0200\n" "PO-Revision-Date: 2023-05-01 15:45+0800\n" "Last-Translator: \n" "Language-Team: lamb \n" @@ -29,7 +29,7 @@ msgstr "https://example.com/audio.mp3" #: buzz/widgets/preferences_dialog/preferences_dialog.py:69 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:245 #: buzz/widgets/transcriber/advanced_settings_dialog.py:97 -#: buzz/widgets/main_window.py:244 +#: buzz/widgets/main_window.py:246 msgid "Ok" msgstr "Ok" @@ -37,7 +37,7 @@ msgstr "Ok" #: buzz/widgets/preferences_dialog/preferences_dialog.py:70 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:246 #: buzz/widgets/model_download_progress_dialog.py:29 -#: buzz/widgets/main_window.py:245 +#: buzz/widgets/main_window.py:247 msgid "Cancel" msgstr "取消" @@ -223,7 +223,7 @@ msgid "Download failed" msgstr "下载模型失败" #: buzz/widgets/preferences_dialog/models_preferences_widget.py:269 -#: buzz/widgets/main_window.py:301 buzz/model_loader.py:503 +#: buzz/widgets/main_window.py:303 buzz/model_loader.py:503 msgid "Error" msgstr "错误" @@ -237,7 +237,7 @@ msgid "Stop" msgstr "停止" #: buzz/widgets/transcriber/languages_combo_box.py:35 -#: buzz/transcriber/transcriber.py:159 +#: buzz/transcriber/transcriber.py:160 msgid "Detect Language" msgstr "检测语言" @@ -310,11 +310,15 @@ msgstr "输入AI如何翻译的说明..." msgid "Instructions for AI:" msgstr "AI说明:" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:42 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:43 msgid "Word-level timings" msgstr "逐词识别" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:66 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:54 +msgid "Extract speech" +msgstr "" + +#: buzz/widgets/transcriber/file_transcription_form_widget.py:77 msgid "Export:" msgstr "导出:" @@ -344,7 +348,7 @@ msgstr "打开识别结果" msgid "Cancel Transcription" msgstr "取消识别" -#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:233 +#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:235 #: buzz/settings/shortcut.py:26 msgid "Clear History" msgstr "清除历史纪录" @@ -461,54 +465,54 @@ msgstr "查看" msgid "Timestamps" msgstr "时间戳" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:158 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146 msgid "Export" msgstr "导出" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:172 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160 #: buzz/transcriber/transcriber.py:24 msgid "Translate" msgstr "翻译" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:182 -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:90 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168 msgid "Resize" msgstr "调整大小" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:281 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269 msgid "API Key Required" msgstr "需要API Key" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:282 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270 msgid "Please enter OpenAI API Key in preferences" msgstr "请在偏好设置中输入OpenAI API Key" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:72 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150 #, fuzzy msgid "Resize Options" msgstr "调整大小" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:83 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161 msgid "Desired subtitle length" msgstr "所需字幕长度" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:108 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186 msgid "Merge Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:119 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197 msgid "Merge by gap" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:127 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205 msgid "Split by punctuation" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:135 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213 msgid "Split by max length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:147 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225 msgid "Merge" msgstr "" @@ -575,17 +579,17 @@ msgstr "帮助" msgid "File" msgstr "文件" -#: buzz/widgets/main_window.py:237 +#: buzz/widgets/main_window.py:239 msgid "" "Are you sure you want to delete the selected transcription(s)? This action " "cannot be undone." msgstr "您确定要删除所选录制吗?此操作无法撤消。" -#: buzz/widgets/main_window.py:265 +#: buzz/widgets/main_window.py:267 msgid "Select audio file" msgstr "选择音频文件" -#: buzz/widgets/main_window.py:301 +#: buzz/widgets/main_window.py:303 msgid "Unable to save OpenAI API key to keyring" msgstr "无法将OpenAI API密钥保存到密钥串" diff --git a/buzz/locale/zh_TW/LC_MESSAGES/buzz.po b/buzz/locale/zh_TW/LC_MESSAGES/buzz.po index 0eade143..f95ae315 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: 2024-12-28 22:29+0200\n" +"POT-Creation-Date: 2025-01-02 11:39+0200\n" "PO-Revision-Date: 2023-05-01 15:45+0800\n" "Last-Translator: \n" "Language-Team: Lamb\n" @@ -29,7 +29,7 @@ msgstr "" #: buzz/widgets/preferences_dialog/preferences_dialog.py:69 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:245 #: buzz/widgets/transcriber/advanced_settings_dialog.py:97 -#: buzz/widgets/main_window.py:244 +#: buzz/widgets/main_window.py:246 msgid "Ok" msgstr "" @@ -37,7 +37,7 @@ msgstr "" #: buzz/widgets/preferences_dialog/preferences_dialog.py:70 #: buzz/widgets/preferences_dialog/models_preferences_widget.py:246 #: buzz/widgets/model_download_progress_dialog.py:29 -#: buzz/widgets/main_window.py:245 +#: buzz/widgets/main_window.py:247 msgid "Cancel" msgstr "取消" @@ -220,7 +220,7 @@ msgid "Download failed" msgstr "下載模型" #: buzz/widgets/preferences_dialog/models_preferences_widget.py:269 -#: buzz/widgets/main_window.py:301 buzz/model_loader.py:503 +#: buzz/widgets/main_window.py:303 buzz/model_loader.py:503 msgid "Error" msgstr "" @@ -234,7 +234,7 @@ msgid "Stop" msgstr "停止" #: buzz/widgets/transcriber/languages_combo_box.py:35 -#: buzz/transcriber/transcriber.py:159 +#: buzz/transcriber/transcriber.py:160 msgid "Detect Language" msgstr "檢測語言" @@ -307,11 +307,15 @@ msgstr "" msgid "Instructions for AI:" msgstr "" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:42 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:43 msgid "Word-level timings" msgstr "單字級別的時間表達" -#: buzz/widgets/transcriber/file_transcription_form_widget.py:66 +#: buzz/widgets/transcriber/file_transcription_form_widget.py:54 +msgid "Extract speech" +msgstr "" + +#: buzz/widgets/transcriber/file_transcription_form_widget.py:77 msgid "Export:" msgstr "" @@ -341,7 +345,7 @@ msgstr "打開轉換結果" msgid "Cancel Transcription" msgstr "取消錄製" -#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:233 +#: buzz/widgets/main_window_toolbar.py:71 buzz/widgets/main_window.py:235 #: buzz/settings/shortcut.py:26 msgid "Clear History" msgstr "清除歷史紀錄" @@ -458,53 +462,53 @@ msgstr "" msgid "Timestamps" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:158 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146 msgid "Export" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:172 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160 #: buzz/transcriber/transcriber.py:24 msgid "Translate" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:182 -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:90 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168 msgid "Resize" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:281 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269 msgid "API Key Required" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:282 +#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270 msgid "Please enter OpenAI API Key in preferences" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:72 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150 msgid "Resize Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:83 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161 msgid "Desired subtitle length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:108 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186 msgid "Merge Options" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:119 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197 msgid "Merge by gap" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:127 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205 msgid "Split by punctuation" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:135 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213 msgid "Split by max length" msgstr "" -#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:147 +#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225 msgid "Merge" msgstr "" @@ -571,17 +575,17 @@ msgstr "幫助" msgid "File" msgstr "檔案" -#: buzz/widgets/main_window.py:237 +#: buzz/widgets/main_window.py:239 msgid "" "Are you sure you want to delete the selected transcription(s)? This action " "cannot be undone." msgstr "您確定要刪除所選錄製嗎?此操作無法撤消。" -#: buzz/widgets/main_window.py:265 +#: buzz/widgets/main_window.py:267 msgid "Select audio file" msgstr "選擇聲音檔案" -#: buzz/widgets/main_window.py:301 +#: buzz/widgets/main_window.py:303 msgid "Unable to save OpenAI API key to keyring" msgstr "" diff --git a/buzz/schema.sql b/buzz/schema.sql index 9427a18a..ea603128 100644 --- a/buzz/schema.sql +++ b/buzz/schema.sql @@ -16,7 +16,8 @@ CREATE TABLE transcription ( url TEXT, whisper_model_size TEXT, hugging_face_model_id TEXT, - word_level_timings BOOLEAN DEFAULT FALSE + word_level_timings BOOLEAN DEFAULT FALSE, + extract_speech BOOLEAN DEFAULT FALSE ); CREATE TABLE transcription_segment ( diff --git a/buzz/transcriber/transcriber.py b/buzz/transcriber/transcriber.py index 6c75e9e1..3a0026f0 100644 --- a/buzz/transcriber/transcriber.py +++ b/buzz/transcriber/transcriber.py @@ -144,6 +144,7 @@ class TranscriptionOptions: task: Task = Task.TRANSCRIBE model: TranscriptionModel = field(default_factory=TranscriptionModel) word_level_timings: bool = False + extract_speech: bool = False temperature: Tuple[float, ...] = DEFAULT_WHISPER_TEMPERATURE initial_prompt: str = "" openai_access_token: str = field( diff --git a/buzz/widgets/preferences_dialog/models/file_transcription_preferences.py b/buzz/widgets/preferences_dialog/models/file_transcription_preferences.py index 228bb8b7..55ff1182 100644 --- a/buzz/widgets/preferences_dialog/models/file_transcription_preferences.py +++ b/buzz/widgets/preferences_dialog/models/file_transcription_preferences.py @@ -19,6 +19,7 @@ class FileTranscriptionPreferences: task: Task model: TranscriptionModel word_level_timings: bool + extract_speech: bool temperature: Tuple[float, ...] initial_prompt: str enable_llm_translation: bool @@ -31,6 +32,7 @@ class FileTranscriptionPreferences: settings.setValue("task", self.task) settings.setValue("model", self.model) settings.setValue("word_level_timings", self.word_level_timings) + settings.setValue("extract_speech", self.extract_speech) settings.setValue("temperature", self.temperature) settings.setValue("initial_prompt", self.initial_prompt) settings.setValue("enable_llm_translation", self.enable_llm_translation) @@ -53,6 +55,10 @@ class FileTranscriptionPreferences: word_level_timings = False if word_level_timings_value == "false" \ else bool(word_level_timings_value) + extract_speech_value = settings.value("extract_speech", False) + extract_speech = False if extract_speech_value == "false" \ + else bool(extract_speech_value) + temperature = settings.value("temperature", DEFAULT_WHISPER_TEMPERATURE) initial_prompt = settings.value("initial_prompt", "") enable_llm_translation_value = settings.value("enable_llm_translation", False) @@ -68,6 +74,7 @@ class FileTranscriptionPreferences: if model.model_type.is_available() else TranscriptionModel.default(), word_level_timings=word_level_timings, + extract_speech=extract_speech, temperature=temperature, initial_prompt=initial_prompt, enable_llm_translation=enable_llm_translation, @@ -93,6 +100,7 @@ class FileTranscriptionPreferences: llm_model=transcription_options.llm_model, llm_prompt=transcription_options.llm_prompt, word_level_timings=transcription_options.word_level_timings, + extract_speech=transcription_options.extract_speech, model=transcription_options.model, output_formats=file_transcription_options.output_formats, ) @@ -113,6 +121,7 @@ class FileTranscriptionPreferences: llm_model=self.llm_model, llm_prompt=self.llm_prompt, word_level_timings=self.word_level_timings, + extract_speech=self.extract_speech, model=self.model, openai_access_token=openai_access_token, ), diff --git a/buzz/widgets/transcriber/file_transcription_form_widget.py b/buzz/widgets/transcriber/file_transcription_form_widget.py index f08e3b05..7461953f 100644 --- a/buzz/widgets/transcriber/file_transcription_form_widget.py +++ b/buzz/widgets/transcriber/file_transcription_form_widget.py @@ -1,3 +1,4 @@ +import logging from typing import Optional from PyQt6.QtCore import pyqtSignal, Qt @@ -50,6 +51,16 @@ class FileTranscriptionFormWidget(QWidget): file_transcription_layout = QFormLayout() file_transcription_layout.addRow("", self.word_level_timings_checkbox) + self.extract_speech_checkbox = QCheckBox(_("Extract speech")) + self.extract_speech_checkbox.setChecked( + self.transcription_options.extract_speech + ) + self.extract_speech_checkbox.stateChanged.connect( + self.on_extract_speech_changed + ) + + file_transcription_layout.addRow("", self.extract_speech_checkbox) + export_format_layout = QHBoxLayout() for output_format in OutputFormat: export_format_checkbox = QCheckBox( @@ -93,6 +104,15 @@ class FileTranscriptionFormWidget(QWidget): (self.transcription_options, self.file_transcription_options) ) + def on_extract_speech_changed(self, value: int): + self.transcription_options.extract_speech = ( + value == Qt.CheckState.Checked.value + ) + + self.transcription_options_changed.emit( + (self.transcription_options, self.file_transcription_options) + ) + def get_on_checkbox_state_changed_callback(self, output_format: OutputFormat): def on_checkbox_state_changed(state: int): if state == Qt.CheckState.Checked.value: diff --git a/buzz/widgets/transcription_viewer/transcription_resizer_widget.py b/buzz/widgets/transcription_viewer/transcription_resizer_widget.py index 0458eb02..2c3431fc 100644 --- a/buzz/widgets/transcription_viewer/transcription_resizer_widget.py +++ b/buzz/widgets/transcription_viewer/transcription_resizer_widget.py @@ -2,8 +2,8 @@ import re import os import logging import stable_whisper - import srt +from pathlib import Path from srt_equalizer import srt_equalizer from typing import Optional from PyQt6.QtCore import Qt, QThread, QObject, pyqtSignal @@ -39,9 +39,10 @@ class TranscriptionWorker(QObject): finished = pyqtSignal() result_ready = pyqtSignal(list) - def __init__(self, transcription, transcription_service, regroup_string: str): + def __init__(self, transcription, transcription_options, transcription_service, regroup_string: str): super().__init__() self.transcription = transcription + self.transcription_options = transcription_options self.transcription_service = transcription_service self.regroup_string = regroup_string @@ -75,11 +76,20 @@ class TranscriptionWorker(QObject): } def run(self): + transcription_file = self.transcription.file + transcription_file_exists = os.path.exists(transcription_file) + + transcription_file_path = Path(transcription_file) + speech_path = transcription_file_path.with_name(f"{transcription_file_path.stem}_speech.flac") + if self.transcription_options.extract_speech and os.path.exists(speech_path): + transcription_file = str(speech_path) + transcription_file_exists = True + result = stable_whisper.transcribe_any( self.get_transcript, - self.transcription.file, - vad=os.path.exists(self.transcription.file), - suppress_silence=os.path.exists(self.transcription.file), + transcription_file, + vad=transcription_file_exists, + suppress_silence=transcription_file_exists, regroup=self.regroup_string, check_sorted=False, ) @@ -316,6 +326,7 @@ class TranscriptionResizerWidget(QWidget): self.thread = QThread() self.worker = TranscriptionWorker( self.transcription, + self.transcription_options, self.transcription_service, regroup_string ) diff --git a/docs/docs/usage/1_file_import.md b/docs/docs/usage/1_file_import.md index 39a28ec5..032f0018 100644 --- a/docs/docs/usage/1_file_import.md +++ b/docs/docs/usage/1_file_import.md @@ -15,6 +15,7 @@ To import a file: |--------------------|---------------------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------| | Export As | "TXT", "SRT", "VTT" | "TXT" | Export file format | | Word-Level Timings | Off / On | Off | If checked, the transcription will generate a separate subtitle line for each word in the audio. Enabled only when "Export As" is set to "SRT" or "VTT". | +| Extract speech | Off / On | Off | If checked, speech will be extracted to a separate audio tack to improve accuracy. Available since 1.3.0. | (See the [Live Recording section](#live-recording) for more information about the task, language, and quality settings.) diff --git a/poetry.lock b/poetry.lock index fb748854..87209744 100644 --- a/poetry.lock +++ b/poetry.lock @@ -53,6 +53,16 @@ files = [ {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, ] +[[package]] +name = "antlr4-python3-runtime" +version = "4.9.3" +description = "ANTLR 4.9.3 runtime for Python 3.7" +optional = false +python-versions = "*" +files = [ + {file = "antlr4-python3-runtime-4.9.3.tar.gz", hash = "sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b"}, +] + [[package]] name = "anyio" version = "4.3.0" @@ -180,6 +190,10 @@ files = [ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a37b8f0391212d29b3a91a799c8e4a2855e0576911cdfb2515487e30e322253d"}, {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e84799f09591700a4154154cab9787452925578841a94321d5ee8fb9a9a328f0"}, {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f66b5337fa213f1da0d9000bc8dc0cb5b896b726eefd9c6046f699b169c41b9e"}, + {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5dab0844f2cf82be357a0eb11a9087f70c5430b2c241493fc122bb6f2bb0917c"}, + {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e4fe605b917c70283db7dfe5ada75e04561479075761a0b3866c081d035b01c1"}, + {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1e9a65b5736232e7a7f91ff3d02277f11d339bf34099a56cdab6a8b3410a02b2"}, + {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:58d4b711689366d4a03ac7957ab8c28890415e267f9b6589969e74b6e42225ec"}, {file = "Brotli-1.1.0-cp310-cp310-win32.whl", hash = "sha256:be36e3d172dc816333f33520154d708a2657ea63762ec16b62ece02ab5e4daf2"}, {file = "Brotli-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:0c6244521dda65ea562d5a69b9a26120769b7a9fb3db2fe9545935ed6735b128"}, {file = "Brotli-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3daabb76a78f829cafc365531c972016e4aa8d5b4bf60660ad8ecee19df7ccc"}, @@ -192,8 +206,14 @@ files = [ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:19c116e796420b0cee3da1ccec3b764ed2952ccfcc298b55a10e5610ad7885f9"}, {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:510b5b1bfbe20e1a7b3baf5fed9e9451873559a976c1a78eebaa3b86c57b4265"}, {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a1fd8a29719ccce974d523580987b7f8229aeace506952fa9ce1d53a033873c8"}, + {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c247dd99d39e0338a604f8c2b3bc7061d5c2e9e2ac7ba9cc1be5a69cb6cd832f"}, + {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1b2c248cd517c222d89e74669a4adfa5577e06ab68771a529060cf5a156e9757"}, + {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2a24c50840d89ded6c9a8fdc7b6ed3692ed4e86f1c4a4a938e1e92def92933e0"}, + {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f31859074d57b4639318523d6ffdca586ace54271a73ad23ad021acd807eb14b"}, {file = "Brotli-1.1.0-cp311-cp311-win32.whl", hash = "sha256:39da8adedf6942d76dc3e46653e52df937a3c4d6d18fdc94a7c29d263b1f5b50"}, {file = "Brotli-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:aac0411d20e345dc0920bdec5548e438e999ff68d77564d5e9463a7ca9d3e7b1"}, + {file = "Brotli-1.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:32d95b80260d79926f5fab3c41701dbb818fde1c9da590e77e571eefd14abe28"}, + {file = "Brotli-1.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b760c65308ff1e462f65d69c12e4ae085cff3b332d894637f6273a12a482d09f"}, {file = "Brotli-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:316cc9b17edf613ac76b1f1f305d2a748f1b976b033b049a6ecdfd5612c70409"}, {file = "Brotli-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:caf9ee9a5775f3111642d33b86237b05808dafcd6268faa492250e9b78046eb2"}, {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70051525001750221daa10907c77830bc889cb6d865cc0b813d9db7fefc21451"}, @@ -204,8 +224,24 @@ files = [ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4093c631e96fdd49e0377a9c167bfd75b6d0bad2ace734c6eb20b348bc3ea180"}, {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e4c4629ddad63006efa0ef968c8e4751c5868ff0b1c5c40f76524e894c50248"}, {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:861bf317735688269936f755fa136a99d1ed526883859f86e41a5d43c61d8966"}, + {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:87a3044c3a35055527ac75e419dfa9f4f3667a1e887ee80360589eb8c90aabb9"}, + {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c5529b34c1c9d937168297f2c1fde7ebe9ebdd5e121297ff9c043bdb2ae3d6fb"}, + {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ca63e1890ede90b2e4454f9a65135a4d387a4585ff8282bb72964fab893f2111"}, + {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e79e6520141d792237c70bcd7a3b122d00f2613769ae0cb61c52e89fd3443839"}, {file = "Brotli-1.1.0-cp312-cp312-win32.whl", hash = "sha256:5f4d5ea15c9382135076d2fb28dde923352fe02951e66935a9efaac8f10e81b0"}, {file = "Brotli-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:906bc3a79de8c4ae5b86d3d75a8b77e44404b0f4261714306e3ad248d8ab0951"}, + {file = "Brotli-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8bf32b98b75c13ec7cf774164172683d6e7891088f6316e54425fde1efc276d5"}, + {file = "Brotli-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bc37c4d6b87fb1017ea28c9508b36bbcb0c3d18b4260fcdf08b200c74a6aee8"}, + {file = "Brotli-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c0ef38c7a7014ffac184db9e04debe495d317cc9c6fb10071f7fefd93100a4f"}, + {file = "Brotli-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91d7cc2a76b5567591d12c01f019dd7afce6ba8cba6571187e21e2fc418ae648"}, + {file = "Brotli-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a93dde851926f4f2678e704fadeb39e16c35d8baebd5252c9fd94ce8ce68c4a0"}, + {file = "Brotli-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0db75f47be8b8abc8d9e31bc7aad0547ca26f24a54e6fd10231d623f183d089"}, + {file = "Brotli-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6967ced6730aed543b8673008b5a391c3b1076d834ca438bbd70635c73775368"}, + {file = "Brotli-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7eedaa5d036d9336c95915035fb57422054014ebdeb6f3b42eac809928e40d0c"}, + {file = "Brotli-1.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d487f5432bf35b60ed625d7e1b448e2dc855422e87469e3f450aa5552b0eb284"}, + {file = "Brotli-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:832436e59afb93e1836081a20f324cb185836c617659b07b129141a8426973c7"}, + {file = "Brotli-1.1.0-cp313-cp313-win32.whl", hash = "sha256:43395e90523f9c23a3d5bdf004733246fba087f2948f87ab28015f12359ca6a0"}, + {file = "Brotli-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:9011560a466d2eb3f5a6e4929cf4a09be405c64154e12df0dd72713f6500e32b"}, {file = "Brotli-1.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a090ca607cbb6a34b0391776f0cb48062081f5f60ddcce5d11838e67a01928d1"}, {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2de9d02f5bda03d27ede52e8cfe7b865b066fa49258cbab568720aa5be80a47d"}, {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2333e30a5e00fe0fe55903c8832e08ee9c3b1382aacf4db26664a16528d51b4b"}, @@ -215,6 +251,10 @@ files = [ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:fd5f17ff8f14003595ab414e45fce13d073e0762394f957182e69035c9f3d7c2"}, {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:069a121ac97412d1fe506da790b3e69f52254b9df4eb665cd42460c837193354"}, {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e93dfc1a1165e385cc8239fab7c036fb2cd8093728cbd85097b284d7b99249a2"}, + {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:aea440a510e14e818e67bfc4027880e2fb500c2ccb20ab21c7a7c8b5b4703d75"}, + {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_2_i686.whl", hash = "sha256:6974f52a02321b36847cd19d1b8e381bf39939c21efd6ee2fc13a28b0d99348c"}, + {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_2_ppc64le.whl", hash = "sha256:a7e53012d2853a07a4a79c00643832161a910674a893d296c9f1259859a289d2"}, + {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:d7702622a8b40c49bffb46e1e3ba2e81268d5c04a34f460978c6b5517a34dd52"}, {file = "Brotli-1.1.0-cp36-cp36m-win32.whl", hash = "sha256:a599669fd7c47233438a56936988a2478685e74854088ef5293802123b5b2460"}, {file = "Brotli-1.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:d143fd47fad1db3d7c27a1b1d66162e855b5d50a89666af46e1679c496e8e579"}, {file = "Brotli-1.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:11d00ed0a83fa22d29bc6b64ef636c4552ebafcef57154b4ddd132f5638fbd1c"}, @@ -226,6 +266,10 @@ files = [ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:919e32f147ae93a09fe064d77d5ebf4e35502a8df75c29fb05788528e330fe74"}, {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:23032ae55523cc7bccb4f6a0bf368cd25ad9bcdcc1990b64a647e7bbcce9cb5b"}, {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:224e57f6eac61cc449f498cc5f0e1725ba2071a3d4f48d5d9dffba42db196438"}, + {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:cb1dac1770878ade83f2ccdf7d25e494f05c9165f5246b46a621cc849341dc01"}, + {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:3ee8a80d67a4334482d9712b8e83ca6b1d9bc7e351931252ebef5d8f7335a547"}, + {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:5e55da2c8724191e5b557f8e18943b1b4839b8efc3ef60d65985bcf6f587dd38"}, + {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:d342778ef319e1026af243ed0a07c97acf3bad33b9f29e7ae6a1f68fd083e90c"}, {file = "Brotli-1.1.0-cp37-cp37m-win32.whl", hash = "sha256:587ca6d3cef6e4e868102672d3bd9dc9698c309ba56d41c2b9c85bbb903cdb95"}, {file = "Brotli-1.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2954c1c23f81c2eaf0b0717d9380bd348578a94161a65b3a2afc62c86467dd68"}, {file = "Brotli-1.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:efa8b278894b14d6da122a72fefcebc28445f2d3f880ac59d46c90f4c13be9a3"}, @@ -238,6 +282,10 @@ files = [ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ab4fbee0b2d9098c74f3057b2bc055a8bd92ccf02f65944a241b4349229185a"}, {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:141bd4d93984070e097521ed07e2575b46f817d08f9fa42b16b9b5f27b5ac088"}, {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fce1473f3ccc4187f75b4690cfc922628aed4d3dd013d047f95a9b3919a86596"}, + {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d2b35ca2c7f81d173d2fadc2f4f31e88cc5f7a39ae5b6db5513cf3383b0e0ec7"}, + {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:af6fa6817889314555aede9a919612b23739395ce767fe7fcbea9a80bf140fe5"}, + {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:2feb1d960f760a575dbc5ab3b1c00504b24caaf6986e2dc2b01c09c87866a943"}, + {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4410f84b33374409552ac9b6903507cdb31cd30d2501fc5ca13d18f73548444a"}, {file = "Brotli-1.1.0-cp38-cp38-win32.whl", hash = "sha256:db85ecf4e609a48f4b29055f1e144231b90edc90af7481aa731ba2d059226b1b"}, {file = "Brotli-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3d7954194c36e304e1523f55d7042c59dc53ec20dd4e9ea9d151f1b62b4415c0"}, {file = "Brotli-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5fb2ce4b8045c78ebbc7b8f3c15062e435d47e7393cc57c25115cfd49883747a"}, @@ -250,6 +298,10 @@ files = [ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:949f3b7c29912693cee0afcf09acd6ebc04c57af949d9bf77d6101ebb61e388c"}, {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:89f4988c7203739d48c6f806f1e87a1d96e0806d44f0fba61dba81392c9e474d"}, {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:de6551e370ef19f8de1807d0a9aa2cdfdce2e85ce88b122fe9f6b2b076837e59"}, + {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0737ddb3068957cf1b054899b0883830bb1fec522ec76b1098f9b6e0f02d9419"}, + {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:4f3607b129417e111e30637af1b56f24f7a49e64763253bbc275c75fa887d4b2"}, + {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:6c6e0c425f22c1c719c42670d561ad682f7bfeeef918edea971a79ac5252437f"}, + {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:494994f807ba0b92092a163a0a283961369a65f6cbe01e8891132b7a320e61eb"}, {file = "Brotli-1.1.0-cp39-cp39-win32.whl", hash = "sha256:f0d8a7a6b5983c2496e364b969f0e526647a06b075d034f3297dc66f3b360c64"}, {file = "Brotli-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:cdad5b9014d83ca68c25d2e9444e28e967ef16e80f6b436918c700c117a85467"}, {file = "Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"}, @@ -479,6 +531,17 @@ files = [ {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] +[[package]] +name = "cloudpickle" +version = "3.1.0" +description = "Pickler class to extend the standard pickle.Pickler functionality" +optional = false +python-versions = ">=3.8" +files = [ + {file = "cloudpickle-3.1.0-py3-none-any.whl", hash = "sha256:fe11acda67f61aaaec473e3afe030feb131d78a43461b718185363384f1ba12e"}, + {file = "cloudpickle-3.1.0.tar.gz", hash = "sha256:81a929b6e3c7335c863c771d673d105f02efdb89dfaba0c90495d1c64796601b"}, +] + [[package]] name = "cmake" version = "3.28.4" @@ -736,6 +799,35 @@ files = [ marshmallow = ">=3.18.0,<4.0.0" typing-inspect = ">=0.4.0,<1" +[[package]] +name = "demucs" +version = "4.1.0a2" +description = "Music source separation in the waveform domain." +optional = false +python-versions = ">=3.8.0" +files = [] +develop = false + +[package.dependencies] +dora-search = "*" +einops = "*" +julius = ">=0.2.3" +lameenc = ">=1.2" +openunmix = "*" +pyyaml = "*" +torch = "2.2.1" +torchaudio = "2.2.1" +tqdm = "*" + +[package.extras] +dev = ["diffq (>=0.2.1)", "dora-search (>=0.1.12)", "einops", "flake8", "hydra-colorlog (>=1.1)", "hydra-core (>=1.1)", "julius (>=0.2.3)", "lameenc (>=1.2)", "museval", "mypy", "openunmix", "pyyaml", "soundfile (>=0.10.3)", "submitit", "torch (==2.2.1)", "torchaudio (==2.2.1)", "tqdm", "treetable"] + +[package.source] +type = "git" +url = "https://github.com/raivisdejus/demucs" +reference = "27c6425" +resolved_reference = "27c642565e02a0381780bf3583b937581817a74a" + [[package]] name = "dill" version = "0.3.8" @@ -773,6 +865,37 @@ files = [ {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"}, ] +[[package]] +name = "dora-search" +version = "0.1.12" +description = "Easy grid searches for ML." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "dora_search-0.1.12.tar.gz", hash = "sha256:2956fd2c4c7e4b9a4830e83f0d4cf961be45cfba1a2f0570281e91d15ac516fb"}, +] + +[package.dependencies] +omegaconf = "*" +retrying = "*" +submitit = "*" +torch = "*" +treetable = "*" + +[package.extras] +dev = ["coverage", "flake8", "hiplot", "hydra-core", "hydra_colorlog", "mypy", "pdoc3", "pytest", "pytorch_lightning"] + +[[package]] +name = "einops" +version = "0.8.0" +description = "A new flavour of deep learning operations" +optional = false +python-versions = ">=3.8" +files = [ + {file = "einops-0.8.0-py3-none-any.whl", hash = "sha256:9572fb63046264a862693b0a87088af3bdc8c068fde03de63453cbbde245465f"}, + {file = "einops-0.8.0.tar.gz", hash = "sha256:63486517fed345712a8385c100cb279108d9d47e6ae59099b07657e983deae85"}, +] + [[package]] name = "exceptiongroup" version = "1.2.0" @@ -1142,6 +1265,22 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[package]] +name = "julius" +version = "0.2.7" +description = "Nice DSP sweets: resampling, FFT Convolutions. All with PyTorch, differentiable and with CUDA support." +optional = false +python-versions = ">=3.6.0" +files = [ + {file = "julius-0.2.7.tar.gz", hash = "sha256:3c0f5f5306d7d6016fcc95196b274cae6f07e2c9596eed314e4e7641554fbb08"}, +] + +[package.dependencies] +torch = ">=1.7.0" + +[package.extras] +dev = ["coverage", "flake8", "mypy", "onnxruntime", "pdoc3", "resampy (==0.2.2)"] + [[package]] name = "keyring" version = "25.0.0" @@ -1167,6 +1306,84 @@ completion = ["shtab (>=1.1.0)"] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] +[[package]] +name = "lameenc" +version = "1.7.0" +description = "LAME encoding bindings" +optional = false +python-versions = "*" +files = [ + {file = "lameenc-1.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:666dae5544b82b7c7e2d45ee82b0b74a3b5d46c62f79df603a30f4b633c78556"}, + {file = "lameenc-1.7.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:73ba7b02685d9c17a3b083622b85c859f9db35254d4ea9ee8305d4a8d321876b"}, + {file = "lameenc-1.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:367c152dd1dc54c2d6c42837c1c149b0173eb4225e4782f88b1a391c95ff97af"}, + {file = "lameenc-1.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7b34c529d719bf303ace7ec169965c516b0b94922837cf67f60a73931f1f4580"}, + {file = "lameenc-1.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ed1f49416e9531a49f462923ca0d2ae14baf9ceea0384cba2c5f9f1090f0df31"}, + {file = "lameenc-1.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3274cade2d3f00cc49748b968660e1297eaca2d15911deb566cc378ffa4e7d8b"}, + {file = "lameenc-1.7.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl", hash = "sha256:790c250086dd38b26860ccb5574ad0f2c625b52bb9f2a367e07e50ffbf3de832"}, + {file = "lameenc-1.7.0-cp310-cp310-win32.whl", hash = "sha256:8b712902e02ea03e9a5272ee008062b08d99129e7a00a369b90848a9bfab050f"}, + {file = "lameenc-1.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:c8fd147d1faa904cb0b8ba3b038ab795daebec46147b2b9e3891dbb427084f5c"}, + {file = "lameenc-1.7.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5a5b322d82dfdf6132c563e1fa352487c82a0bb1e93dff8ef634c867c94d82ad"}, + {file = "lameenc-1.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a582a1f356c83be526ba97ce8465553cc55524992325ab1641b3ee0428e6453"}, + {file = "lameenc-1.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:e3399b72c8adb965405aeb8ccc614db9b94e5842426289166c4fbf2588cf1e74"}, + {file = "lameenc-1.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:93eedf217db3832ead5ea28ad89b2f4dd3d79e3a7d5641d09dbeeeffe6283768"}, + {file = "lameenc-1.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:63a2ce2d63706d766ad1686fbc5e12c807c027b7ccfc97de9b9a81f58216e770"}, + {file = "lameenc-1.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c2cb91af4b25b3d650781e681032c469fd38979b180eddfbf5a55322372d71b9"}, + {file = "lameenc-1.7.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl", hash = "sha256:e67f5e985d940f9f8037823e6a629a18acbfe02d0fcd68a8fc113ed46a555aa5"}, + {file = "lameenc-1.7.0-cp311-cp311-win32.whl", hash = "sha256:c835438c0e8b8d680e871095cec143abf655d071b1bb60ccf7a8e08245acd877"}, + {file = "lameenc-1.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:93f426a565e666227303257db67287f33836872dee62d982d521d8972467df46"}, + {file = "lameenc-1.7.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ff9b6e1fed60a1e1f54861b51628a5c99a4ebc8be76462b8995c7cae99722ec5"}, + {file = "lameenc-1.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a14a5f449cc32158ac2fd557a21b6a35dd1cb077e0372ede69572740f9b67905"}, + {file = "lameenc-1.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b425fec9430a0aa55877d8787f82b47ff2c5d2a36663a4ca562103d7bbaeb23a"}, + {file = "lameenc-1.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:002742147c99e819be4feb8ab05da08ff57f0f76480746ddc83f6a2c09d2639d"}, + {file = "lameenc-1.7.0-cp312-cp312-win32.whl", hash = "sha256:bbabad75799e62638c0e55537e50ceba81456600ce04fb604c006c1b7399e8c1"}, + {file = "lameenc-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:0faf238be8044ee706d5f410e19ca1ae38fafa75dedcdc69ed764964d01c8d8b"}, + {file = "lameenc-1.7.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:c194dd436ed1894e325f3cb8baebf76cfa5ee867810c3fb8af2a76a62e219ac1"}, + {file = "lameenc-1.7.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eec093a6673c7eebeebc269d7735ea09ec9cfda696ff92959b33bc1117b26954"}, + {file = "lameenc-1.7.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:2bed2133410206f61780c412e49c218bf40179016de0284f61ed5bead3cce95a"}, + {file = "lameenc-1.7.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:96e54919790e2b4e3519f1696ac19a5efb864c0621e7a2baf89ecfa95908e044"}, + {file = "lameenc-1.7.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl", hash = "sha256:26799cc2dac7d972f354489f33a5ab99d5ca4791edd1b0b3bd87e89bfa22f34f"}, + {file = "lameenc-1.7.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:62ec507686326a6baec8b997070e96328ba8ff03abdc688e36ab47114883a223"}, + {file = "lameenc-1.7.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e00c8771be3e002a539fd534f8df063a2dafc2d679803a7a4dfd7886ffa4304"}, + {file = "lameenc-1.7.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:be3cf0820f278996680a48d163f781e85431704c0551d90780b165798f2ea1c5"}, + {file = "lameenc-1.7.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8bc05b160603665e570f2d8dd6a70dc6e337cb59dbd5e9a72044afb92c629096"}, + {file = "lameenc-1.7.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl", hash = "sha256:0d6c195df3f22e39dd2e2963858b0f6a73db8b993ca4f1996c5c147d386c6151"}, + {file = "lameenc-1.7.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2b18015e33d9530f47bdefc1a0dc91e4a8b94a3b0ff5fbdcac82b64b170388e8"}, + {file = "lameenc-1.7.0-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:d63cd0f1b52b7719b212d9fe8c1fdeb8aa8618b9f943e628001981c235ae8722"}, + {file = "lameenc-1.7.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:1ecd67a8270075885b5b6f3cdf0c4bb3fb0a4589a679e55298f2606ee2fcb5ce"}, + {file = "lameenc-1.7.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbbe822069bfadb4608c11a578f027f9c8ba01182332cd538a8ee55cf5d3bf23"}, + {file = "lameenc-1.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:110b781e7916849eb430411180ac8c3821ffc7e0d15a18b3f26129e1aff2ce8f"}, + {file = "lameenc-1.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f84bdcc3daa0b7635ba2a41d995b321b5d00b6637c89886f88e1d88e356c9baa"}, + {file = "lameenc-1.7.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl", hash = "sha256:e6c6a934754ed32a7680aaaf15f7fd20e29575239b93a23ee86dafa9b0143608"}, + {file = "lameenc-1.7.0-cp38-cp38-win32.whl", hash = "sha256:4193472c4ec50397b234284551b52af23dd6f998634e0bd75e2caad5bb85ace7"}, + {file = "lameenc-1.7.0-cp38-cp38-win_amd64.whl", hash = "sha256:ff836d4964cc2f7197a14dfc8e2d3787f5e37f1d809ed914995a95ea24abce8f"}, + {file = "lameenc-1.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c4dc7b13e871f9d4667be161823082f87c05252b36c1f1e3e0088765f0e81b5b"}, + {file = "lameenc-1.7.0-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:6667cfe1ab6c15960cfe5fdc6ffdc6c1818d1385da143fcb0692218500b60b1e"}, + {file = "lameenc-1.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:d46fea0110812e89a4add722bc18e20e8146843395f9b4b9fad9f98a6ccf327e"}, + {file = "lameenc-1.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3f8e056d48f07bd17eecca11643c59aaf2804f6c1f822e4ab5b2bf5a313ef1a4"}, + {file = "lameenc-1.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:4926c2b50b384c7640c78757b89a7faaccc6a6fcde5fd9016b554f946522e157"}, + {file = "lameenc-1.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2d89e63c88e5a224299b310ac9430c2c2e16ca4f2b479e65baf4f17c92928e2a"}, + {file = "lameenc-1.7.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl", hash = "sha256:6cec7e369067d54528b98023fb75c26cd539bbc9292e73fe58516b6964b35db5"}, + {file = "lameenc-1.7.0-cp39-cp39-win32.whl", hash = "sha256:53f1dc2574052354baecf07ba8d2da71dd9aab310c3efc8e029dae13be22a29f"}, + {file = "lameenc-1.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:c3589924788e26afd55a1faa3947ba70167d9ba9901d42ba2b372922999e0ea6"}, + {file = "lameenc-1.7.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2f51808bd3f2da74ce586ef3e3bcae8b77a4a59e9c476a46681d7c052c1c2211"}, + {file = "lameenc-1.7.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c74611af25522db4bcca9221254151ed6133847aa355595152d343d430dd888b"}, + {file = "lameenc-1.7.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:5bf4632fed752eca67c93d8ce89098cec8a58706d995151f27eec493771c4856"}, + {file = "lameenc-1.7.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:29c9cc3c9012cf52640c071fc519f4b55c40e87b4e07f43ff80e939e6f6baae4"}, + {file = "lameenc-1.7.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a2d88a1e32246f6071ad18dc42c6a9a2af2d8a600de561a887d4dc3d335b2f3d"}, + {file = "lameenc-1.7.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9edec7fef66d0e1bd25690780ef697c3bea15f4f614e04de3fd930d558c43833"}, + {file = "lameenc-1.7.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl", hash = "sha256:6b7e0d28c3982eabf9fd8c51f19593c4c1684bb0e261482284a3fd56134bc302"}, + {file = "lameenc-1.7.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:a84335effaa1f56202a359b9fb2524e4e486e3c37c72a66647626220b22e34bb"}, + {file = "lameenc-1.7.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d089d5c2ae6430531e2dad49d9d4bfa06ff5e6ee9a2b24f1e1ccb5c942be200b"}, + {file = "lameenc-1.7.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:02b7ab137f1fb624020210ae3c2f671a9006ec30d2bec704a55aaebb3850ab3d"}, + {file = "lameenc-1.7.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c76a21488ba35b1dd1d37d8b0671646cb52ca92f7d9b2bb8234bf106ba57db08"}, + {file = "lameenc-1.7.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl", hash = "sha256:a46642b88d9461fd1377f2fcae387503d80753b954b2547ace91e5ba5fff11af"}, + {file = "lameenc-1.7.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:0d0aa76ab3642c1025d8a47f0df4986147ae03f10d83c4b5ff34e8ddd1b62c45"}, + {file = "lameenc-1.7.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c103b3a021a000de7822249d91008e1adfcb70e7bdffa3483c5794045dc051dc"}, + {file = "lameenc-1.7.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:74fafaa009697a39b4dfae0d6763ad666ccda75386d68befd943decf46610722"}, + {file = "lameenc-1.7.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3fe077c20dd521fd261ae5dfccab80d94eace7b7474035f1584a08eca1baa7f"}, + {file = "lameenc-1.7.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl", hash = "sha256:0bbd88b127bafce6da8ac8b03d5a87791d32b928dc61533e4752a935808fc851"}, +] + [[package]] name = "lazy-object-proxy" version = "1.10.0" @@ -1659,6 +1876,21 @@ files = [ {file = "nvidia_nvtx_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:65f4d98982b31b60026e0e6de73fbdfc09d08a96f4656dd3665ca616a11e1e82"}, ] +[[package]] +name = "omegaconf" +version = "2.3.0" +description = "A flexible configuration library" +optional = false +python-versions = ">=3.6" +files = [ + {file = "omegaconf-2.3.0-py3-none-any.whl", hash = "sha256:7b4df175cdb08ba400f45cae3bdcae7ba8365db4d165fc65fd04b050ab63b46b"}, + {file = "omegaconf-2.3.0.tar.gz", hash = "sha256:d5d4b6d29955cc50ad50c46dc269bcd92c6e00f5f90d23ab5fee7bfca4ba4cc7"}, +] + +[package.dependencies] +antlr4-python3-runtime = "==4.9.*" +PyYAML = ">=5.1.0" + [[package]] name = "onnxruntime" version = "1.17.1" @@ -1746,6 +1978,29 @@ triton = {version = ">=2.0.0", markers = "platform_machine == \"x86_64\" and sys [package.extras] dev = ["black", "flake8", "isort", "pytest", "scipy"] +[[package]] +name = "openunmix" +version = "1.3.0" +description = "PyTorch-based music source separation toolkit" +optional = false +python-versions = ">=3.9" +files = [ + {file = "openunmix-1.3.0-py3-none-any.whl", hash = "sha256:e893ae22c5b8001a6107022499c2587b70d5c2e4777cc7c9ed6272b68a69534e"}, + {file = "openunmix-1.3.0.tar.gz", hash = "sha256:cc9245ce728700f5d0b72c67f01be4162777e617cdc47f9b035963afac180fc8"}, +] + +[package.dependencies] +numpy = "*" +torch = ">=1.9.0" +torchaudio = ">=0.9.0" +tqdm = "*" + +[package.extras] +asteroid = ["asteroid-filterbanks (>=0.3.2)"] +evaluation = ["musdb (>=0.4.0)", "museval (>=0.4.0)"] +stempeg = ["stempeg"] +tests = ["asteroid-filterbanks (>=0.3.2)", "musdb (>=0.4.0)", "museval (>=0.4.0)", "onnx", "pytest", "stempeg", "tqdm"] + [[package]] name = "packaging" version = "24.0" @@ -2528,6 +2783,20 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] +[[package]] +name = "retrying" +version = "1.3.4" +description = "Retrying" +optional = false +python-versions = "*" +files = [ + {file = "retrying-1.3.4-py3-none-any.whl", hash = "sha256:8cc4d43cb8e1125e0ff3344e9de678fefd85db3b750b81b2240dc0183af37b35"}, + {file = "retrying-1.3.4.tar.gz", hash = "sha256:345da8c5765bd982b1d1915deb9102fd3d1f7ad16bd84a9700b85f64d24e8f3e"}, +] + +[package.dependencies] +six = ">=1.7.0" + [[package]] name = "ruff" version = "0.1.15" @@ -2804,6 +3073,24 @@ tqdm = "*" fw = ["faster-whisper"] hf = ["accelerate", "optimum", "transformers (>=4.23.0)"] +[[package]] +name = "submitit" +version = "1.5.2" +description = "\"Python 3.8+ toolbox for submitting jobs to Slurm" +optional = false +python-versions = ">=3.8" +files = [ + {file = "submitit-1.5.2-py3-none-any.whl", hash = "sha256:c6d5867fbcc78588d0ded3338436903f8db9fdb759f80e9639e6025a9ea32ade"}, + {file = "submitit-1.5.2.tar.gz", hash = "sha256:36a8a54ad4e10171111e7618eefe28fe819f931a89c9cd1f6d2770900c013f12"}, +] + +[package.dependencies] +cloudpickle = ">=1.2.1" +typing_extensions = ">=3.7.4.2" + +[package.extras] +dev = ["black (==23.3.0)", "coverage[toml] (>=5.1)", "flit (>=3.5.1)", "isort (==5.11.5)", "mypy (>=1.4.1)", "pre-commit (>=1.15.2)", "pylint (>=3.0.0)", "pytest (>=7.4.2)", "pytest-asyncio (>=0.15.0)", "pytest-cov (>=4.1.0)"] + [[package]] name = "sympy" version = "1.12" @@ -3279,6 +3566,16 @@ torchhub = ["filelock", "huggingface-hub (>=0.23.2,<1.0)", "importlib-metadata", video = ["av (==9.2.0)"] vision = ["Pillow (>=10.0.1,<=15.0)"] +[[package]] +name = "treetable" +version = "0.2.5" +description = "Helper to pretty print an ascii table with atree-like structure" +optional = false +python-versions = ">=3.6.0" +files = [ + {file = "treetable-0.2.5.tar.gz", hash = "sha256:29c95b797a8ecff4bb894cb7b103e39a78c905ab78a88a9a247de30c87743a2f"}, +] + [[package]] name = "triton" version = "2.2.0" @@ -3588,4 +3885,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.13" -content-hash = "632021f1e3667151c633d4561d1f598531fe02999963cca797f500cbff9ced66" +content-hash = "7ade5c4344ca4919e943f75a668577a02358d57e0a19fbe50b94e0a938626e16" diff --git a/pyproject.toml b/pyproject.toml index 2e2e35fd..23b95702 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -52,6 +52,7 @@ torchaudio = [ {version = "2.2.1+cu121", source = "torch", markers = "sys_platform == 'win32' or sys_platform == 'msys'"}, ] darkdetect = "^0.8.0" +demucs = {git = "https://github.com/raivisdejus/demucs", rev = "27c6425"} [tool.poetry.group.dev.dependencies] autopep8 = "^1.7.0" diff --git a/tests/transcriber/whisper_file_transcriber_test.py b/tests/transcriber/whisper_file_transcriber_test.py index 0bc606de..d8fa8b60 100644 --- a/tests/transcriber/whisper_file_transcriber_test.py +++ b/tests/transcriber/whisper_file_transcriber_test.py @@ -118,9 +118,10 @@ class TestWhisperFileTranscriber: assert srt.endswith(".srt") @pytest.mark.parametrize( - "word_level_timings,expected_segments,model", + "word_level_timings,extract_speech,expected_segments,model", [ ( + False, False, [ Segment( @@ -135,6 +136,7 @@ class TestWhisperFileTranscriber: ), ), ( + True, True, [Segment(40, 299, " Bien"), Segment(299, 329, "venue dans")], TranscriptionModel( @@ -143,6 +145,7 @@ class TestWhisperFileTranscriber: ), ), ( + False, False, [ Segment( @@ -158,6 +161,7 @@ class TestWhisperFileTranscriber: ), ), pytest.param( + False, False, [ Segment( @@ -181,6 +185,7 @@ class TestWhisperFileTranscriber: self, qtbot: QtBot, word_level_timings: bool, + extract_speech: bool, expected_segments: List[Segment], model: TranscriptionModel, ): @@ -190,6 +195,7 @@ class TestWhisperFileTranscriber: language="fr", task=Task.TRANSCRIBE, word_level_timings=word_level_timings, + extract_speech=extract_speech, model=model, ) model_path = get_model_path(transcription_options.model) diff --git a/tests/widgets/preferences_dialog/folder_watch_preferences_widget_test.py b/tests/widgets/preferences_dialog/folder_watch_preferences_widget_test.py index 3b62cc14..0c9f2082 100644 --- a/tests/widgets/preferences_dialog/folder_watch_preferences_widget_test.py +++ b/tests/widgets/preferences_dialog/folder_watch_preferences_widget_test.py @@ -27,6 +27,7 @@ class TestFolderWatchPreferencesWidget: task=Task.TRANSCRIBE, model=TranscriptionModel.default(), word_level_timings=False, + extract_speech=False, temperature=DEFAULT_WHISPER_TEMPERATURE, initial_prompt="", enable_llm_translation=False, diff --git a/tests/widgets/transcription_task_folder_watcher_test.py b/tests/widgets/transcription_task_folder_watcher_test.py index c6b2d5da..6a05945a 100644 --- a/tests/widgets/transcription_task_folder_watcher_test.py +++ b/tests/widgets/transcription_task_folder_watcher_test.py @@ -44,6 +44,7 @@ class TestTranscriptionTaskFolderWatcher: task=Task.TRANSCRIBE, model=self.default_model(), word_level_timings=False, + extract_speech=False, temperature=DEFAULT_WHISPER_TEMPERATURE, initial_prompt="", enable_llm_translation=False, @@ -87,6 +88,7 @@ class TestTranscriptionTaskFolderWatcher: task=Task.TRANSCRIBE, model=self.default_model(), word_level_timings=False, + extract_speech=False, temperature=DEFAULT_WHISPER_TEMPERATURE, initial_prompt="", enable_llm_translation=False,