diff --git a/.gitignore b/.gitignore index 7e5f2af..f137a5b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -whisperx.egg-info/ \ No newline at end of file +whisperx.egg-info/ +**/__pycache__/ \ No newline at end of file diff --git a/README.md b/README.md index 68ce908..c8deea4 100644 --- a/README.md +++ b/README.md @@ -24,17 +24,14 @@ Install this package using You may also need to install ffmpeg, rust etc. Follow openAI instructions here https://github.com/openai/whisper#setup. -

Example

+

Examples💬

+### English Run whisper on example segment (using default params) `whisperx examples/sample01.wav --model medium.en --output examples/whisperx --align_model WAV2VEC2_ASR_LARGE_LV60K_960H --align_extend 2` -If the speech is non-english, select model from this [list](https://pytorch.org/audio/stable/pipelines.html#id14) that has been trained on desired language. - - - -### Qualitative Results: +If low gpu memory is required, use a smaller align model e.g. `WAV2VEC2_ASR_BASE_LV60K_960H` Using normal whisper out of the box, many transcriptions are out of sync: @@ -45,6 +42,21 @@ Now, using *WhisperX* with forced alignment to wav2vec2.0: https://user-images.githubusercontent.com/36994049/208253969-7e35fe2a-7541-434a-ae91-8e919540555d.mp4 +## Other Languages + +For non-english ASR, it is best to use the `large` whisper model. + +### French +`whisperx --model large --language fr examples/sample_fr_01.wav --align_model VOXPOPULI_ASR_BASE_10K_FR --output_dir examples/whisperx/ --align_extend 2` + + +### German +`whisperx --model large --language de examples/sample_de_01.wav --align_model VOXPOPULI_ASR_BASE_10K_DE --output_dir examples/whisperx/ --align_extend 2` + +### Italian +`whisperx --model large --language it examples/sample_it_01.wav --align_model VOXPOPULI_ASR_BASE_10K_IT --output_dir examples/whisperx/ --align_extend 2` + +

Limitations ⚠️

- Currently only tested for _english_ language, results may vary with different languages. @@ -58,6 +70,10 @@ https://user-images.githubusercontent.com/36994049/208253969-7e35fe2a-7541-434a- [x] Subtitle .ass output +[ ] Automatic align model selection based on language detection + +[ ] Reduce GPU (clear cache etc.) + [ ] Incorporating word-level speaker diarization [ ] Inference speedup with batch processing diff --git a/examples/sample_de_01.wav b/examples/sample_de_01.wav new file mode 100644 index 0000000..86a3c75 Binary files /dev/null and b/examples/sample_de_01.wav differ diff --git a/examples/sample_fr_01.wav b/examples/sample_fr_01.wav new file mode 100644 index 0000000..10eb4bb Binary files /dev/null and b/examples/sample_fr_01.wav differ diff --git a/examples/sample_it_01.wav b/examples/sample_it_01.wav new file mode 100644 index 0000000..5916e65 Binary files /dev/null and b/examples/sample_it_01.wav differ diff --git a/examples/whisper/sample_fr_01.wav.srt b/examples/whisper/sample_fr_01.wav.srt new file mode 100644 index 0000000..9732d9a --- /dev/null +++ b/examples/whisper/sample_fr_01.wav.srt @@ -0,0 +1,92 @@ +1 +00:00:00,000 --> 00:00:01,240 +Lâchez, c'est bon. + +2 +00:00:01,240 --> 00:00:02,240 +Ça va? + +3 +00:00:02,240 --> 00:00:03,240 +Oui. + +4 +00:00:03,240 --> 00:00:04,240 +Merci beaucoup. + +5 +00:00:04,240 --> 00:00:05,240 +Chèque ou espèce? + +6 +00:00:05,240 --> 00:00:08,640 +J'ai un chèque sur la commode, il est signé. + +7 +00:00:08,640 --> 00:00:09,640 +Je vais le repirer. + +8 +00:00:09,640 --> 00:00:10,640 +Ok. + +9 +00:00:10,640 --> 00:00:11,640 +Ouh là! + +10 +00:00:11,640 --> 00:00:12,640 +Venez. + +11 +00:00:12,640 --> 00:00:13,640 +Merci. + +12 +00:00:13,640 --> 00:00:14,640 +Ah! C'est qui? + +13 +00:00:14,640 --> 00:00:21,640 +C'est pas vrai, qu'est-ce qu'il fout ici, ce con? + +14 +00:00:21,640 --> 00:00:26,640 +Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. + +15 +00:00:26,640 --> 00:00:27,640 +Ça va? + +16 +00:00:27,640 --> 00:00:44,200 +Attendez, tout à l'heure là, c'était vous? Vous? Pas lui? Vous? + +17 +00:00:44,200 --> 00:00:48,360 +Vous avez tout à fait raison, M. Xanaquis, Malek est à l'interne brillant qui apprend + +18 +00:00:48,360 --> 00:00:49,360 +le métier avec moi. + +19 +00:00:49,360 --> 00:00:50,360 +Ah! + +20 +00:00:50,360 --> 00:00:51,360 +Bien. + +21 +00:00:51,360 --> 00:00:55,520 +Justement, il y a la famille Boboune qui m'attend pour une consultation. + +22 +00:00:55,520 --> 00:00:56,520 +Qui? + +23 +00:00:56,520 --> 00:00:57,760 +Faisons pas attendre les Boboune, allez. + diff --git a/examples/whisper/sample_fr_01.wav.txt b/examples/whisper/sample_fr_01.wav.txt new file mode 100644 index 0000000..5e8c797 --- /dev/null +++ b/examples/whisper/sample_fr_01.wav.txt @@ -0,0 +1,23 @@ +Lâchez, c'est bon. +Ça va? +Oui. +Merci beaucoup. +Chèque ou espèce? +J'ai un chèque sur la commode, il est signé. +Je vais le repirer. +Ok. +Ouh là! +Venez. +Merci. +Ah! C'est qui? +C'est pas vrai, qu'est-ce qu'il fout ici, ce con? +Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. +Ça va? +Attendez, tout à l'heure là, c'était vous? Vous? Pas lui? Vous? +Vous avez tout à fait raison, M. Xanaquis, Malek est à l'interne brillant qui apprend +le métier avec moi. +Ah! +Bien. +Justement, il y a la famille Boboune qui m'attend pour une consultation. +Qui? +Faisons pas attendre les Boboune, allez. diff --git a/examples/whisper/sample_fr_01.wav.vtt b/examples/whisper/sample_fr_01.wav.vtt new file mode 100644 index 0000000..3c5911d --- /dev/null +++ b/examples/whisper/sample_fr_01.wav.vtt @@ -0,0 +1,71 @@ +WEBVTT + +00:00.000 --> 00:01.240 +Lâchez, c'est bon. + +00:01.240 --> 00:02.240 +Ça va? + +00:02.240 --> 00:03.240 +Oui. + +00:03.240 --> 00:04.240 +Merci beaucoup. + +00:04.240 --> 00:05.240 +Chèque ou espèce? + +00:05.240 --> 00:08.640 +J'ai un chèque sur la commode, il est signé. + +00:08.640 --> 00:09.640 +Je vais le repirer. + +00:09.640 --> 00:10.640 +Ok. + +00:10.640 --> 00:11.640 +Ouh là! + +00:11.640 --> 00:12.640 +Venez. + +00:12.640 --> 00:13.640 +Merci. + +00:13.640 --> 00:14.640 +Ah! C'est qui? + +00:14.640 --> 00:21.640 +C'est pas vrai, qu'est-ce qu'il fout ici, ce con? + +00:21.640 --> 00:26.640 +Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. + +00:26.640 --> 00:27.640 +Ça va? + +00:27.640 --> 00:44.200 +Attendez, tout à l'heure là, c'était vous? Vous? Pas lui? Vous? + +00:44.200 --> 00:48.360 +Vous avez tout à fait raison, M. Xanaquis, Malek est à l'interne brillant qui apprend + +00:48.360 --> 00:49.360 +le métier avec moi. + +00:49.360 --> 00:50.360 +Ah! + +00:50.360 --> 00:51.360 +Bien. + +00:51.360 --> 00:55.520 +Justement, il y a la famille Boboune qui m'attend pour une consultation. + +00:55.520 --> 00:56.520 +Qui? + +00:56.520 --> 00:57.760 +Faisons pas attendre les Boboune, allez. + diff --git a/examples/whisperx/sample_de_01.wav.ass b/examples/whisperx/sample_de_01.wav.ass new file mode 100644 index 0000000..8442d18 --- /dev/null +++ b/examples/whisperx/sample_de_01.wav.ass @@ -0,0 +1,184 @@ +[Script Info] +ScriptType: v4.00+ +PlayResX: 384 +PlayResY: 288 +ScaledBorderAndShadow: yes + +[V4+ Styles] +Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding +Style: Default,Arial,24,&Hffffff,&Hffffff,&H0,&H0,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,0 + +[Events] +Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text + +Dialogue: 0,0:00:0.56,0:00:0.96,Default,,0,0,0,,{\1c&HFF00&\u1}Weinlein{\r} von Hammersmann +Dialogue: 0,0:00:0.96,0:00:0.98,Default,,0,0,0,,Weinlein von Hammersmann +Dialogue: 0,0:00:0.98,0:00:1.21,Default,,0,0,0,,Weinlein {\1c&HFF00&\u1}von{\r} Hammersmann +Dialogue: 0,0:00:1.21,0:00:1.23,Default,,0,0,0,,Weinlein von Hammersmann +Dialogue: 0,0:00:1.23,0:00:1.87,Default,,0,0,0,,Weinlein von {\1c&HFF00&\u1}Hammersmann{\r} +Dialogue: 0,0:00:6.19,0:00:6.61,Default,,0,0,0,,{\1c&HFF00&\u1}Oberst{\r} Lande, es ist lange her +Dialogue: 0,0:00:6.61,0:00:6.63,Default,,0,0,0,,Oberst Lande, es ist lange her +Dialogue: 0,0:00:6.63,0:00:6.97,Default,,0,0,0,,Oberst {\1c&HFF00&\u1}Lande,{\r} es ist lange her +Dialogue: 0,0:00:6.97,0:00:7.01,Default,,0,0,0,,Oberst Lande, es ist lange her +Dialogue: 0,0:00:7.01,0:00:7.17,Default,,0,0,0,,Oberst Lande, {\1c&HFF00&\u1}es{\r} ist lange her +Dialogue: 0,0:00:7.17,0:00:7.21,Default,,0,0,0,,Oberst Lande, es ist lange her +Dialogue: 0,0:00:7.21,0:00:7.47,Default,,0,0,0,,Oberst Lande, es {\1c&HFF00&\u1}ist{\r} lange her +Dialogue: 0,0:00:7.47,0:00:7.49,Default,,0,0,0,,Oberst Lande, es ist lange her +Dialogue: 0,0:00:7.49,0:00:7.77,Default,,0,0,0,,Oberst Lande, es ist {\1c&HFF00&\u1}lange{\r} her +Dialogue: 0,0:00:7.77,0:00:7.83,Default,,0,0,0,,Oberst Lande, es ist lange her +Dialogue: 0,0:00:7.83,0:00:8.01,Default,,0,0,0,,Oberst Lande, es ist lange {\1c&HFF00&\u1}her{\r} +Dialogue: 0,0:00:8.01,0:00:8.17,Default,,0,0,0,,{\1c&HFF00&\u1}Schneide{\r} ich wie eh und je +Dialogue: 0,0:00:8.17,0:00:8.19,Default,,0,0,0,,Schneide ich wie eh und je +Dialogue: 0,0:00:8.19,0:00:8.25,Default,,0,0,0,,Schneide {\1c&HFF00&\u1}ich{\r} wie eh und je +Dialogue: 0,0:00:8.25,0:00:8.27,Default,,0,0,0,,Schneide ich wie eh und je +Dialogue: 0,0:00:8.27,0:00:8.33,Default,,0,0,0,,Schneide ich {\1c&HFF00&\u1}wie{\r} eh und je +Dialogue: 0,0:00:8.33,0:00:8.35,Default,,0,0,0,,Schneide ich wie eh und je +Dialogue: 0,0:00:8.35,0:00:8.39,Default,,0,0,0,,Schneide ich wie {\1c&HFF00&\u1}eh{\r} und je +Dialogue: 0,0:00:8.39,0:00:8.41,Default,,0,0,0,,Schneide ich wie eh und je +Dialogue: 0,0:00:8.41,0:00:8.47,Default,,0,0,0,,Schneide ich wie eh {\1c&HFF00&\u1}und{\r} je +Dialogue: 0,0:00:8.47,0:00:8.49,Default,,0,0,0,,Schneide ich wie eh und je +Dialogue: 0,0:00:8.49,0:00:8.53,Default,,0,0,0,,Schneide ich wie eh und {\1c&HFF00&\u1}je{\r} +Dialogue: 0,0:00:13.99,0:00:14.17,Default,,0,0,0,,{\1c&HFF00&\u1}Also{\r} was ist mit Ihrem wunderschönen Bein geschehen? +Dialogue: 0,0:00:14.17,0:00:14.21,Default,,0,0,0,,Also was ist mit Ihrem wunderschönen Bein geschehen? +Dialogue: 0,0:00:14.21,0:00:14.45,Default,,0,0,0,,Also {\1c&HFF00&\u1}was{\r} ist mit Ihrem wunderschönen Bein geschehen? +Dialogue: 0,0:00:14.45,0:00:14.47,Default,,0,0,0,,Also was ist mit Ihrem wunderschönen Bein geschehen? +Dialogue: 0,0:00:14.47,0:00:14.59,Default,,0,0,0,,Also was {\1c&HFF00&\u1}ist{\r} mit Ihrem wunderschönen Bein geschehen? +Dialogue: 0,0:00:14.59,0:00:14.61,Default,,0,0,0,,Also was ist mit Ihrem wunderschönen Bein geschehen? +Dialogue: 0,0:00:14.61,0:00:14.71,Default,,0,0,0,,Also was ist {\1c&HFF00&\u1}mit{\r} Ihrem wunderschönen Bein geschehen? +Dialogue: 0,0:00:14.71,0:00:14.75,Default,,0,0,0,,Also was ist mit Ihrem wunderschönen Bein geschehen? +Dialogue: 0,0:00:14.75,0:00:14.91,Default,,0,0,0,,Also was ist mit {\1c&HFF00&\u1}Ihrem{\r} wunderschönen Bein geschehen? +Dialogue: 0,0:00:14.91,0:00:14.93,Default,,0,0,0,,Also was ist mit Ihrem wunderschönen Bein geschehen? +Dialogue: 0,0:00:14.93,0:00:15.55,Default,,0,0,0,,Also was ist mit Ihrem {\1c&HFF00&\u1}wunderschönen{\r} Bein geschehen? +Dialogue: 0,0:00:15.55,0:00:15.59,Default,,0,0,0,,Also was ist mit Ihrem wunderschönen Bein geschehen? +Dialogue: 0,0:00:15.59,0:00:15.81,Default,,0,0,0,,Also was ist mit Ihrem wunderschönen {\1c&HFF00&\u1}Bein{\r} geschehen? +Dialogue: 0,0:00:15.81,0:00:15.85,Default,,0,0,0,,Also was ist mit Ihrem wunderschönen Bein geschehen? +Dialogue: 0,0:00:15.85,0:00:16.23,Default,,0,0,0,,Also was ist mit Ihrem wunderschönen Bein {\1c&HFF00&\u1}geschehen?{\r} +Dialogue: 0,0:00:17.03,0:00:17.15,Default,,0,0,0,,{\1c&HFF00&\u1}Ein{\r} Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:17.15,0:00:17.17,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:17.17,0:00:17.74,Default,,0,0,0,,Ein {\1c&HFF00&\u1}Nebenprodukt{\r} der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:17.74,0:00:17.78,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:17.78,0:00:17.92,Default,,0,0,0,,Ein Nebenprodukt {\1c&HFF00&\u1}der{\r} Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:17.92,0:00:17.96,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:17.96,0:00:18.60,Default,,0,0,0,,Ein Nebenprodukt der {\1c&HFF00&\u1}Arschtritte,{\r} die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:18.60,0:00:18.64,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:18.64,0:00:18.70,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, {\1c&HFF00&\u1}die{\r} Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:18.70,0:00:18.74,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:18.74,0:00:18.82,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die {\1c&HFF00&\u1}Sie{\r} in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:18.82,0:00:18.86,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:18.86,0:00:18.92,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie {\1c&HFF00&\u1}in{\r} der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:18.92,0:00:18.94,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:18.94,0:00:19.02,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in {\1c&HFF00&\u1}der{\r} deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:19.02,0:00:19.04,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:19.04,0:00:19.32,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der {\1c&HFF00&\u1}deutschen{\r} Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:19.32,0:00:19.36,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:19.36,0:00:19.88,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen {\1c&HFF00&\u1}Filmwelt{\r} ausleihen, zweifelsohne +Dialogue: 0,0:00:19.88,0:00:19.94,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:19.94,0:00:20.48,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt {\1c&HFF00&\u1}ausleihen,{\r} zweifelsohne +Dialogue: 0,0:00:20.48,0:00:20.52,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne +Dialogue: 0,0:00:20.52,0:00:21.22,Default,,0,0,0,,Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, {\1c&HFF00&\u1}zweifelsohne{\r} +Dialogue: 0,0:00:22.10,0:00:22.36,Default,,0,0,0,,{\1c&HFF00&\u1}Sparen{\r} Sie sich Ihre Komplimente, Sie alter Hund +Dialogue: 0,0:00:22.36,0:00:22.38,Default,,0,0,0,,Sparen Sie sich Ihre Komplimente, Sie alter Hund +Dialogue: 0,0:00:22.38,0:00:22.48,Default,,0,0,0,,Sparen {\1c&HFF00&\u1}Sie{\r} sich Ihre Komplimente, Sie alter Hund +Dialogue: 0,0:00:22.48,0:00:22.50,Default,,0,0,0,,Sparen Sie sich Ihre Komplimente, Sie alter Hund +Dialogue: 0,0:00:22.50,0:00:22.62,Default,,0,0,0,,Sparen Sie {\1c&HFF00&\u1}sich{\r} Ihre Komplimente, Sie alter Hund +Dialogue: 0,0:00:22.62,0:00:22.64,Default,,0,0,0,,Sparen Sie sich Ihre Komplimente, Sie alter Hund +Dialogue: 0,0:00:22.64,0:00:22.83,Default,,0,0,0,,Sparen Sie sich {\1c&HFF00&\u1}Ihre{\r} Komplimente, Sie alter Hund +Dialogue: 0,0:00:22.83,0:00:22.87,Default,,0,0,0,,Sparen Sie sich Ihre Komplimente, Sie alter Hund +Dialogue: 0,0:00:22.87,0:00:23.43,Default,,0,0,0,,Sparen Sie sich Ihre {\1c&HFF00&\u1}Komplimente,{\r} Sie alter Hund +Dialogue: 0,0:00:23.43,0:00:23.45,Default,,0,0,0,,Sparen Sie sich Ihre Komplimente, Sie alter Hund +Dialogue: 0,0:00:23.45,0:00:23.55,Default,,0,0,0,,Sparen Sie sich Ihre Komplimente, {\1c&HFF00&\u1}Sie{\r} alter Hund +Dialogue: 0,0:00:23.55,0:00:23.59,Default,,0,0,0,,Sparen Sie sich Ihre Komplimente, Sie alter Hund +Dialogue: 0,0:00:23.59,0:00:23.89,Default,,0,0,0,,Sparen Sie sich Ihre Komplimente, Sie {\1c&HFF00&\u1}alter{\r} Hund +Dialogue: 0,0:00:23.89,0:00:23.93,Default,,0,0,0,,Sparen Sie sich Ihre Komplimente, Sie alter Hund +Dialogue: 0,0:00:23.93,0:00:24.05,Default,,0,0,0,,Sparen Sie sich Ihre Komplimente, Sie alter {\1c&HFF00&\u1}Hund{\r} +Dialogue: 0,0:00:24.57,0:00:24.65,Default,,0,0,0,,{\1c&HFF00&\u1}Ich{\r} kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:24.65,0:00:24.67,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:24.67,0:00:24.97,Default,,0,0,0,,Ich {\1c&HFF00&\u1}kenne{\r} zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:24.97,0:00:25.01,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:25.01,0:00:25.19,Default,,0,0,0,,Ich kenne {\1c&HFF00&\u1}zu{\r} viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:25.19,0:00:25.23,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:25.23,0:00:25.49,Default,,0,0,0,,Ich kenne zu {\1c&HFF00&\u1}viele{\r} von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:25.49,0:00:25.51,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:25.51,0:00:25.65,Default,,0,0,0,,Ich kenne zu viele {\1c&HFF00&\u1}von{\r} ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:25.65,0:00:25.69,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:25.69,0:00:25.95,Default,,0,0,0,,Ich kenne zu viele von {\1c&HFF00&\u1}ihren{\r} früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:25.95,0:00:25.99,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:25.99,0:00:26.41,Default,,0,0,0,,Ich kenne zu viele von ihren {\1c&HFF00&\u1}früheren{\r} Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:26.41,0:00:26.45,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:26.45,0:00:27.01,Default,,0,0,0,,Ich kenne zu viele von ihren früheren {\1c&HFF00&\u1}Eroberungen,{\r} als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:27.01,0:00:27.06,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:27.06,0:00:27.24,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, {\1c&HFF00&\u1}als{\r} dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:27.24,0:00:27.26,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:27.26,0:00:27.46,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als {\1c&HFF00&\u1}dass{\r} ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:27.46,0:00:27.50,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:27.50,0:00:27.60,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass {\1c&HFF00&\u1}ich{\r} in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:27.60,0:00:27.64,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:27.64,0:00:27.74,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich {\1c&HFF00&\u1}in{\r} ihren Honigtopf treten könnte. +Dialogue: 0,0:00:27.74,0:00:27.78,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:27.78,0:00:28.00,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in {\1c&HFF00&\u1}ihren{\r} Honigtopf treten könnte. +Dialogue: 0,0:00:28.00,0:00:28.04,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:28.04,0:00:28.64,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren {\1c&HFF00&\u1}Honigtopf{\r} treten könnte. +Dialogue: 0,0:00:28.64,0:00:28.68,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:28.68,0:00:28.96,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf {\1c&HFF00&\u1}treten{\r} könnte. +Dialogue: 0,0:00:28.96,0:00:29.00,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. +Dialogue: 0,0:00:29.00,0:00:29.24,Default,,0,0,0,,Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten {\1c&HFF00&\u1}könnte.{\r} +Dialogue: 0,0:00:29.24,0:00:29.30,Default,,0,0,0,,{\1c&HFF00&\u1}Na{\r} im Ernst, was ist passiert? +Dialogue: 0,0:00:29.30,0:00:29.32,Default,,0,0,0,,Na im Ernst, was ist passiert? +Dialogue: 0,0:00:29.32,0:00:29.36,Default,,0,0,0,,Na {\1c&HFF00&\u1}im{\r} Ernst, was ist passiert? +Dialogue: 0,0:00:29.36,0:00:29.38,Default,,0,0,0,,Na im Ernst, was ist passiert? +Dialogue: 0,0:00:29.38,0:00:29.48,Default,,0,0,0,,Na im {\1c&HFF00&\u1}Ernst,{\r} was ist passiert? +Dialogue: 0,0:00:29.48,0:00:29.50,Default,,0,0,0,,Na im Ernst, was ist passiert? +Dialogue: 0,0:00:29.50,0:00:29.56,Default,,0,0,0,,Na im Ernst, {\1c&HFF00&\u1}was{\r} ist passiert? +Dialogue: 0,0:00:29.56,0:00:29.58,Default,,0,0,0,,Na im Ernst, was ist passiert? +Dialogue: 0,0:00:29.58,0:00:29.64,Default,,0,0,0,,Na im Ernst, was {\1c&HFF00&\u1}ist{\r} passiert? +Dialogue: 0,0:00:29.64,0:00:29.66,Default,,0,0,0,,Na im Ernst, was ist passiert? +Dialogue: 0,0:00:29.66,0:00:29.82,Default,,0,0,0,,Na im Ernst, was ist {\1c&HFF00&\u1}passiert?{\r} +Dialogue: 0,0:00:30.78,0:00:32.27,Default,,0,0,0,,{\1c&HFF00&\u1}Tja,{\r} ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:32.27,0:00:32.33,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:32.33,0:00:32.49,Default,,0,0,0,,Tja, {\1c&HFF00&\u1}ich{\r} habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:32.49,0:00:32.53,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:32.53,0:00:32.79,Default,,0,0,0,,Tja, ich {\1c&HFF00&\u1}habe{\r} mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:32.79,0:00:32.83,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:32.83,0:00:33.83,Default,,0,0,0,,Tja, ich habe {\1c&HFF00&\u1}mich,{\r} dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:33.83,0:00:33.85,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:33.85,0:00:34.57,Default,,0,0,0,,Tja, ich habe mich, {\1c&HFF00&\u1}dummerweise{\r} muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:34.57,0:00:34.59,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:34.59,0:00:34.73,Default,,0,0,0,,Tja, ich habe mich, dummerweise {\1c&HFF00&\u1}muss{\r} ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:34.73,0:00:34.77,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:34.77,0:00:34.89,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss {\1c&HFF00&\u1}ich{\r} eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:34.89,0:00:34.93,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:34.93,0:00:36.83,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich {\1c&HFF00&\u1}eingestehen,{\r} im Bergsteigen versucht. +Dialogue: 0,0:00:36.83,0:00:36.87,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:36.87,0:00:36.99,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, {\1c&HFF00&\u1}im{\r} Bergsteigen versucht. +Dialogue: 0,0:00:36.99,0:00:37.03,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:37.03,0:00:37.76,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, im {\1c&HFF00&\u1}Bergsteigen{\r} versucht. +Dialogue: 0,0:00:37.76,0:00:37.78,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. +Dialogue: 0,0:00:37.78,0:00:38.22,Default,,0,0,0,,Tja, ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen {\1c&HFF00&\u1}versucht.{\r} +Dialogue: 0,0:00:41.23,0:00:41.85,Default,,0,0,0,,{\1c&HFF00&\u1}Bergsteigen?{\r} Dabei haben sie ihr Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:41.85,0:00:41.87,Default,,0,0,0,,Bergsteigen? Dabei haben sie ihr Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:41.87,0:00:42.13,Default,,0,0,0,,Bergsteigen? {\1c&HFF00&\u1}Dabei{\r} haben sie ihr Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:42.13,0:00:42.15,Default,,0,0,0,,Bergsteigen? Dabei haben sie ihr Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:42.15,0:00:42.33,Default,,0,0,0,,Bergsteigen? Dabei {\1c&HFF00&\u1}haben{\r} sie ihr Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:42.33,0:00:42.37,Default,,0,0,0,,Bergsteigen? Dabei haben sie ihr Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:42.37,0:00:42.51,Default,,0,0,0,,Bergsteigen? Dabei haben {\1c&HFF00&\u1}sie{\r} ihr Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:42.51,0:00:42.55,Default,,0,0,0,,Bergsteigen? Dabei haben sie ihr Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:42.55,0:00:42.61,Default,,0,0,0,,Bergsteigen? Dabei haben sie {\1c&HFF00&\u1}ihr{\r} Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:42.61,0:00:42.63,Default,,0,0,0,,Bergsteigen? Dabei haben sie ihr Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:42.63,0:00:42.77,Default,,0,0,0,,Bergsteigen? Dabei haben sie ihr {\1c&HFF00&\u1}Bein{\r} verletzt beim Bergsteigen? +Dialogue: 0,0:00:42.77,0:00:42.81,Default,,0,0,0,,Bergsteigen? Dabei haben sie ihr Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:42.81,0:00:43.23,Default,,0,0,0,,Bergsteigen? Dabei haben sie ihr Bein {\1c&HFF00&\u1}verletzt{\r} beim Bergsteigen? +Dialogue: 0,0:00:43.23,0:00:43.27,Default,,0,0,0,,Bergsteigen? Dabei haben sie ihr Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:43.27,0:00:43.39,Default,,0,0,0,,Bergsteigen? Dabei haben sie ihr Bein verletzt {\1c&HFF00&\u1}beim{\r} Bergsteigen? +Dialogue: 0,0:00:43.39,0:00:43.45,Default,,0,0,0,,Bergsteigen? Dabei haben sie ihr Bein verletzt beim Bergsteigen? +Dialogue: 0,0:00:43.45,0:00:44.13,Default,,0,0,0,,Bergsteigen? Dabei haben sie ihr Bein verletzt beim {\1c&HFF00&\u1}Bergsteigen?{\r} +Dialogue: 0,0:00:44.54,0:00:44.62,Default,,0,0,0,,{\1c&HFF00&\u1}Ob{\r} sie es glauben oder nicht. +Dialogue: 0,0:00:44.62,0:00:44.66,Default,,0,0,0,,Ob sie es glauben oder nicht. +Dialogue: 0,0:00:44.66,0:00:44.72,Default,,0,0,0,,Ob {\1c&HFF00&\u1}sie{\r} es glauben oder nicht. +Dialogue: 0,0:00:44.72,0:00:44.74,Default,,0,0,0,,Ob sie es glauben oder nicht. +Dialogue: 0,0:00:44.74,0:00:44.80,Default,,0,0,0,,Ob sie {\1c&HFF00&\u1}es{\r} glauben oder nicht. +Dialogue: 0,0:00:44.80,0:00:44.82,Default,,0,0,0,,Ob sie es glauben oder nicht. +Dialogue: 0,0:00:44.82,0:00:45.14,Default,,0,0,0,,Ob sie es {\1c&HFF00&\u1}glauben{\r} oder nicht. +Dialogue: 0,0:00:45.14,0:00:45.16,Default,,0,0,0,,Ob sie es glauben oder nicht. +Dialogue: 0,0:00:45.16,0:00:45.46,Default,,0,0,0,,Ob sie es glauben {\1c&HFF00&\u1}oder{\r} nicht. +Dialogue: 0,0:00:45.46,0:00:45.50,Default,,0,0,0,,Ob sie es glauben oder nicht. +Dialogue: 0,0:00:45.50,0:00:45.66,Default,,0,0,0,,Ob sie es glauben oder {\1c&HFF00&\u1}nicht.{\r} \ No newline at end of file diff --git a/examples/whisperx/sample_de_01.wav.srt b/examples/whisperx/sample_de_01.wav.srt new file mode 100644 index 0000000..32b5776 --- /dev/null +++ b/examples/whisperx/sample_de_01.wav.srt @@ -0,0 +1,44 @@ +1 +00:00:00,563 --> 00:00:01,869 +Weinlein von Hammersmann + +2 +00:00:06,187 --> 00:00:08,013 +Oberst Lande, es ist lange her + +3 +00:00:08,013 --> 00:00:08,534 +Schneide ich wie eh und je + +4 +00:00:13,987 --> 00:00:16,234 +Also was ist mit Ihrem wunderschönen Bein geschehen? + +5 +00:00:17,035 --> 00:00:21,218 +Ein Nebenprodukt der Arschtritte, die Sie in der deutschen Filmwelt ausleihen, zweifelsohne + +6 +00:00:22,102 --> 00:00:24,051 +Sparen Sie sich Ihre Komplimente, Sie alter Hund + +7 +00:00:24,572 --> 00:00:29,238 +Ich kenne zu viele von ihren früheren Eroberungen, als dass ich in ihren Honigtopf treten könnte. + +8 +00:00:29,238 --> 00:00:29,821 +Na im Ernst, was ist passiert? + +9 +00:00:30,783 --> 00:00:38,217 +Tja, ich habe mich, dummerweise muss ich eingestehen, im Bergsteigen versucht. + +10 +00:00:41,226 --> 00:00:44,135 +Bergsteigen? Dabei haben sie ihr Bein verletzt beim Bergsteigen? + +11 +00:00:44,535 --> 00:00:45,657 +Ob sie es glauben oder nicht. + diff --git a/examples/whisperx/sample_fr_01.wav.ass b/examples/whisperx/sample_fr_01.wav.ass new file mode 100644 index 0000000..434bb77 --- /dev/null +++ b/examples/whisperx/sample_fr_01.wav.ass @@ -0,0 +1,206 @@ +[Script Info] +ScriptType: v4.00+ +PlayResX: 384 +PlayResY: 288 +ScaledBorderAndShadow: yes + +[V4+ Styles] +Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding +Style: Default,Arial,24,&Hffffff,&Hffffff,&H0,&H0,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,0 + +[Events] +Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text + +Dialogue: 0,0:00:0.77,0:00:1.07,Default,,0,0,0,,{\1c&HFF00&\u1}Lâchez,{\r} c'est bon. +Dialogue: 0,0:00:1.07,0:00:1.11,Default,,0,0,0,,Lâchez, c'est bon. +Dialogue: 0,0:00:1.11,0:00:1.21,Default,,0,0,0,,Lâchez, {\1c&HFF00&\u1}c'est{\r} bon. +Dialogue: 0,0:00:1.21,0:00:1.23,Default,,0,0,0,,Lâchez, c'est bon. +Dialogue: 0,0:00:1.23,0:00:1.31,Default,,0,0,0,,Lâchez, c'est {\1c&HFF00&\u1}bon.{\r} +Dialogue: 0,0:00:1.31,0:00:1.83,Default,,0,0,0,,{\1c&HFF00&\u1}Ça{\r} va? +Dialogue: 0,0:00:1.83,0:00:1.87,Default,,0,0,0,,Ça va? +Dialogue: 0,0:00:1.87,0:00:1.93,Default,,0,0,0,,Ça {\1c&HFF00&\u1}va?{\r} +Dialogue: 0,0:00:1.97,0:00:2.03,Default,,0,0,0,,{\1c&HFF00&\u1}Oui.{\r} +Dialogue: 0,0:00:2.96,0:00:3.29,Default,,0,0,0,,{\1c&HFF00&\u1}Merci{\r} beaucoup. +Dialogue: 0,0:00:3.29,0:00:3.31,Default,,0,0,0,,Merci beaucoup. +Dialogue: 0,0:00:3.31,0:00:3.51,Default,,0,0,0,,Merci {\1c&HFF00&\u1}beaucoup.{\r} +Dialogue: 0,0:00:4.35,0:00:4.53,Default,,0,0,0,,{\1c&HFF00&\u1}Chèque{\r} ou espèce? +Dialogue: 0,0:00:4.53,0:00:4.63,Default,,0,0,0,,Chèque ou espèce? +Dialogue: 0,0:00:4.63,0:00:4.71,Default,,0,0,0,,Chèque {\1c&HFF00&\u1}ou{\r} espèce? +Dialogue: 0,0:00:4.71,0:00:4.77,Default,,0,0,0,,Chèque ou espèce? +Dialogue: 0,0:00:4.77,0:00:5.03,Default,,0,0,0,,Chèque ou {\1c&HFF00&\u1}espèce?{\r} +Dialogue: 0,0:00:6.54,0:00:7.00,Default,,0,0,0,,{\1c&HFF00&\u1}J'ai{\r} un chèque sur la commode, il est signé. +Dialogue: 0,0:00:7.00,0:00:7.02,Default,,0,0,0,,J'ai un chèque sur la commode, il est signé. +Dialogue: 0,0:00:7.02,0:00:7.08,Default,,0,0,0,,J'ai {\1c&HFF00&\u1}un{\r} chèque sur la commode, il est signé. +Dialogue: 0,0:00:7.08,0:00:7.12,Default,,0,0,0,,J'ai un chèque sur la commode, il est signé. +Dialogue: 0,0:00:7.12,0:00:7.34,Default,,0,0,0,,J'ai un {\1c&HFF00&\u1}chèque{\r} sur la commode, il est signé. +Dialogue: 0,0:00:7.34,0:00:7.36,Default,,0,0,0,,J'ai un chèque sur la commode, il est signé. +Dialogue: 0,0:00:7.36,0:00:7.48,Default,,0,0,0,,J'ai un chèque {\1c&HFF00&\u1}sur{\r} la commode, il est signé. +Dialogue: 0,0:00:7.48,0:00:7.52,Default,,0,0,0,,J'ai un chèque sur la commode, il est signé. +Dialogue: 0,0:00:7.52,0:00:7.58,Default,,0,0,0,,J'ai un chèque sur {\1c&HFF00&\u1}la{\r} commode, il est signé. +Dialogue: 0,0:00:7.58,0:00:7.62,Default,,0,0,0,,J'ai un chèque sur la commode, il est signé. +Dialogue: 0,0:00:7.62,0:00:7.90,Default,,0,0,0,,J'ai un chèque sur la {\1c&HFF00&\u1}commode,{\r} il est signé. +Dialogue: 0,0:00:7.90,0:00:7.98,Default,,0,0,0,,J'ai un chèque sur la commode, il est signé. +Dialogue: 0,0:00:7.98,0:00:8.04,Default,,0,0,0,,J'ai un chèque sur la commode, {\1c&HFF00&\u1}il{\r} est signé. +Dialogue: 0,0:00:8.04,0:00:8.08,Default,,0,0,0,,J'ai un chèque sur la commode, il est signé. +Dialogue: 0,0:00:8.08,0:00:8.18,Default,,0,0,0,,J'ai un chèque sur la commode, il {\1c&HFF00&\u1}est{\r} signé. +Dialogue: 0,0:00:8.18,0:00:8.22,Default,,0,0,0,,J'ai un chèque sur la commode, il est signé. +Dialogue: 0,0:00:8.22,0:00:8.38,Default,,0,0,0,,J'ai un chèque sur la commode, il est {\1c&HFF00&\u1}signé.{\r} +Dialogue: 0,0:00:8.38,0:00:8.50,Default,,0,0,0,,{\1c&HFF00&\u1}Je{\r} vais le repirer. +Dialogue: 0,0:00:8.50,0:00:8.52,Default,,0,0,0,,Je vais le repirer. +Dialogue: 0,0:00:8.52,0:00:8.82,Default,,0,0,0,,Je {\1c&HFF00&\u1}vais{\r} le repirer. +Dialogue: 0,0:00:8.82,0:00:8.84,Default,,0,0,0,,Je vais le repirer. +Dialogue: 0,0:00:8.84,0:00:8.92,Default,,0,0,0,,Je vais {\1c&HFF00&\u1}le{\r} repirer. +Dialogue: 0,0:00:8.92,0:00:8.96,Default,,0,0,0,,Je vais le repirer. +Dialogue: 0,0:00:8.96,0:00:9.19,Default,,0,0,0,,Je vais le {\1c&HFF00&\u1}repirer.{\r} +Dialogue: 0,0:00:9.21,0:00:9.25,Default,,0,0,0,,{\1c&HFF00&\u1}Ok.{\r} +Dialogue: 0,0:00:9.66,0:00:9.72,Default,,0,0,0,,{\1c&HFF00&\u1}Ouh{\r} là! +Dialogue: 0,0:00:9.72,0:00:9.74,Default,,0,0,0,,Ouh là! +Dialogue: 0,0:00:9.74,0:00:9.78,Default,,0,0,0,,Ouh {\1c&HFF00&\u1}là!{\r} +Dialogue: 0,0:00:10.64,0:00:10.76,Default,,0,0,0,,{\1c&HFF00&\u1}Venez.{\r} +Dialogue: 0,0:00:11.96,0:00:12.45,Default,,0,0,0,,{\1c&HFF00&\u1}Merci.{\r} +Dialogue: 0,0:00:12.66,0:00:13.95,Default,,0,0,0,,{\1c&HFF00&\u1}Ah!{\r} C'est qui? +Dialogue: 0,0:00:13.95,0:00:13.97,Default,,0,0,0,,Ah! C'est qui? +Dialogue: 0,0:00:13.97,0:00:14.09,Default,,0,0,0,,Ah! {\1c&HFF00&\u1}C'est{\r} qui? +Dialogue: 0,0:00:14.09,0:00:14.11,Default,,0,0,0,,Ah! C'est qui? +Dialogue: 0,0:00:14.11,0:00:14.19,Default,,0,0,0,,Ah! C'est {\1c&HFF00&\u1}qui?{\r} +Dialogue: 0,0:00:14.19,0:00:14.59,Default,,0,0,0,,{\1c&HFF00&\u1}C'est{\r} pas vrai, qu'est-ce qu'il fout ici, ce con? +Dialogue: 0,0:00:14.59,0:00:14.61,Default,,0,0,0,,C'est pas vrai, qu'est-ce qu'il fout ici, ce con? +Dialogue: 0,0:00:14.61,0:00:16.29,Default,,0,0,0,,C'est {\1c&HFF00&\u1}pas{\r} vrai, qu'est-ce qu'il fout ici, ce con? +Dialogue: 0,0:00:16.29,0:00:16.33,Default,,0,0,0,,C'est pas vrai, qu'est-ce qu'il fout ici, ce con? +Dialogue: 0,0:00:16.33,0:00:16.49,Default,,0,0,0,,C'est pas {\1c&HFF00&\u1}vrai,{\r} qu'est-ce qu'il fout ici, ce con? +Dialogue: 0,0:00:16.49,0:00:16.51,Default,,0,0,0,,C'est pas vrai, qu'est-ce qu'il fout ici, ce con? +Dialogue: 0,0:00:16.51,0:00:20.92,Default,,0,0,0,,C'est pas vrai, {\1c&HFF00&\u1}qu'est-ce{\r} qu'il fout ici, ce con? +Dialogue: 0,0:00:20.92,0:00:20.94,Default,,0,0,0,,C'est pas vrai, qu'est-ce qu'il fout ici, ce con? +Dialogue: 0,0:00:20.94,0:00:21.10,Default,,0,0,0,,C'est pas vrai, qu'est-ce {\1c&HFF00&\u1}qu'il{\r} fout ici, ce con? +Dialogue: 0,0:00:21.10,0:00:21.14,Default,,0,0,0,,C'est pas vrai, qu'est-ce qu'il fout ici, ce con? +Dialogue: 0,0:00:21.14,0:00:21.36,Default,,0,0,0,,C'est pas vrai, qu'est-ce qu'il {\1c&HFF00&\u1}fout{\r} ici, ce con? +Dialogue: 0,0:00:21.36,0:00:21.68,Default,,0,0,0,,C'est pas vrai, qu'est-ce qu'il fout ici, ce con? +Dialogue: 0,0:00:21.68,0:00:22.30,Default,,0,0,0,,C'est pas vrai, qu'est-ce qu'il fout {\1c&HFF00&\u1}ici,{\r} ce con? +Dialogue: 0,0:00:22.30,0:00:22.32,Default,,0,0,0,,C'est pas vrai, qu'est-ce qu'il fout ici, ce con? +Dialogue: 0,0:00:22.32,0:00:22.42,Default,,0,0,0,,C'est pas vrai, qu'est-ce qu'il fout ici, {\1c&HFF00&\u1}ce{\r} con? +Dialogue: 0,0:00:22.42,0:00:22.44,Default,,0,0,0,,C'est pas vrai, qu'est-ce qu'il fout ici, ce con? +Dialogue: 0,0:00:22.44,0:00:22.50,Default,,0,0,0,,C'est pas vrai, qu'est-ce qu'il fout ici, ce {\1c&HFF00&\u1}con?{\r} +Dialogue: 0,0:00:22.90,0:00:23.50,Default,,0,0,0,,{\1c&HFF00&\u1}Excusez-moi,{\r} mais je crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:23.50,0:00:23.52,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:23.52,0:00:25.05,Default,,0,0,0,,Excusez-moi, {\1c&HFF00&\u1}mais{\r} je crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:25.05,0:00:25.07,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:25.07,0:00:25.13,Default,,0,0,0,,Excusez-moi, mais {\1c&HFF00&\u1}je{\r} crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:25.13,0:00:25.15,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:25.15,0:00:25.27,Default,,0,0,0,,Excusez-moi, mais je {\1c&HFF00&\u1}crois{\r} que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:25.27,0:00:25.29,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:25.29,0:00:25.35,Default,,0,0,0,,Excusez-moi, mais je crois {\1c&HFF00&\u1}que{\r} j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:25.35,0:00:25.37,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:25.37,0:00:25.43,Default,,0,0,0,,Excusez-moi, mais je crois que {\1c&HFF00&\u1}j'ai{\r} oublié mon sac chez vous. +Dialogue: 0,0:00:25.43,0:00:25.45,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:25.45,0:00:25.59,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai {\1c&HFF00&\u1}oublié{\r} mon sac chez vous. +Dialogue: 0,0:00:25.59,0:00:25.61,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:25.61,0:00:25.77,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié {\1c&HFF00&\u1}mon{\r} sac chez vous. +Dialogue: 0,0:00:25.77,0:00:25.79,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:25.79,0:00:25.95,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon {\1c&HFF00&\u1}sac{\r} chez vous. +Dialogue: 0,0:00:25.95,0:00:25.97,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:25.97,0:00:26.05,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon sac {\1c&HFF00&\u1}chez{\r} vous. +Dialogue: 0,0:00:26.05,0:00:26.07,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. +Dialogue: 0,0:00:26.07,0:00:26.19,Default,,0,0,0,,Excusez-moi, mais je crois que j'ai oublié mon sac chez {\1c&HFF00&\u1}vous.{\r} +Dialogue: 0,0:00:26.19,0:00:26.33,Default,,0,0,0,,{\1c&HFF00&\u1}Ça{\r} va? +Dialogue: 0,0:00:26.33,0:00:26.41,Default,,0,0,0,,Ça va? +Dialogue: 0,0:00:26.41,0:00:26.45,Default,,0,0,0,,Ça {\1c&HFF00&\u1}va?{\r} +Dialogue: 0,0:00:27.55,0:00:27.67,Default,,0,0,0,,{\1c&HFF00&\u1}Ça{\r} va? +Dialogue: 0,0:00:27.67,0:00:27.69,Default,,0,0,0,,Ça va? +Dialogue: 0,0:00:27.69,0:00:27.73,Default,,0,0,0,,Ça {\1c&HFF00&\u1}va?{\r} +Dialogue: 0,0:00:33.68,0:00:33.84,Default,,0,0,0,,{\1c&HFF00&\u1}Attendez.{\r} +Dialogue: 0,0:00:36.80,0:00:36.97,Default,,0,0,0,,{\1c&HFF00&\u1}Tout{\r} à l'heure, là, c'était vous. +Dialogue: 0,0:00:36.97,0:00:37.01,Default,,0,0,0,,Tout à l'heure, là, c'était vous. +Dialogue: 0,0:00:37.01,0:00:37.05,Default,,0,0,0,,Tout {\1c&HFF00&\u1}à{\r} l'heure, là, c'était vous. +Dialogue: 0,0:00:37.05,0:00:37.09,Default,,0,0,0,,Tout à l'heure, là, c'était vous. +Dialogue: 0,0:00:37.09,0:00:37.35,Default,,0,0,0,,Tout à {\1c&HFF00&\u1}l'heure,{\r} là, c'était vous. +Dialogue: 0,0:00:37.35,0:00:37.39,Default,,0,0,0,,Tout à l'heure, là, c'était vous. +Dialogue: 0,0:00:37.39,0:00:37.97,Default,,0,0,0,,Tout à l'heure, {\1c&HFF00&\u1}là,{\r} c'était vous. +Dialogue: 0,0:00:37.97,0:00:38.01,Default,,0,0,0,,Tout à l'heure, là, c'était vous. +Dialogue: 0,0:00:38.01,0:00:39.07,Default,,0,0,0,,Tout à l'heure, là, {\1c&HFF00&\u1}c'était{\r} vous. +Dialogue: 0,0:00:39.07,0:00:39.11,Default,,0,0,0,,Tout à l'heure, là, c'était vous. +Dialogue: 0,0:00:39.11,0:00:39.21,Default,,0,0,0,,Tout à l'heure, là, c'était {\1c&HFF00&\u1}vous.{\r} +Dialogue: 0,0:00:40.95,0:00:41.03,Default,,0,0,0,,{\1c&HFF00&\u1}Vous,{\r} pas... pas lui. Vous... +Dialogue: 0,0:00:41.03,0:00:41.07,Default,,0,0,0,,Vous, pas... pas lui. Vous... +Dialogue: 0,0:00:41.07,0:00:41.15,Default,,0,0,0,,Vous, {\1c&HFF00&\u1}pas...{\r} pas lui. Vous... +Dialogue: 0,0:00:41.15,0:00:41.17,Default,,0,0,0,,Vous, pas... pas lui. Vous... +Dialogue: 0,0:00:41.17,0:00:41.27,Default,,0,0,0,,Vous, pas... {\1c&HFF00&\u1}pas{\r} lui. Vous... +Dialogue: 0,0:00:41.27,0:00:41.29,Default,,0,0,0,,Vous, pas... pas lui. Vous... +Dialogue: 0,0:00:41.29,0:00:41.39,Default,,0,0,0,,Vous, pas... pas {\1c&HFF00&\u1}lui.{\r} Vous... +Dialogue: 0,0:00:41.39,0:00:41.43,Default,,0,0,0,,Vous, pas... pas lui. Vous... +Dialogue: 0,0:00:41.43,0:00:41.51,Default,,0,0,0,,Vous, pas... pas lui. {\1c&HFF00&\u1}Vous...{\r} +Dialogue: 0,0:00:44.19,0:00:44.35,Default,,0,0,0,,{\1c&HFF00&\u1}Vous{\r} avez tout à faire raison, M. Xanaquis. +Dialogue: 0,0:00:44.35,0:00:44.39,Default,,0,0,0,,Vous avez tout à faire raison, M. Xanaquis. +Dialogue: 0,0:00:44.39,0:00:44.59,Default,,0,0,0,,Vous {\1c&HFF00&\u1}avez{\r} tout à faire raison, M. Xanaquis. +Dialogue: 0,0:00:44.59,0:00:44.63,Default,,0,0,0,,Vous avez tout à faire raison, M. Xanaquis. +Dialogue: 0,0:00:44.63,0:00:44.79,Default,,0,0,0,,Vous avez {\1c&HFF00&\u1}tout{\r} à faire raison, M. Xanaquis. +Dialogue: 0,0:00:44.79,0:00:44.81,Default,,0,0,0,,Vous avez tout à faire raison, M. Xanaquis. +Dialogue: 0,0:00:44.81,0:00:44.83,Default,,0,0,0,,Vous avez tout {\1c&HFF00&\u1}à{\r} faire raison, M. Xanaquis. +Dialogue: 0,0:00:44.83,0:00:44.87,Default,,0,0,0,,Vous avez tout à faire raison, M. Xanaquis. +Dialogue: 0,0:00:44.87,0:00:45.03,Default,,0,0,0,,Vous avez tout à {\1c&HFF00&\u1}faire{\r} raison, M. Xanaquis. +Dialogue: 0,0:00:45.03,0:00:45.05,Default,,0,0,0,,Vous avez tout à faire raison, M. Xanaquis. +Dialogue: 0,0:00:45.05,0:00:45.37,Default,,0,0,0,,Vous avez tout à faire {\1c&HFF00&\u1}raison,{\r} M. Xanaquis. +Dialogue: 0,0:00:45.37,0:00:45.39,Default,,0,0,0,,Vous avez tout à faire raison, M. Xanaquis. +Dialogue: 0,0:00:45.39,0:00:45.61,Default,,0,0,0,,Vous avez tout à faire raison, {\1c&HFF00&\u1}M.{\r} Xanaquis. +Dialogue: 0,0:00:45.61,0:00:45.66,Default,,0,0,0,,Vous avez tout à faire raison, M. Xanaquis. +Dialogue: 0,0:00:45.66,0:00:46.12,Default,,0,0,0,,Vous avez tout à faire raison, M. {\1c&HFF00&\u1}Xanaquis.{\r} +Dialogue: 0,0:00:46.14,0:00:46.50,Default,,0,0,0,,{\1c&HFF00&\u1}Ah{\r} oui? +Dialogue: 0,0:00:46.50,0:00:46.54,Default,,0,0,0,,Ah oui? +Dialogue: 0,0:00:46.54,0:00:46.60,Default,,0,0,0,,Ah {\1c&HFF00&\u1}oui?{\r} +Dialogue: 0,0:00:46.81,0:00:47.13,Default,,0,0,0,,{\1c&HFF00&\u1}Malek{\r} est à l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:47.13,0:00:47.15,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:47.15,0:00:47.27,Default,,0,0,0,,Malek {\1c&HFF00&\u1}est{\r} à l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:47.27,0:00:47.31,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:47.31,0:00:47.37,Default,,0,0,0,,Malek est {\1c&HFF00&\u1}à{\r} l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:47.37,0:00:47.39,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:47.39,0:00:47.75,Default,,0,0,0,,Malek est à {\1c&HFF00&\u1}l'interne{\r} brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:47.75,0:00:47.79,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:47.79,0:00:48.07,Default,,0,0,0,,Malek est à l'interne {\1c&HFF00&\u1}brillant,{\r} qui apprend le métier avec moi. +Dialogue: 0,0:00:48.07,0:00:48.09,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:48.09,0:00:48.19,Default,,0,0,0,,Malek est à l'interne brillant, {\1c&HFF00&\u1}qui{\r} apprend le métier avec moi. +Dialogue: 0,0:00:48.19,0:00:48.23,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:48.23,0:00:48.41,Default,,0,0,0,,Malek est à l'interne brillant, qui {\1c&HFF00&\u1}apprend{\r} le métier avec moi. +Dialogue: 0,0:00:48.41,0:00:48.45,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:48.45,0:00:48.49,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend {\1c&HFF00&\u1}le{\r} métier avec moi. +Dialogue: 0,0:00:48.49,0:00:48.53,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:48.53,0:00:48.75,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le {\1c&HFF00&\u1}métier{\r} avec moi. +Dialogue: 0,0:00:48.75,0:00:48.77,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:48.77,0:00:48.97,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le métier {\1c&HFF00&\u1}avec{\r} moi. +Dialogue: 0,0:00:48.97,0:00:49.01,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le métier avec moi. +Dialogue: 0,0:00:49.01,0:00:49.09,Default,,0,0,0,,Malek est à l'interne brillant, qui apprend le métier avec {\1c&HFF00&\u1}moi.{\r} +Dialogue: 0,0:00:49.13,0:00:49.19,Default,,0,0,0,,{\1c&HFF00&\u1}Ah!{\r} +Dialogue: 0,0:00:50.64,0:00:50.76,Default,,0,0,0,,{\1c&HFF00&\u1}Bien.{\r} +Dialogue: 0,0:00:52.93,0:00:53.33,Default,,0,0,0,,{\1c&HFF00&\u1}Justement,{\r} y a la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:53.33,0:00:53.35,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:53.35,0:00:53.37,Default,,0,0,0,,Justement, {\1c&HFF00&\u1}y{\r} a la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:53.37,0:00:53.39,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:53.39,0:00:53.41,Default,,0,0,0,,Justement, y {\1c&HFF00&\u1}a{\r} la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:53.41,0:00:53.43,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:53.43,0:00:53.49,Default,,0,0,0,,Justement, y a {\1c&HFF00&\u1}la{\r} famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:53.49,0:00:53.53,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:53.53,0:00:53.85,Default,,0,0,0,,Justement, y a la {\1c&HFF00&\u1}famille{\r} Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:53.85,0:00:53.89,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:53.89,0:00:54.15,Default,,0,0,0,,Justement, y a la famille {\1c&HFF00&\u1}Boboune{\r} qui m'attend pour une consultation. +Dialogue: 0,0:00:54.15,0:00:54.17,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:54.17,0:00:54.27,Default,,0,0,0,,Justement, y a la famille Boboune {\1c&HFF00&\u1}qui{\r} m'attend pour une consultation. +Dialogue: 0,0:00:54.27,0:00:54.29,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:54.29,0:00:54.51,Default,,0,0,0,,Justement, y a la famille Boboune qui {\1c&HFF00&\u1}m'attend{\r} pour une consultation. +Dialogue: 0,0:00:54.51,0:00:54.53,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:54.53,0:00:54.65,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend {\1c&HFF00&\u1}pour{\r} une consultation. +Dialogue: 0,0:00:54.65,0:00:54.67,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:54.67,0:00:54.89,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend pour {\1c&HFF00&\u1}une{\r} consultation. +Dialogue: 0,0:00:54.89,0:00:54.93,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend pour une consultation. +Dialogue: 0,0:00:54.93,0:00:55.33,Default,,0,0,0,,Justement, y a la famille Boboune qui m'attend pour une {\1c&HFF00&\u1}consultation.{\r} +Dialogue: 0,0:00:55.58,0:00:55.64,Default,,0,0,0,,{\1c&HFF00&\u1}Qui?{\r} +Dialogue: 0,0:00:56.02,0:00:56.48,Default,,0,0,0,,{\1c&HFF00&\u1}Ne{\r} faisons pas attendre les baubounes, allez! +Dialogue: 0,0:00:56.48,0:00:56.52,Default,,0,0,0,,Ne faisons pas attendre les baubounes, allez! +Dialogue: 0,0:00:56.52,0:00:56.78,Default,,0,0,0,,Ne {\1c&HFF00&\u1}faisons{\r} pas attendre les baubounes, allez! +Dialogue: 0,0:00:56.78,0:00:56.82,Default,,0,0,0,,Ne faisons pas attendre les baubounes, allez! +Dialogue: 0,0:00:56.82,0:00:56.90,Default,,0,0,0,,Ne faisons {\1c&HFF00&\u1}pas{\r} attendre les baubounes, allez! +Dialogue: 0,0:00:56.90,0:00:56.92,Default,,0,0,0,,Ne faisons pas attendre les baubounes, allez! +Dialogue: 0,0:00:56.92,0:00:57.17,Default,,0,0,0,,Ne faisons pas {\1c&HFF00&\u1}attendre{\r} les baubounes, allez! +Dialogue: 0,0:00:57.17,0:00:57.19,Default,,0,0,0,,Ne faisons pas attendre les baubounes, allez! +Dialogue: 0,0:00:57.19,0:00:57.25,Default,,0,0,0,,Ne faisons pas attendre {\1c&HFF00&\u1}les{\r} baubounes, allez! +Dialogue: 0,0:00:57.25,0:00:57.27,Default,,0,0,0,,Ne faisons pas attendre les baubounes, allez! +Dialogue: 0,0:00:57.27,0:00:57.59,Default,,0,0,0,,Ne faisons pas attendre les {\1c&HFF00&\u1}baubounes,{\r} allez! +Dialogue: 0,0:00:57.59,0:00:57.61,Default,,0,0,0,,Ne faisons pas attendre les baubounes, allez! +Dialogue: 0,0:00:57.61,0:00:57.77,Default,,0,0,0,,Ne faisons pas attendre les baubounes, {\1c&HFF00&\u1}allez!{\r} \ No newline at end of file diff --git a/examples/whisperx/sample_fr_01.wav.srt b/examples/whisperx/sample_fr_01.wav.srt new file mode 100644 index 0000000..5ddfec6 --- /dev/null +++ b/examples/whisperx/sample_fr_01.wav.srt @@ -0,0 +1,108 @@ +1 +00:00:00,767 --> 00:00:01,312 +Lâchez, c'est bon. + +2 +00:00:01,312 --> 00:00:01,934 +Ça va? + +3 +00:00:01,974 --> 00:00:02,035 +Oui. + +4 +00:00:02,965 --> 00:00:03,508 +Merci beaucoup. + +5 +00:00:04,352 --> 00:00:05,035 +Chèque ou espèce? + +6 +00:00:06,537 --> 00:00:08,379 +J'ai un chèque sur la commode, il est signé. + +7 +00:00:08,379 --> 00:00:09,186 +Je vais le repirer. + +8 +00:00:09,206 --> 00:00:09,247 +Ok. + +9 +00:00:09,660 --> 00:00:09,781 +Ouh là! + +10 +00:00:10,640 --> 00:00:10,761 +Venez. + +11 +00:00:11,962 --> 00:00:12,445 +Merci. + +12 +00:00:12,660 --> 00:00:14,190 +Ah! C'est qui? + +13 +00:00:14,190 --> 00:00:22,500 +C'est pas vrai, qu'est-ce qu'il fout ici, ce con? + +14 +00:00:22,901 --> 00:00:26,194 +Excusez-moi, mais je crois que j'ai oublié mon sac chez vous. + +15 +00:00:26,194 --> 00:00:26,455 +Ça va? + +16 +00:00:27,546 --> 00:00:27,727 +Ça va? + +17 +00:00:33,680 --> 00:00:33,841 +Attendez. + +18 +00:00:36,805 --> 00:00:39,214 +Tout à l'heure, là, c'était vous. + +19 +00:00:40,945 --> 00:00:41,507 +Vous, pas... pas lui. Vous... + +20 +00:00:44,188 --> 00:00:46,117 +Vous avez tout à faire raison, M. Xanaquis. + +21 +00:00:46,138 --> 00:00:46,605 +Ah oui? + +22 +00:00:46,805 --> 00:00:49,094 +Malek est à l'interne brillant, qui apprend le métier avec moi. + +23 +00:00:49,134 --> 00:00:49,194 +Ah! + +24 +00:00:50,640 --> 00:00:50,761 +Bien. + +25 +00:00:52,925 --> 00:00:55,335 +Justement, y a la famille Boboune qui m'attend pour une consultation. + +26 +00:00:55,575 --> 00:00:55,635 +Qui? + +27 +00:00:56,021 --> 00:00:57,767 +Ne faisons pas attendre les baubounes, allez! + diff --git a/examples/whisperx/sample_it_01.wav.ass b/examples/whisperx/sample_it_01.wav.ass new file mode 100644 index 0000000..85ae574 --- /dev/null +++ b/examples/whisperx/sample_it_01.wav.ass @@ -0,0 +1,177 @@ +[Script Info] +ScriptType: v4.00+ +PlayResX: 384 +PlayResY: 288 +ScaledBorderAndShadow: yes + +[V4+ Styles] +Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding +Style: Default,Arial,24,&Hffffff,&Hffffff,&H0,&H0,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,0 + +[Events] +Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text + +Dialogue: 0,0:00:1.20,0:00:1.62,Default,,0,0,0,,{\1c&HFF00&\u1}Signore,{\r} è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:1.62,0:00:1.64,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:1.64,0:00:1.66,Default,,0,0,0,,Signore, {\1c&HFF00&\u1}è{\r} un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:1.66,0:00:1.72,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:1.72,0:00:2.12,Default,,0,0,0,,Signore, è {\1c&HFF00&\u1}un{\r} piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:2.12,0:00:2.18,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:2.18,0:00:2.72,Default,,0,0,0,,Signore, è un {\1c&HFF00&\u1}piacere,{\r} gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:2.72,0:00:3.33,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:3.33,0:00:3.45,Default,,0,0,0,,Signore, è un piacere, {\1c&HFF00&\u1}gli{\r} amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:3.45,0:00:3.49,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:3.49,0:00:3.79,Default,,0,0,0,,Signore, è un piacere, gli {\1c&HFF00&\u1}amici{\r} della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:3.79,0:00:3.83,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:3.83,0:00:4.01,Default,,0,0,0,,Signore, è un piacere, gli amici {\1c&HFF00&\u1}della{\r} vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:4.01,0:00:4.05,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:4.05,0:00:4.35,Default,,0,0,0,,Signore, è un piacere, gli amici della {\1c&HFF00&\u1}vedetta{\r} ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:4.35,0:00:4.39,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:4.39,0:00:4.79,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta {\1c&HFF00&\u1}ammirata{\r} da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:4.79,0:00:4.85,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:4.85,0:00:4.95,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata {\1c&HFF00&\u1}da{\r} tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:4.95,0:00:4.97,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:4.97,0:00:5.15,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da {\1c&HFF00&\u1}tutti{\r} noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:5.15,0:00:5.21,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:5.21,0:00:5.33,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti {\1c&HFF00&\u1}noi,{\r} questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:5.33,0:00:5.41,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:5.41,0:00:5.61,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, {\1c&HFF00&\u1}questa{\r} gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:5.61,0:00:5.79,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:5.79,0:00:6.07,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa {\1c&HFF00&\u1}gemma{\r} propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:6.07,0:00:6.13,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:6.13,0:00:6.51,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma {\1c&HFF00&\u1}propria{\r} della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:6.51,0:00:6.57,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:6.57,0:00:6.77,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria {\1c&HFF00&\u1}della{\r} nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:6.77,0:00:6.81,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:6.81,0:00:6.99,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della {\1c&HFF00&\u1}nostra{\r} cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:6.99,0:00:7.07,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:7.07,0:00:7.35,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra {\1c&HFF00&\u1}cultura,{\r} saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:7.35,0:00:7.41,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:7.41,0:00:7.73,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, {\1c&HFF00&\u1}saranno{\r} naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:7.73,0:00:7.87,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:7.87,0:00:8.47,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno {\1c&HFF00&\u1}naturalmente{\r} accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:8.47,0:00:8.55,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:8.55,0:00:8.85,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente {\1c&HFF00&\u1}accolti{\r} sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:8.85,0:00:8.91,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:8.91,0:00:9.07,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti {\1c&HFF00&\u1}sotto{\r} la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:9.07,0:00:9.13,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:9.13,0:00:9.19,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto {\1c&HFF00&\u1}la{\r} mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:9.19,0:00:9.23,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:9.23,0:00:9.33,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la {\1c&HFF00&\u1}mia{\r} protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:9.33,0:00:9.37,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:9.37,0:00:9.82,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia {\1c&HFF00&\u1}protezione{\r} per la durata del loro soggiorno. +Dialogue: 0,0:00:9.82,0:00:9.88,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:9.88,0:00:9.96,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione {\1c&HFF00&\u1}per{\r} la durata del loro soggiorno. +Dialogue: 0,0:00:9.96,0:00:10.02,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:10.02,0:00:10.08,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per {\1c&HFF00&\u1}la{\r} durata del loro soggiorno. +Dialogue: 0,0:00:10.08,0:00:10.12,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:10.12,0:00:10.44,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la {\1c&HFF00&\u1}durata{\r} del loro soggiorno. +Dialogue: 0,0:00:10.44,0:00:10.50,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:10.50,0:00:10.60,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata {\1c&HFF00&\u1}del{\r} loro soggiorno. +Dialogue: 0,0:00:10.60,0:00:10.62,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:10.62,0:00:10.78,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del {\1c&HFF00&\u1}loro{\r} soggiorno. +Dialogue: 0,0:00:10.78,0:00:10.86,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. +Dialogue: 0,0:00:10.86,0:00:11.30,Default,,0,0,0,,Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro {\1c&HFF00&\u1}soggiorno.{\r} +Dialogue: 0,0:00:13.00,0:00:13.12,Default,,0,0,0,,{\1c&HFF00&\u1}Grazie.{\r} +Dialogue: 0,0:00:15.60,0:00:17.89,Default,,0,0,0,,{\1c&HFF00&\u1}Gorlami?{\r} Lo pronuncio correttamente? +Dialogue: 0,0:00:17.89,0:00:18.75,Default,,0,0,0,,Gorlami? Lo pronuncio correttamente? +Dialogue: 0,0:00:18.75,0:00:18.83,Default,,0,0,0,,Gorlami? {\1c&HFF00&\u1}Lo{\r} pronuncio correttamente? +Dialogue: 0,0:00:18.83,0:00:18.87,Default,,0,0,0,,Gorlami? Lo pronuncio correttamente? +Dialogue: 0,0:00:18.87,0:00:19.31,Default,,0,0,0,,Gorlami? Lo {\1c&HFF00&\u1}pronuncio{\r} correttamente? +Dialogue: 0,0:00:19.31,0:00:19.37,Default,,0,0,0,,Gorlami? Lo pronuncio correttamente? +Dialogue: 0,0:00:19.37,0:00:19.87,Default,,0,0,0,,Gorlami? Lo pronuncio {\1c&HFF00&\u1}correttamente?{\r} +Dialogue: 0,0:00:21.58,0:00:21.74,Default,,0,0,0,,{\1c&HFF00&\u1}Sì,{\r} corretto. +Dialogue: 0,0:00:21.74,0:00:22.34,Default,,0,0,0,,Sì, corretto. +Dialogue: 0,0:00:22.34,0:00:22.72,Default,,0,0,0,,Sì, {\1c&HFF00&\u1}corretto.{\r} +Dialogue: 0,0:00:23.54,0:00:24.82,Default,,0,0,0,,{\1c&HFF00&\u1}Gorlami?{\r} Per cortesia, me lo ripeto ancora. +Dialogue: 0,0:00:24.82,0:00:25.45,Default,,0,0,0,,Gorlami? Per cortesia, me lo ripeto ancora. +Dialogue: 0,0:00:25.45,0:00:25.53,Default,,0,0,0,,Gorlami? {\1c&HFF00&\u1}Per{\r} cortesia, me lo ripeto ancora. +Dialogue: 0,0:00:25.53,0:00:25.61,Default,,0,0,0,,Gorlami? Per cortesia, me lo ripeto ancora. +Dialogue: 0,0:00:25.61,0:00:26.17,Default,,0,0,0,,Gorlami? Per {\1c&HFF00&\u1}cortesia,{\r} me lo ripeto ancora. +Dialogue: 0,0:00:26.17,0:00:26.39,Default,,0,0,0,,Gorlami? Per cortesia, me lo ripeto ancora. +Dialogue: 0,0:00:26.39,0:00:26.45,Default,,0,0,0,,Gorlami? Per cortesia, {\1c&HFF00&\u1}me{\r} lo ripeto ancora. +Dialogue: 0,0:00:26.45,0:00:26.49,Default,,0,0,0,,Gorlami? Per cortesia, me lo ripeto ancora. +Dialogue: 0,0:00:26.49,0:00:26.55,Default,,0,0,0,,Gorlami? Per cortesia, me {\1c&HFF00&\u1}lo{\r} ripeto ancora. +Dialogue: 0,0:00:26.55,0:00:26.61,Default,,0,0,0,,Gorlami? Per cortesia, me lo ripeto ancora. +Dialogue: 0,0:00:26.61,0:00:27.05,Default,,0,0,0,,Gorlami? Per cortesia, me lo {\1c&HFF00&\u1}ripeto{\r} ancora. +Dialogue: 0,0:00:27.05,0:00:27.11,Default,,0,0,0,,Gorlami? Per cortesia, me lo ripeto ancora. +Dialogue: 0,0:00:27.11,0:00:27.49,Default,,0,0,0,,Gorlami? Per cortesia, me lo ripeto {\1c&HFF00&\u1}ancora.{\r} +Dialogue: 0,0:00:27.55,0:00:28.79,Default,,0,0,0,,{\1c&HFF00&\u1}ancora{\r} gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:28.79,0:00:28.83,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:28.83,0:00:30.96,Default,,0,0,0,,ancora {\1c&HFF00&\u1}gourlami{\r} scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:30.96,0:00:31.02,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:31.02,0:00:31.36,Default,,0,0,0,,ancora gourlami {\1c&HFF00&\u1}scusi{\r} con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:31.36,0:00:31.46,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:31.46,0:00:31.66,Default,,0,0,0,,ancora gourlami scusi {\1c&HFF00&\u1}con{\r} me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:31.66,0:00:31.72,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:31.72,0:00:31.88,Default,,0,0,0,,ancora gourlami scusi con {\1c&HFF00&\u1}me{\r} gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:31.88,0:00:33.46,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:33.46,0:00:34.12,Default,,0,0,0,,ancora gourlami scusi con me {\1c&HFF00&\u1}gourlami{\r} ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:34.12,0:00:34.84,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:34.84,0:00:35.20,Default,,0,0,0,,ancora gourlami scusi con me gourlami {\1c&HFF00&\u1}ancora{\r} una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:35.20,0:00:35.32,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:35.32,0:00:35.44,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora {\1c&HFF00&\u1}una{\r} volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:35.44,0:00:35.48,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:35.48,0:00:35.82,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una {\1c&HFF00&\u1}volta{\r} gourlami e come si chiama lei antonio +Dialogue: 0,0:00:35.82,0:00:39.16,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:39.16,0:00:39.72,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta {\1c&HFF00&\u1}gourlami{\r} e come si chiama lei antonio +Dialogue: 0,0:00:39.72,0:00:40.96,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:40.96,0:00:41.14,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami {\1c&HFF00&\u1}e{\r} come si chiama lei antonio +Dialogue: 0,0:00:41.14,0:00:41.20,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:41.20,0:00:41.34,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e {\1c&HFF00&\u1}come{\r} si chiama lei antonio +Dialogue: 0,0:00:41.34,0:00:41.38,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:41.38,0:00:41.46,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come {\1c&HFF00&\u1}si{\r} chiama lei antonio +Dialogue: 0,0:00:41.46,0:00:41.50,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:41.50,0:00:41.70,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si {\1c&HFF00&\u1}chiama{\r} lei antonio +Dialogue: 0,0:00:41.70,0:00:41.80,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:41.80,0:00:42.06,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama {\1c&HFF00&\u1}lei{\r} antonio +Dialogue: 0,0:00:42.06,0:00:43.44,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio +Dialogue: 0,0:00:43.44,0:00:43.98,Default,,0,0,0,,ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei {\1c&HFF00&\u1}antonio{\r} +Dialogue: 0,0:00:44.36,0:00:45.14,Default,,0,0,0,,{\1c&HFF00&\u1}margarete{\r} ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:45.14,0:00:46.56,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:46.56,0:00:46.85,Default,,0,0,0,,margarete {\1c&HFF00&\u1}ancora{\r} margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:46.85,0:00:47.85,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:47.85,0:00:49.15,Default,,0,0,0,,margarete ancora {\1c&HFF00&\u1}margarete{\r} un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:49.15,0:00:49.43,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:49.43,0:00:49.85,Default,,0,0,0,,margarete ancora margarete {\1c&HFF00&\u1}un'altra{\r} volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:49.85,0:00:49.91,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:49.91,0:00:50.13,Default,,0,0,0,,margarete ancora margarete un'altra {\1c&HFF00&\u1}volta{\r} ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:50.13,0:00:50.19,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:50.19,0:00:50.37,Default,,0,0,0,,margarete ancora margarete un'altra volta {\1c&HFF00&\u1}ma{\r} adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:50.37,0:00:50.43,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:50.43,0:00:50.73,Default,,0,0,0,,margarete ancora margarete un'altra volta ma {\1c&HFF00&\u1}adesso{\r} vorrei proprio sentire la musica +Dialogue: 0,0:00:50.73,0:00:50.77,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:50.77,0:00:51.01,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso {\1c&HFF00&\u1}vorrei{\r} proprio sentire la musica +Dialogue: 0,0:00:51.01,0:00:51.05,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:51.05,0:00:51.29,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei {\1c&HFF00&\u1}proprio{\r} sentire la musica +Dialogue: 0,0:00:51.29,0:00:51.43,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:51.43,0:00:51.71,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio {\1c&HFF00&\u1}sentire{\r} la musica +Dialogue: 0,0:00:51.71,0:00:51.79,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:51.79,0:00:51.88,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire {\1c&HFF00&\u1}la{\r} musica +Dialogue: 0,0:00:51.88,0:00:51.92,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica +Dialogue: 0,0:00:51.92,0:00:52.36,Default,,0,0,0,,margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la {\1c&HFF00&\u1}musica{\r} +Dialogue: 0,0:00:52.36,0:00:52.40,Default,,0,0,0,,{\1c&HFF00&\u1}le{\r} parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:52.40,0:00:52.52,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:52.52,0:00:54.32,Default,,0,0,0,,le {\1c&HFF00&\u1}parole{\r} margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:54.32,0:00:54.40,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:54.40,0:00:56.40,Default,,0,0,0,,le parole {\1c&HFF00&\u1}margheriti{\r} margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:56.40,0:00:56.96,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:56.96,0:00:57.92,Default,,0,0,0,,le parole margheriti {\1c&HFF00&\u1}margheriti{\r} e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:57.92,0:00:58.53,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:58.53,0:00:58.59,Default,,0,0,0,,le parole margheriti margheriti {\1c&HFF00&\u1}e{\r} lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:58.59,0:00:58.65,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:58.65,0:00:58.97,Default,,0,0,0,,le parole margheriti margheriti e {\1c&HFF00&\u1}lei{\r} dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:58.97,0:00:59.59,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:59.59,0:00:59.91,Default,,0,0,0,,le parole margheriti margheriti e lei {\1c&HFF00&\u1}dominic{\r} decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:59.91,0:00:59.95,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:00:59.95,0:01:0.35,Default,,0,0,0,,le parole margheriti margheriti e lei dominic {\1c&HFF00&\u1}decoco{\r} come dominic decoco bravo bravo +Dialogue: 0,0:01:0.35,0:01:0.55,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:01:0.55,0:01:0.73,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco {\1c&HFF00&\u1}come{\r} dominic decoco bravo bravo +Dialogue: 0,0:01:0.73,0:01:1.25,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:01:1.25,0:01:1.57,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come {\1c&HFF00&\u1}dominic{\r} decoco bravo bravo +Dialogue: 0,0:01:1.57,0:01:1.61,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:01:1.61,0:01:2.01,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic {\1c&HFF00&\u1}decoco{\r} bravo bravo +Dialogue: 0,0:01:2.01,0:01:2.17,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:01:2.17,0:01:2.45,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco {\1c&HFF00&\u1}bravo{\r} bravo +Dialogue: 0,0:01:2.45,0:01:2.91,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo +Dialogue: 0,0:01:2.91,0:01:3.29,Default,,0,0,0,,le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo {\1c&HFF00&\u1}bravo{\r} \ No newline at end of file diff --git a/examples/whisperx/sample_it_01.wav.srt b/examples/whisperx/sample_it_01.wav.srt new file mode 100644 index 0000000..d64ce1c --- /dev/null +++ b/examples/whisperx/sample_it_01.wav.srt @@ -0,0 +1,32 @@ +1 +00:00:01,202 --> 00:00:11,297 +Signore, è un piacere, gli amici della vedetta ammirata da tutti noi, questa gemma propria della nostra cultura, saranno naturalmente accolti sotto la mia protezione per la durata del loro soggiorno. + +2 +00:00:13,000 --> 00:00:13,120 +Grazie. + +3 +00:00:15,602 --> 00:00:19,874 +Gorlami? Lo pronuncio correttamente? + +4 +00:00:21,576 --> 00:00:22,717 +Sì, corretto. + +5 +00:00:23,540 --> 00:00:27,495 +Gorlami? Per cortesia, me lo ripeto ancora. + +6 +00:00:27,555 --> 00:00:43,979 +ancora gourlami scusi con me gourlami ancora una volta gourlami e come si chiama lei antonio + +7 +00:00:44,360 --> 00:00:52,356 +margarete ancora margarete un'altra volta ma adesso vorrei proprio sentire la musica + +8 +00:00:52,356 --> 00:01:03,292 +le parole margheriti margheriti e lei dominic decoco come dominic decoco bravo bravo + diff --git a/whisperx/transcribe.py b/whisperx/transcribe.py index cb3f0ff..c915aca 100644 --- a/whisperx/transcribe.py +++ b/whisperx/transcribe.py @@ -284,14 +284,13 @@ def align( transcription = segment['text'].strip() t_words = transcription.split(' ') - t_words_clean = [''.join([w for w in word if w.upper() in model_dictionary.keys()]) for word in t_words] - t_words_clean = [''.join([w for w in word if w in model_dictionary.keys()]) for word in t_words] + t_words_clean = [''.join([w for w in word if w.lower() in model_dictionary.keys()]) for word in t_words] t_words_nonempty = [x for x in t_words_clean if x != ""] t_words_nonempty_idx = [x for x in range(len(t_words_clean)) if t_words_clean[x] != ""] segment['word-level'] = [] if len(t_words_nonempty) > 0: - transcription_cleaned = "|".join(t_words_nonempty).upper() + transcription_cleaned = "|".join(t_words_nonempty).lower() tokens = [model_dictionary[c] for c in transcription_cleaned] trellis = get_trellis(emission, tokens) path = backtrack(trellis, emission, tokens) @@ -404,12 +403,14 @@ def cli(): from . import load_model model = load_model(model_name, device=device, download_root=model_dir) - - bundle = torchaudio.pipelines.WAV2VEC2_ASR_LARGE_LV60K_960H - align_model = bundle.get_model().to(device) - labels = bundle.get_labels() - align_dictionary = {c: i for i, c in enumerate(labels)} - + if align_model in torchaudio.pipelines.__all__: + bundle = torchaudio.pipelines.__dict__[align_model] + align_model = bundle.get_model().to(device) + labels = bundle.get_labels() + align_dictionary = {c.lower(): i for i, c in enumerate(labels)} + else: + print(f'Align model "{align_model}" not found in torchaudio.pipelines, choose from:\n {torchaudio.pipelines.__all__}') + raise ValueError(f'Align model "{align_model}" not found in torchaudio.pipelines') for audio_path in args.pop("audio"): result = transcribe(model, audio_path, temperature=temperature, **args) result_aligned = align(result["segments"], align_model, align_dictionary, audio_path, device, diff --git a/whisperx/utils.py b/whisperx/utils.py index 856267d..e7c8c33 100644 --- a/whisperx/utils.py +++ b/whisperx/utils.py @@ -192,9 +192,10 @@ def write_ass(transcript: Iterator[dict], file: TextIO, for segment in transcript: curr_words = [wrd['text'] for wrd in segment['word-level']] prev = segment['word-level'][0]['start'] + if prev is None: + prev = 0 for wdx, word in enumerate(segment['word-level']): if word['start'] is not None: - # fill gap between previous word if word['start'] > prev: filler_ts = {