karaoke-gen 0.75.54__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of karaoke-gen might be problematic. Click here for more details.
- karaoke_gen/__init__.py +38 -0
- karaoke_gen/audio_fetcher.py +1614 -0
- karaoke_gen/audio_processor.py +790 -0
- karaoke_gen/config.py +83 -0
- karaoke_gen/file_handler.py +387 -0
- karaoke_gen/instrumental_review/__init__.py +45 -0
- karaoke_gen/instrumental_review/analyzer.py +408 -0
- karaoke_gen/instrumental_review/editor.py +322 -0
- karaoke_gen/instrumental_review/models.py +171 -0
- karaoke_gen/instrumental_review/server.py +475 -0
- karaoke_gen/instrumental_review/static/index.html +1529 -0
- karaoke_gen/instrumental_review/waveform.py +409 -0
- karaoke_gen/karaoke_finalise/__init__.py +1 -0
- karaoke_gen/karaoke_finalise/karaoke_finalise.py +1833 -0
- karaoke_gen/karaoke_gen.py +1026 -0
- karaoke_gen/lyrics_processor.py +474 -0
- karaoke_gen/metadata.py +160 -0
- karaoke_gen/pipeline/__init__.py +87 -0
- karaoke_gen/pipeline/base.py +215 -0
- karaoke_gen/pipeline/context.py +230 -0
- karaoke_gen/pipeline/executors/__init__.py +21 -0
- karaoke_gen/pipeline/executors/local.py +159 -0
- karaoke_gen/pipeline/executors/remote.py +257 -0
- karaoke_gen/pipeline/stages/__init__.py +27 -0
- karaoke_gen/pipeline/stages/finalize.py +202 -0
- karaoke_gen/pipeline/stages/render.py +165 -0
- karaoke_gen/pipeline/stages/screens.py +139 -0
- karaoke_gen/pipeline/stages/separation.py +191 -0
- karaoke_gen/pipeline/stages/transcription.py +191 -0
- karaoke_gen/resources/AvenirNext-Bold.ttf +0 -0
- karaoke_gen/resources/Montserrat-Bold.ttf +0 -0
- karaoke_gen/resources/Oswald-Bold.ttf +0 -0
- karaoke_gen/resources/Oswald-SemiBold.ttf +0 -0
- karaoke_gen/resources/Zurich_Cn_BT_Bold.ttf +0 -0
- karaoke_gen/style_loader.py +531 -0
- karaoke_gen/utils/__init__.py +18 -0
- karaoke_gen/utils/bulk_cli.py +492 -0
- karaoke_gen/utils/cli_args.py +432 -0
- karaoke_gen/utils/gen_cli.py +978 -0
- karaoke_gen/utils/remote_cli.py +3268 -0
- karaoke_gen/video_background_processor.py +351 -0
- karaoke_gen/video_generator.py +424 -0
- karaoke_gen-0.75.54.dist-info/METADATA +718 -0
- karaoke_gen-0.75.54.dist-info/RECORD +287 -0
- karaoke_gen-0.75.54.dist-info/WHEEL +4 -0
- karaoke_gen-0.75.54.dist-info/entry_points.txt +5 -0
- karaoke_gen-0.75.54.dist-info/licenses/LICENSE +21 -0
- lyrics_transcriber/__init__.py +10 -0
- lyrics_transcriber/cli/__init__.py +0 -0
- lyrics_transcriber/cli/cli_main.py +285 -0
- lyrics_transcriber/core/__init__.py +0 -0
- lyrics_transcriber/core/config.py +50 -0
- lyrics_transcriber/core/controller.py +594 -0
- lyrics_transcriber/correction/__init__.py +0 -0
- lyrics_transcriber/correction/agentic/__init__.py +9 -0
- lyrics_transcriber/correction/agentic/adapter.py +71 -0
- lyrics_transcriber/correction/agentic/agent.py +313 -0
- lyrics_transcriber/correction/agentic/feedback/aggregator.py +12 -0
- lyrics_transcriber/correction/agentic/feedback/collector.py +17 -0
- lyrics_transcriber/correction/agentic/feedback/retention.py +24 -0
- lyrics_transcriber/correction/agentic/feedback/store.py +76 -0
- lyrics_transcriber/correction/agentic/handlers/__init__.py +24 -0
- lyrics_transcriber/correction/agentic/handlers/ambiguous.py +44 -0
- lyrics_transcriber/correction/agentic/handlers/background_vocals.py +68 -0
- lyrics_transcriber/correction/agentic/handlers/base.py +51 -0
- lyrics_transcriber/correction/agentic/handlers/complex_multi_error.py +46 -0
- lyrics_transcriber/correction/agentic/handlers/extra_words.py +74 -0
- lyrics_transcriber/correction/agentic/handlers/no_error.py +42 -0
- lyrics_transcriber/correction/agentic/handlers/punctuation.py +44 -0
- lyrics_transcriber/correction/agentic/handlers/registry.py +60 -0
- lyrics_transcriber/correction/agentic/handlers/repeated_section.py +44 -0
- lyrics_transcriber/correction/agentic/handlers/sound_alike.py +126 -0
- lyrics_transcriber/correction/agentic/models/__init__.py +5 -0
- lyrics_transcriber/correction/agentic/models/ai_correction.py +31 -0
- lyrics_transcriber/correction/agentic/models/correction_session.py +30 -0
- lyrics_transcriber/correction/agentic/models/enums.py +38 -0
- lyrics_transcriber/correction/agentic/models/human_feedback.py +30 -0
- lyrics_transcriber/correction/agentic/models/learning_data.py +26 -0
- lyrics_transcriber/correction/agentic/models/observability_metrics.py +28 -0
- lyrics_transcriber/correction/agentic/models/schemas.py +46 -0
- lyrics_transcriber/correction/agentic/models/utils.py +19 -0
- lyrics_transcriber/correction/agentic/observability/__init__.py +5 -0
- lyrics_transcriber/correction/agentic/observability/langfuse_integration.py +35 -0
- lyrics_transcriber/correction/agentic/observability/metrics.py +46 -0
- lyrics_transcriber/correction/agentic/observability/performance.py +19 -0
- lyrics_transcriber/correction/agentic/prompts/__init__.py +2 -0
- lyrics_transcriber/correction/agentic/prompts/classifier.py +227 -0
- lyrics_transcriber/correction/agentic/providers/__init__.py +6 -0
- lyrics_transcriber/correction/agentic/providers/base.py +36 -0
- lyrics_transcriber/correction/agentic/providers/circuit_breaker.py +145 -0
- lyrics_transcriber/correction/agentic/providers/config.py +73 -0
- lyrics_transcriber/correction/agentic/providers/constants.py +24 -0
- lyrics_transcriber/correction/agentic/providers/health.py +28 -0
- lyrics_transcriber/correction/agentic/providers/langchain_bridge.py +212 -0
- lyrics_transcriber/correction/agentic/providers/model_factory.py +209 -0
- lyrics_transcriber/correction/agentic/providers/response_cache.py +218 -0
- lyrics_transcriber/correction/agentic/providers/response_parser.py +111 -0
- lyrics_transcriber/correction/agentic/providers/retry_executor.py +127 -0
- lyrics_transcriber/correction/agentic/router.py +35 -0
- lyrics_transcriber/correction/agentic/workflows/__init__.py +5 -0
- lyrics_transcriber/correction/agentic/workflows/consensus_workflow.py +24 -0
- lyrics_transcriber/correction/agentic/workflows/correction_graph.py +59 -0
- lyrics_transcriber/correction/agentic/workflows/feedback_workflow.py +24 -0
- lyrics_transcriber/correction/anchor_sequence.py +919 -0
- lyrics_transcriber/correction/corrector.py +760 -0
- lyrics_transcriber/correction/feedback/__init__.py +2 -0
- lyrics_transcriber/correction/feedback/schemas.py +107 -0
- lyrics_transcriber/correction/feedback/store.py +236 -0
- lyrics_transcriber/correction/handlers/__init__.py +0 -0
- lyrics_transcriber/correction/handlers/base.py +52 -0
- lyrics_transcriber/correction/handlers/extend_anchor.py +149 -0
- lyrics_transcriber/correction/handlers/levenshtein.py +189 -0
- lyrics_transcriber/correction/handlers/llm.py +293 -0
- lyrics_transcriber/correction/handlers/llm_providers.py +60 -0
- lyrics_transcriber/correction/handlers/no_space_punct_match.py +154 -0
- lyrics_transcriber/correction/handlers/relaxed_word_count_match.py +85 -0
- lyrics_transcriber/correction/handlers/repeat.py +88 -0
- lyrics_transcriber/correction/handlers/sound_alike.py +259 -0
- lyrics_transcriber/correction/handlers/syllables_match.py +252 -0
- lyrics_transcriber/correction/handlers/word_count_match.py +80 -0
- lyrics_transcriber/correction/handlers/word_operations.py +187 -0
- lyrics_transcriber/correction/operations.py +352 -0
- lyrics_transcriber/correction/phrase_analyzer.py +435 -0
- lyrics_transcriber/correction/text_utils.py +30 -0
- lyrics_transcriber/frontend/.gitignore +23 -0
- lyrics_transcriber/frontend/.yarn/releases/yarn-4.7.0.cjs +935 -0
- lyrics_transcriber/frontend/.yarnrc.yml +3 -0
- lyrics_transcriber/frontend/README.md +50 -0
- lyrics_transcriber/frontend/REPLACE_ALL_FUNCTIONALITY.md +210 -0
- lyrics_transcriber/frontend/__init__.py +25 -0
- lyrics_transcriber/frontend/eslint.config.js +28 -0
- lyrics_transcriber/frontend/index.html +18 -0
- lyrics_transcriber/frontend/package.json +42 -0
- lyrics_transcriber/frontend/public/android-chrome-192x192.png +0 -0
- lyrics_transcriber/frontend/public/android-chrome-512x512.png +0 -0
- lyrics_transcriber/frontend/public/apple-touch-icon.png +0 -0
- lyrics_transcriber/frontend/public/favicon-16x16.png +0 -0
- lyrics_transcriber/frontend/public/favicon-32x32.png +0 -0
- lyrics_transcriber/frontend/public/favicon.ico +0 -0
- lyrics_transcriber/frontend/public/nomad-karaoke-logo.png +0 -0
- lyrics_transcriber/frontend/src/App.tsx +214 -0
- lyrics_transcriber/frontend/src/api.ts +254 -0
- lyrics_transcriber/frontend/src/components/AIFeedbackModal.tsx +77 -0
- lyrics_transcriber/frontend/src/components/AddLyricsModal.tsx +114 -0
- lyrics_transcriber/frontend/src/components/AgenticCorrectionMetrics.tsx +204 -0
- lyrics_transcriber/frontend/src/components/AudioPlayer.tsx +180 -0
- lyrics_transcriber/frontend/src/components/CorrectedWordWithActions.tsx +167 -0
- lyrics_transcriber/frontend/src/components/CorrectionAnnotationModal.tsx +359 -0
- lyrics_transcriber/frontend/src/components/CorrectionDetailCard.tsx +281 -0
- lyrics_transcriber/frontend/src/components/CorrectionMetrics.tsx +162 -0
- lyrics_transcriber/frontend/src/components/DurationTimelineView.tsx +257 -0
- lyrics_transcriber/frontend/src/components/EditActionBar.tsx +68 -0
- lyrics_transcriber/frontend/src/components/EditModal.tsx +702 -0
- lyrics_transcriber/frontend/src/components/EditTimelineSection.tsx +496 -0
- lyrics_transcriber/frontend/src/components/EditWordList.tsx +379 -0
- lyrics_transcriber/frontend/src/components/FileUpload.tsx +77 -0
- lyrics_transcriber/frontend/src/components/FindReplaceModal.tsx +467 -0
- lyrics_transcriber/frontend/src/components/Header.tsx +413 -0
- lyrics_transcriber/frontend/src/components/LyricsAnalyzer.tsx +1387 -0
- lyrics_transcriber/frontend/src/components/LyricsSynchronizer/SyncControls.tsx +185 -0
- lyrics_transcriber/frontend/src/components/LyricsSynchronizer/TimelineCanvas.tsx +704 -0
- lyrics_transcriber/frontend/src/components/LyricsSynchronizer/UpcomingWordsBar.tsx +80 -0
- lyrics_transcriber/frontend/src/components/LyricsSynchronizer/index.tsx +905 -0
- lyrics_transcriber/frontend/src/components/MetricsDashboard.tsx +51 -0
- lyrics_transcriber/frontend/src/components/ModeSelectionModal.tsx +127 -0
- lyrics_transcriber/frontend/src/components/ModeSelector.tsx +67 -0
- lyrics_transcriber/frontend/src/components/ModelSelector.tsx +23 -0
- lyrics_transcriber/frontend/src/components/PreviewVideoSection.tsx +144 -0
- lyrics_transcriber/frontend/src/components/ReferenceView.tsx +268 -0
- lyrics_transcriber/frontend/src/components/ReplaceAllLyricsModal.tsx +336 -0
- lyrics_transcriber/frontend/src/components/ReviewChangesModal.tsx +354 -0
- lyrics_transcriber/frontend/src/components/SegmentDetailsModal.tsx +64 -0
- lyrics_transcriber/frontend/src/components/TimelineEditor.tsx +376 -0
- lyrics_transcriber/frontend/src/components/TimingOffsetModal.tsx +131 -0
- lyrics_transcriber/frontend/src/components/TranscriptionView.tsx +256 -0
- lyrics_transcriber/frontend/src/components/WordDivider.tsx +187 -0
- lyrics_transcriber/frontend/src/components/shared/components/HighlightedText.tsx +379 -0
- lyrics_transcriber/frontend/src/components/shared/components/SourceSelector.tsx +56 -0
- lyrics_transcriber/frontend/src/components/shared/components/Word.tsx +87 -0
- lyrics_transcriber/frontend/src/components/shared/constants.ts +20 -0
- lyrics_transcriber/frontend/src/components/shared/hooks/useWordClick.ts +180 -0
- lyrics_transcriber/frontend/src/components/shared/styles.ts +13 -0
- lyrics_transcriber/frontend/src/components/shared/types.js +2 -0
- lyrics_transcriber/frontend/src/components/shared/types.ts +129 -0
- lyrics_transcriber/frontend/src/components/shared/utils/keyboardHandlers.ts +177 -0
- lyrics_transcriber/frontend/src/components/shared/utils/localStorage.ts +78 -0
- lyrics_transcriber/frontend/src/components/shared/utils/referenceLineCalculator.ts +75 -0
- lyrics_transcriber/frontend/src/components/shared/utils/segmentOperations.ts +360 -0
- lyrics_transcriber/frontend/src/components/shared/utils/timingUtils.ts +110 -0
- lyrics_transcriber/frontend/src/components/shared/utils/wordUtils.ts +22 -0
- lyrics_transcriber/frontend/src/hooks/useManualSync.ts +435 -0
- lyrics_transcriber/frontend/src/main.tsx +17 -0
- lyrics_transcriber/frontend/src/theme.ts +177 -0
- lyrics_transcriber/frontend/src/types/global.d.ts +9 -0
- lyrics_transcriber/frontend/src/types.js +2 -0
- lyrics_transcriber/frontend/src/types.ts +199 -0
- lyrics_transcriber/frontend/src/validation.ts +132 -0
- lyrics_transcriber/frontend/src/vite-env.d.ts +1 -0
- lyrics_transcriber/frontend/tsconfig.app.json +26 -0
- lyrics_transcriber/frontend/tsconfig.json +25 -0
- lyrics_transcriber/frontend/tsconfig.node.json +23 -0
- lyrics_transcriber/frontend/tsconfig.tsbuildinfo +1 -0
- lyrics_transcriber/frontend/update_version.js +11 -0
- lyrics_transcriber/frontend/vite.config.d.ts +2 -0
- lyrics_transcriber/frontend/vite.config.js +10 -0
- lyrics_transcriber/frontend/vite.config.ts +11 -0
- lyrics_transcriber/frontend/web_assets/android-chrome-192x192.png +0 -0
- lyrics_transcriber/frontend/web_assets/android-chrome-512x512.png +0 -0
- lyrics_transcriber/frontend/web_assets/apple-touch-icon.png +0 -0
- lyrics_transcriber/frontend/web_assets/assets/index-BECn1o8Q.js +43288 -0
- lyrics_transcriber/frontend/web_assets/assets/index-BECn1o8Q.js.map +1 -0
- lyrics_transcriber/frontend/web_assets/favicon-16x16.png +0 -0
- lyrics_transcriber/frontend/web_assets/favicon-32x32.png +0 -0
- lyrics_transcriber/frontend/web_assets/favicon.ico +0 -0
- lyrics_transcriber/frontend/web_assets/index.html +18 -0
- lyrics_transcriber/frontend/web_assets/nomad-karaoke-logo.png +0 -0
- lyrics_transcriber/frontend/yarn.lock +3752 -0
- lyrics_transcriber/lyrics/__init__.py +0 -0
- lyrics_transcriber/lyrics/base_lyrics_provider.py +211 -0
- lyrics_transcriber/lyrics/file_provider.py +95 -0
- lyrics_transcriber/lyrics/genius.py +384 -0
- lyrics_transcriber/lyrics/lrclib.py +231 -0
- lyrics_transcriber/lyrics/musixmatch.py +156 -0
- lyrics_transcriber/lyrics/spotify.py +290 -0
- lyrics_transcriber/lyrics/user_input_provider.py +44 -0
- lyrics_transcriber/output/__init__.py +0 -0
- lyrics_transcriber/output/ass/__init__.py +21 -0
- lyrics_transcriber/output/ass/ass.py +2088 -0
- lyrics_transcriber/output/ass/ass_specs.txt +732 -0
- lyrics_transcriber/output/ass/config.py +180 -0
- lyrics_transcriber/output/ass/constants.py +23 -0
- lyrics_transcriber/output/ass/event.py +94 -0
- lyrics_transcriber/output/ass/formatters.py +132 -0
- lyrics_transcriber/output/ass/lyrics_line.py +265 -0
- lyrics_transcriber/output/ass/lyrics_screen.py +252 -0
- lyrics_transcriber/output/ass/section_detector.py +89 -0
- lyrics_transcriber/output/ass/section_screen.py +106 -0
- lyrics_transcriber/output/ass/style.py +187 -0
- lyrics_transcriber/output/cdg.py +619 -0
- lyrics_transcriber/output/cdgmaker/__init__.py +0 -0
- lyrics_transcriber/output/cdgmaker/cdg.py +262 -0
- lyrics_transcriber/output/cdgmaker/composer.py +2260 -0
- lyrics_transcriber/output/cdgmaker/config.py +151 -0
- lyrics_transcriber/output/cdgmaker/images/instrumental.png +0 -0
- lyrics_transcriber/output/cdgmaker/images/intro.png +0 -0
- lyrics_transcriber/output/cdgmaker/pack.py +507 -0
- lyrics_transcriber/output/cdgmaker/render.py +346 -0
- lyrics_transcriber/output/cdgmaker/transitions/centertexttoplogobottomtext.png +0 -0
- lyrics_transcriber/output/cdgmaker/transitions/circlein.png +0 -0
- lyrics_transcriber/output/cdgmaker/transitions/circleout.png +0 -0
- lyrics_transcriber/output/cdgmaker/transitions/fizzle.png +0 -0
- lyrics_transcriber/output/cdgmaker/transitions/largecentertexttoplogo.png +0 -0
- lyrics_transcriber/output/cdgmaker/transitions/rectangle.png +0 -0
- lyrics_transcriber/output/cdgmaker/transitions/spiral.png +0 -0
- lyrics_transcriber/output/cdgmaker/transitions/topleftmusicalnotes.png +0 -0
- lyrics_transcriber/output/cdgmaker/transitions/wipein.png +0 -0
- lyrics_transcriber/output/cdgmaker/transitions/wipeleft.png +0 -0
- lyrics_transcriber/output/cdgmaker/transitions/wipeout.png +0 -0
- lyrics_transcriber/output/cdgmaker/transitions/wiperight.png +0 -0
- lyrics_transcriber/output/cdgmaker/utils.py +132 -0
- lyrics_transcriber/output/countdown_processor.py +306 -0
- lyrics_transcriber/output/fonts/AvenirNext-Bold.ttf +0 -0
- lyrics_transcriber/output/fonts/DMSans-VariableFont_opsz,wght.ttf +0 -0
- lyrics_transcriber/output/fonts/DMSerifDisplay-Regular.ttf +0 -0
- lyrics_transcriber/output/fonts/Oswald-SemiBold.ttf +0 -0
- lyrics_transcriber/output/fonts/Zurich_Cn_BT_Bold.ttf +0 -0
- lyrics_transcriber/output/fonts/arial.ttf +0 -0
- lyrics_transcriber/output/fonts/georgia.ttf +0 -0
- lyrics_transcriber/output/fonts/verdana.ttf +0 -0
- lyrics_transcriber/output/generator.py +257 -0
- lyrics_transcriber/output/lrc_to_cdg.py +61 -0
- lyrics_transcriber/output/lyrics_file.py +102 -0
- lyrics_transcriber/output/plain_text.py +96 -0
- lyrics_transcriber/output/segment_resizer.py +431 -0
- lyrics_transcriber/output/subtitles.py +397 -0
- lyrics_transcriber/output/video.py +544 -0
- lyrics_transcriber/review/__init__.py +0 -0
- lyrics_transcriber/review/server.py +676 -0
- lyrics_transcriber/storage/__init__.py +0 -0
- lyrics_transcriber/storage/dropbox.py +225 -0
- lyrics_transcriber/transcribers/__init__.py +0 -0
- lyrics_transcriber/transcribers/audioshake.py +379 -0
- lyrics_transcriber/transcribers/base_transcriber.py +157 -0
- lyrics_transcriber/transcribers/whisper.py +330 -0
- lyrics_transcriber/types.py +650 -0
- lyrics_transcriber/utils/__init__.py +0 -0
- lyrics_transcriber/utils/word_utils.py +27 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
karaoke_gen/__init__.py,sha256=wHpDbURJxmJAMNZ0uQjISv5MIT7KD9RWYi15xlYgEhU,1351
|
|
2
|
+
karaoke_gen/audio_fetcher.py,sha256=A1c7HxUbV4inhGuj9SySr3zkOSGKfAFovXu2TKzodSA,63811
|
|
3
|
+
karaoke_gen/audio_processor.py,sha256=YCMsxh-OSzC6h1Oqht8gh48j4KaRDuRIMUUsNNQxJeY,39913
|
|
4
|
+
karaoke_gen/config.py,sha256=LBZKpvwSgta8YoVX2GFFW-4CP22AyRtqsBn-KCeh8eg,2499
|
|
5
|
+
karaoke_gen/file_handler.py,sha256=jnPc4kFtG-PX-IVPHYWa7maXd4lNmbkKd1HogDNzgN8,16674
|
|
6
|
+
karaoke_gen/instrumental_review/__init__.py,sha256=91K9wPWfQnOqbINuhxtErPnXyY0gijdiF-69n-p3334,1382
|
|
7
|
+
karaoke_gen/instrumental_review/analyzer.py,sha256=Heg8TbrwM4g5IV7bavmO6EfVD4M0UGMs_qUoZguU_OQ,15022
|
|
8
|
+
karaoke_gen/instrumental_review/editor.py,sha256=_DGTjKMk5WhoGtLGtTvHzU522LJyQQ_DSY1r8fULuiA,11568
|
|
9
|
+
karaoke_gen/instrumental_review/models.py,sha256=cUSb_JheJK0cGdKx9f59-9sRvRrhrgdTdKBzQN3lHto,5226
|
|
10
|
+
karaoke_gen/instrumental_review/server.py,sha256=Ick90X77t2EeMRwtx2U08sSybadQyWH7G0tDG-4JqP4,19377
|
|
11
|
+
karaoke_gen/instrumental_review/static/index.html,sha256=EjMFxCQJOUSrsgwIXAW3R4bN6hYxDLmL4MHzoXxI4f0,59362
|
|
12
|
+
karaoke_gen/instrumental_review/waveform.py,sha256=Q6LBPZrJAD6mzZ7TmRf3Tf4gwYhUYTHumJKytLs3hSg,12940
|
|
13
|
+
karaoke_gen/karaoke_finalise/__init__.py,sha256=HqZ7TIhgt_tYZ-nb_NNCaejWAcF_aK-7wJY5TaW_keM,46
|
|
14
|
+
karaoke_gen/karaoke_finalise/karaoke_finalise.py,sha256=Wn1KcdRyINT63UxKUPT9uB-bsrFVih0Im_cjXtequS0,93534
|
|
15
|
+
karaoke_gen/karaoke_gen.py,sha256=tfoywlSEI9qOi1krHTBafumXl3bcWxn6w0AN2vQ1nHs,57048
|
|
16
|
+
karaoke_gen/lyrics_processor.py,sha256=JrbTLmMR_jvcpuxsPihLXlCBKkFNKqYHvraw3_3KCPI,23263
|
|
17
|
+
karaoke_gen/metadata.py,sha256=SZW6TuUpkGGU98gRdjPfrR8F4vWXjnfCSGry2XD5_A4,6689
|
|
18
|
+
karaoke_gen/pipeline/__init__.py,sha256=-MZnba4qobr1qGDamG9CieLl2pWCZMEB5_Yur62RKeM,2106
|
|
19
|
+
karaoke_gen/pipeline/base.py,sha256=yg4LIm7Mc9ER0zCmZcUv4huEkotSSXK_0OAFio-TSNI,6235
|
|
20
|
+
karaoke_gen/pipeline/context.py,sha256=V_yIWahyMlMlmWolJGw2Ez9fulqfOJd5r4ZLMQMeJ7E,7827
|
|
21
|
+
karaoke_gen/pipeline/executors/__init__.py,sha256=TyGr8qCGZZdrBai1RZOQ69g6WxxUdrHLIB8HD5vlv0o,721
|
|
22
|
+
karaoke_gen/pipeline/executors/local.py,sha256=vs_ZU-ZEpY6pSzpfDozXyZDn1D3EwQJZSFBMUOpqx1c,5449
|
|
23
|
+
karaoke_gen/pipeline/executors/remote.py,sha256=TxgsOkSfltNyNK3RXZO3VZtFD_nYU68GTnEcWZcihnw,8500
|
|
24
|
+
karaoke_gen/pipeline/stages/__init__.py,sha256=jIzXE8nuprAmr8og_2og4uwktDzSmZbb-zr4zCXUc2I,950
|
|
25
|
+
karaoke_gen/pipeline/stages/finalize.py,sha256=9lzrAvmn7bh_RV8kEw5LlT0oP2IZKYqpUNAobGCDoBs,7777
|
|
26
|
+
karaoke_gen/pipeline/stages/render.py,sha256=nEL5UXIzR54Kd5rMqmoYAQevWYZIQ8ZkeJggeIpm14I,5691
|
|
27
|
+
karaoke_gen/pipeline/stages/screens.py,sha256=5CCujc7LsY2qrsg7jtmIC2HhaFMSDo85FfFSqjTEERg,4668
|
|
28
|
+
karaoke_gen/pipeline/stages/separation.py,sha256=x2H5RLGPMWptWzKnqEONLaH4RH9qPpKWYeIfHfFmCsE,7212
|
|
29
|
+
karaoke_gen/pipeline/stages/transcription.py,sha256=iPP8QWbwXVGES-L08oPqHzk8-U1VYLzEf3tVdMsOxI4,7546
|
|
30
|
+
karaoke_gen/resources/AvenirNext-Bold.ttf,sha256=YxgKz2OP46lwLPCpIZhVa8COi_9KRDSXw4n8dIHHQSs,327048
|
|
31
|
+
karaoke_gen/resources/Montserrat-Bold.ttf,sha256=mLFIaBDC7M-qF9RhCoPBJ5TAeY716etBrqA4eUKSoYc,198120
|
|
32
|
+
karaoke_gen/resources/Oswald-Bold.ttf,sha256=S_2mLpNkBsDTe8FQRzrj1Qr-wloGETMJgoAcSKdi1lw,87604
|
|
33
|
+
karaoke_gen/resources/Oswald-SemiBold.ttf,sha256=G-vSJeeyEVft7D4s7FZQtGfXAViWPjzGCImV2a4u9d8,87608
|
|
34
|
+
karaoke_gen/resources/Zurich_Cn_BT_Bold.ttf,sha256=WNG5LOQ-uGUF_WWT5aQHzVbyWvQqGO5sZ4E-nRmvPuI,37780
|
|
35
|
+
karaoke_gen/style_loader.py,sha256=13010BVxwVgamRn8K8Z9fNgLBdPs9LFmWMRMLyBdits,17908
|
|
36
|
+
karaoke_gen/utils/__init__.py,sha256=FpOHyeBRB06f3zMoLBUJHTDZACrabg-DoyBTxNKYyNY,722
|
|
37
|
+
karaoke_gen/utils/bulk_cli.py,sha256=s2SXTnnQf7TM8Fk8yz9Cfd3Xl08uHBnve_rTkf4wE5g,19337
|
|
38
|
+
karaoke_gen/utils/cli_args.py,sha256=Td8fE1FisY1fcQuOoKlAQ6B3NF4bxGvSPDaQlpfY3T0,18172
|
|
39
|
+
karaoke_gen/utils/gen_cli.py,sha256=ahoVp_n298O8yUmFOBDsm4mLXgTuEb80mBnz4_mo4SM,44137
|
|
40
|
+
karaoke_gen/utils/remote_cli.py,sha256=l1iHUz_hrsbAfTvGDhA4gzr2g1CFBFc9np0nQ1jk1tQ,144629
|
|
41
|
+
karaoke_gen/video_background_processor.py,sha256=p3sryMxmkori4Uy2MYgmlk5_QQ7Uh9IoVJLAdkdLIUI,15124
|
|
42
|
+
karaoke_gen/video_generator.py,sha256=B7BQBrjkyvk3L3sctnPXnvr1rzkw0NYx5UCAl0ZiVx0,18464
|
|
43
|
+
lyrics_transcriber/__init__.py,sha256=g9ZbJg9U1qo7XzrC25J3bTKcNzzwUJWDVdi_7-hjcM4,412
|
|
44
|
+
lyrics_transcriber/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
|
+
lyrics_transcriber/cli/cli_main.py,sha256=F72ENLTj934bXjHAUbRm0toCK73qnuJhwEm9agBVKHQ,11596
|
|
46
|
+
lyrics_transcriber/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
+
lyrics_transcriber/core/config.py,sha256=AM6RZKll8tzdZtMLgvHRQb1SxiXVPek0q4vmSWVUvEo,1368
|
|
48
|
+
lyrics_transcriber/core/controller.py,sha256=laeUakqT-0CoIyoBWYvv7kWxX-_wefWRwg2xrz84gRg,29432
|
|
49
|
+
lyrics_transcriber/correction/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
|
+
lyrics_transcriber/correction/agentic/__init__.py,sha256=p7PHiebuvRs8RDlPDs-9gLZKzXG5KfWg3fFCdDhY6pE,222
|
|
51
|
+
lyrics_transcriber/correction/agentic/adapter.py,sha256=Z0JBTAA7xlSdctCHqO9nBMl78C4XmqsLKKtS6BvNZNI,2912
|
|
52
|
+
lyrics_transcriber/correction/agentic/agent.py,sha256=KZjAKaxv6HXkNFNGDc-hXM7He3ew5kp9Q_OR43SrfJo,12310
|
|
53
|
+
lyrics_transcriber/correction/agentic/feedback/aggregator.py,sha256=323t8LDbE26ni83woyN7uVMSuSQhnqTgwJc-d-KuDbs,273
|
|
54
|
+
lyrics_transcriber/correction/agentic/feedback/collector.py,sha256=HT-2cAP_bx7Iv-0-tpZv534do111g0FlTUt2XaKoUtA,415
|
|
55
|
+
lyrics_transcriber/correction/agentic/feedback/retention.py,sha256=dUCUsKPCzHVQxiLLBXcdfAZ5NqiG25go0Z6GFXeK0vY,881
|
|
56
|
+
lyrics_transcriber/correction/agentic/feedback/store.py,sha256=u0F_6vmZlQq-Y8LiER2Xbw1q9rh3SJF4bfBnNs-Mkc4,2653
|
|
57
|
+
lyrics_transcriber/correction/agentic/handlers/__init__.py,sha256=QWs0MM5Efpca2T1fotWCYvCbW3aq-UIWsjB4Vat1o2I,707
|
|
58
|
+
lyrics_transcriber/correction/agentic/handlers/ambiguous.py,sha256=O0XEYvx0eALZ4_zNAOhVhr1DchEhms9TTKdE0xUBplU,1415
|
|
59
|
+
lyrics_transcriber/correction/agentic/handlers/background_vocals.py,sha256=OMfHm0vsb17yndjsrNYdPY_jXbtrLyPo-yo8KIceUJ8,2452
|
|
60
|
+
lyrics_transcriber/correction/agentic/handlers/base.py,sha256=rfKuVfH2bbDgPxRZ9J3NArqrdFrmURXJcY722BiN7z0,1601
|
|
61
|
+
lyrics_transcriber/correction/agentic/handlers/complex_multi_error.py,sha256=n_pxXpIz-n7qILdr3Hhn9OAE9a8CZSVbJIBP_mcQH9M,1534
|
|
62
|
+
lyrics_transcriber/correction/agentic/handlers/extra_words.py,sha256=beKN0iTnykVsJIlxMzr5d_Bgx-draFP6GYVqFIfvXaY,2735
|
|
63
|
+
lyrics_transcriber/correction/agentic/handlers/no_error.py,sha256=HQBQmvRFhvGDii4d2XMXFFUvzViz0gJLo5mCDushe9M,1322
|
|
64
|
+
lyrics_transcriber/correction/agentic/handlers/punctuation.py,sha256=1goWTJwYXFn4p_h5GxYGj2MvMJbUrrd8fltpYSZ3Ouc,1422
|
|
65
|
+
lyrics_transcriber/correction/agentic/handlers/registry.py,sha256=Z5wI2pYL0E_Z6OR3mWReSOaeTg8dExP7e9cP883YhSw,2178
|
|
66
|
+
lyrics_transcriber/correction/agentic/handlers/repeated_section.py,sha256=PwmrO_lahcoIJ3qei20uuqZrs8z1ixcouC73u78iCD8,1486
|
|
67
|
+
lyrics_transcriber/correction/agentic/handlers/sound_alike.py,sha256=BUly5bLZm5J41ooKFJrvceOxpOhMbjqDFJ9GmmKpX0g,4946
|
|
68
|
+
lyrics_transcriber/correction/agentic/models/__init__.py,sha256=d740hnUYUQXrfyorW5AXt91r7KtTtP5BhEEW4fRvPjo,93
|
|
69
|
+
lyrics_transcriber/correction/agentic/models/ai_correction.py,sha256=UrK6tV7RPRtl2lPGkqpD1ETndQxF4T5K356tIIB4dn4,845
|
|
70
|
+
lyrics_transcriber/correction/agentic/models/correction_session.py,sha256=RDuMAB3dxjz21sT6Fn-Nn80LBizXBlrA_6CbFKb7VsU,935
|
|
71
|
+
lyrics_transcriber/correction/agentic/models/enums.py,sha256=ai4FmzhJb9IzP4cImRsBpHHD27WgfeD8QIjlVDHyTq4,895
|
|
72
|
+
lyrics_transcriber/correction/agentic/models/human_feedback.py,sha256=dJHVU_ZAOmqKZqm8aBs63WuD97N1f1Iwx5acSTneE7E,955
|
|
73
|
+
lyrics_transcriber/correction/agentic/models/learning_data.py,sha256=4-C7TGKxhppN9sNwk0702bMP42L8V_MLX_90hmxmcX4,836
|
|
74
|
+
lyrics_transcriber/correction/agentic/models/observability_metrics.py,sha256=xGdOxPdqz74zPzl8bIpQRE2x8lEoSRBVBh8giQ106d8,924
|
|
75
|
+
lyrics_transcriber/correction/agentic/models/schemas.py,sha256=skWXqGkJnv9NvmvjktBqrH_4Ohyzg2x0ZMsVINbXKdg,2141
|
|
76
|
+
lyrics_transcriber/correction/agentic/models/utils.py,sha256=tX7flxCB4aLrgZWkHuEt7Gr8kaLkMsXzTdWSec6Xsts,580
|
|
77
|
+
lyrics_transcriber/correction/agentic/observability/__init__.py,sha256=RuaepVsltWdaF1aF_YmNVJTJ6_bbNDFo3Sp-ruBvyHA,85
|
|
78
|
+
lyrics_transcriber/correction/agentic/observability/langfuse_integration.py,sha256=GvgisZyy5_tDeC7Hd8SDWbd-9aAqYnMTd52uNeQ2p-I,1221
|
|
79
|
+
lyrics_transcriber/correction/agentic/observability/metrics.py,sha256=Js_m6ljdI6Xgd9X9eHtboCsf9gjYsN1zOv3_XSwjgKk,1907
|
|
80
|
+
lyrics_transcriber/correction/agentic/observability/performance.py,sha256=ekjzgL65gfs1SpKR_befu1wdWZU9xDlcafJm8htSvks,328
|
|
81
|
+
lyrics_transcriber/correction/agentic/prompts/__init__.py,sha256=YPgEN82oygmT_pfIj2RpZM-WOLoFv6rBAPKeIRstXuI,48
|
|
82
|
+
lyrics_transcriber/correction/agentic/prompts/classifier.py,sha256=pKbL4Cyj0-c_Ot9IxfKBOL7PnL0ZfUvKPLZwOMr-NDo,9730
|
|
83
|
+
lyrics_transcriber/correction/agentic/providers/__init__.py,sha256=PS7C4sKDfa6S9lSo33GXIRamCLsv0Jn7u0GtXuhiRD4,95
|
|
84
|
+
lyrics_transcriber/correction/agentic/providers/base.py,sha256=bExuntMLLInMmWWNzN81_ScWQJhNYbtlF3wZYhlX-qw,1059
|
|
85
|
+
lyrics_transcriber/correction/agentic/providers/circuit_breaker.py,sha256=D3Jg4YHqvy4gzlxfkALa7PztyYQpJb8NwJAonMS0TSI,4694
|
|
86
|
+
lyrics_transcriber/correction/agentic/providers/config.py,sha256=FsX1xIF1UG_Kbxp4tlEnZc68AsRTL4Q4XenP_VuRi6o,2937
|
|
87
|
+
lyrics_transcriber/correction/agentic/providers/constants.py,sha256=aDIEsDvNQLEGlGk8klAaRxJmdldGBDFqwYLuCmlYoNM,692
|
|
88
|
+
lyrics_transcriber/correction/agentic/providers/health.py,sha256=F8pHY5BQYvylGRDGXUHplcAJooAyiqVLRhBl4kHC1H8,710
|
|
89
|
+
lyrics_transcriber/correction/agentic/providers/langchain_bridge.py,sha256=hderNRLrSZn49LrGBrgdCvBP5E7tPAugjaw7TFbb0JY,7957
|
|
90
|
+
lyrics_transcriber/correction/agentic/providers/model_factory.py,sha256=ITPc7BLIhtHKzobERl0P7YsmunOquqbaJ_M5tinztx4,7667
|
|
91
|
+
lyrics_transcriber/correction/agentic/providers/response_cache.py,sha256=Byr7fQJsgUMFlsvHeVCxTiFjjnbsg3KIlEmEEtAo-Gw,7047
|
|
92
|
+
lyrics_transcriber/correction/agentic/providers/response_parser.py,sha256=a8pdUYKBS5X72gck3u1ndFYB__UN0UijAdxNhbHp8ZQ,3809
|
|
93
|
+
lyrics_transcriber/correction/agentic/providers/retry_executor.py,sha256=hX21Zwy2cSECAw7k13ndEinWRqwjo4xYoSCQ2B2CUf0,3912
|
|
94
|
+
lyrics_transcriber/correction/agentic/router.py,sha256=pk4xeS-BZLGJMdFj7Q7MjNaqYJF_glI590z9Alg15co,1229
|
|
95
|
+
lyrics_transcriber/correction/agentic/workflows/__init__.py,sha256=OsBExAbIIKxJgX6FKXFOgcUjIG9AWJQV_fESZVdO8mo,77
|
|
96
|
+
lyrics_transcriber/correction/agentic/workflows/consensus_workflow.py,sha256=gMuLTUxkgYaciMsI4yrZSC3wi--7V_PgaDNE-Vd6FE8,575
|
|
97
|
+
lyrics_transcriber/correction/agentic/workflows/correction_graph.py,sha256=kgZKnz0h9cG1EfhW7BSSl-kSpQtJrRM_S86kAniXfE4,1815
|
|
98
|
+
lyrics_transcriber/correction/agentic/workflows/feedback_workflow.py,sha256=KsKLD3AP66YYmXfUn-mVZjERYLtU1Zs4a-7CB2zDfas,596
|
|
99
|
+
lyrics_transcriber/correction/anchor_sequence.py,sha256=5tl4Cjiw5UlLbEb1Oy-g3ebKCinXSwohdaCB9-rTMtI,43798
|
|
100
|
+
lyrics_transcriber/correction/corrector.py,sha256=e8N7Yys6MCmz8PbHkkl7KuxH1m3MWlH1vwCa1r3YcqA,40223
|
|
101
|
+
lyrics_transcriber/correction/feedback/__init__.py,sha256=i1gd0Vb4qvlzZQ3lqA3fJjt288YP7f-MBPwOzZ7Rjh4,68
|
|
102
|
+
lyrics_transcriber/correction/feedback/schemas.py,sha256=OiF_WUqcqiEKIoburYM8kWAIundy82PQE7ImsdP8UCk,4416
|
|
103
|
+
lyrics_transcriber/correction/feedback/store.py,sha256=T4IDzf1eRA9n-wdLLrLyAW1ELYgXwK9RikJgX_B3fN8,8788
|
|
104
|
+
lyrics_transcriber/correction/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
105
|
+
lyrics_transcriber/correction/handlers/base.py,sha256=ZXYMFgbCmlD62dpqdFwFPlcePdHKEFrABffnG_Mu5mI,1687
|
|
106
|
+
lyrics_transcriber/correction/handlers/extend_anchor.py,sha256=IADgdPmEMokUQhh6mP-wQWLYf6GfWTvJbBjOk08A-aw,6384
|
|
107
|
+
lyrics_transcriber/correction/handlers/levenshtein.py,sha256=hMERQHVgiUDSHtamYrAjqZ3qMMok4VmQ_MYM2-nrX6w,7864
|
|
108
|
+
lyrics_transcriber/correction/handlers/llm.py,sha256=ufqHtohdU5dUXE3DikzbloAWGVgMu1wnw6P4WHRmpdk,14580
|
|
109
|
+
lyrics_transcriber/correction/handlers/llm_providers.py,sha256=MV-KCRseccg-DEimMS0D2bXJ2xhy59r2n8UZjICUoEY,2067
|
|
110
|
+
lyrics_transcriber/correction/handlers/no_space_punct_match.py,sha256=jY2fa547Qc8B63xIhF9VyWMaq5jds6E6wBqyVq6KANw,7057
|
|
111
|
+
lyrics_transcriber/correction/handlers/relaxed_word_count_match.py,sha256=x4k__6gav4-STk_TycLcg5Sw4x2vUFAj5fWmOv7Yd_w,3911
|
|
112
|
+
lyrics_transcriber/correction/handlers/repeat.py,sha256=1PJADW44egYh7N9D2fN-gDIusWVglFjGHrCZuTQYNpA,4313
|
|
113
|
+
lyrics_transcriber/correction/handlers/sound_alike.py,sha256=75IvDSfoGUG2xVbYp-xsYuQXf7Jo-0ymsTzdBSOrwwQ,11935
|
|
114
|
+
lyrics_transcriber/correction/handlers/syllables_match.py,sha256=c9_hrJb_xkkqd2SuDjrsSmUF7OMYV65LRzBfAhCHxEY,11217
|
|
115
|
+
lyrics_transcriber/correction/handlers/word_count_match.py,sha256=OltTEs6eYnslxdvak97M5gXDiqXJxMHKk__Q9F_akXc,3595
|
|
116
|
+
lyrics_transcriber/correction/handlers/word_operations.py,sha256=410xhyO9tiqezV5yd5JKwKbxSGwXK9LWHJ7-zNIuOWA,7423
|
|
117
|
+
lyrics_transcriber/correction/operations.py,sha256=k5N8w_8BeR7CXiclaJ3zuu_g2KLoWSnnuD4OAmY3kJs,14010
|
|
118
|
+
lyrics_transcriber/correction/phrase_analyzer.py,sha256=dtO_2LjxnPdHJM7De40mYIdHCkozwhizVVQp5XGO7x0,16962
|
|
119
|
+
lyrics_transcriber/correction/text_utils.py,sha256=7QHK6-PY7Rx1G1E31sWiLBw00mHorRDo-M44KMHFaZs,833
|
|
120
|
+
lyrics_transcriber/frontend/.gitignore,sha256=lgGIPiVpFVUNSZl9oNQLelLOWUzpF7sikLW8xmsrrqI,248
|
|
121
|
+
lyrics_transcriber/frontend/.yarn/releases/yarn-4.7.0.cjs,sha256=KTYy2KCV2OpHhussV5jIPDdUSr7RftMRhqPsRUmgfAY,2765465
|
|
122
|
+
lyrics_transcriber/frontend/.yarnrc.yml,sha256=0hZQ1OTcPqTUNBqQeme4VFkIzrsabHNzLtc_M-wSgIM,66
|
|
123
|
+
lyrics_transcriber/frontend/README.md,sha256=-D6CAfKTT7Y0V3EjlZ2fMy7fyctFQ4x2TJ9vx6xtccM,1607
|
|
124
|
+
lyrics_transcriber/frontend/REPLACE_ALL_FUNCTIONALITY.md,sha256=iRZbicW5satHel9gbG-uLyZ7oq3xdp87KQlJEL1ZhK8,8384
|
|
125
|
+
lyrics_transcriber/frontend/__init__.py,sha256=nW8acRSWTjXoRwGqcTU4w-__X7tMAE0iXL0uihBN3CU,836
|
|
126
|
+
lyrics_transcriber/frontend/eslint.config.js,sha256=3ADH23ANA4NNBKFy6nCVk65e8bx1DrVd_FIaYNnhuqA,734
|
|
127
|
+
lyrics_transcriber/frontend/index.html,sha256=u1m7042a1kLWZVIElYQ9y-lzfIAdYJGtQE-i4Zjc3xY,806
|
|
128
|
+
lyrics_transcriber/frontend/package.json,sha256=5krvXBc9deVYXREN9Pxw5N6ohiAsSCnPXnXlcb6p-U0,1182
|
|
129
|
+
lyrics_transcriber/frontend/public/android-chrome-192x192.png,sha256=lg-6aPF5mGLiuG7LyftZk_0RI41srmpA8wj-NkaaQms,17632
|
|
130
|
+
lyrics_transcriber/frontend/public/android-chrome-512x512.png,sha256=x-zuKT3NYsTqAWzhKRTZeD4-0uYoUjqMPZpKTChqNJ8,123447
|
|
131
|
+
lyrics_transcriber/frontend/public/apple-touch-icon.png,sha256=6y5vGra54w5oc8VP6sn2JjoQtN9hWTKn0YPhmdlmfU0,16188
|
|
132
|
+
lyrics_transcriber/frontend/public/favicon-16x16.png,sha256=2wy_7ZmVS4d7umByJVHQ37DBB_8xrU9xfT1_konSXQI,604
|
|
133
|
+
lyrics_transcriber/frontend/public/favicon-32x32.png,sha256=6TyrRMIw6G8dpG4_QWVTY8DMxo0bIGzc_9aOJrkiJKM,1297
|
|
134
|
+
lyrics_transcriber/frontend/public/favicon.ico,sha256=ZK7QvdBuZp0QxPkluCW4IKxfleFmFLp1KkG_d5xmx7E,15406
|
|
135
|
+
lyrics_transcriber/frontend/public/nomad-karaoke-logo.png,sha256=jTTBFXV6hGJGolZYQ-dIjgQQbMsehk5XGtsllhLrdzg,212641
|
|
136
|
+
lyrics_transcriber/frontend/src/App.tsx,sha256=XI93-pX2p76ID45XUQTitDclUZHZ1kxhZZB2VriMV8k,6747
|
|
137
|
+
lyrics_transcriber/frontend/src/api.ts,sha256=GcjbOrlU7EdUpZ7MUPFqE1rtH-ckdw8wHtgyQxWateY,8648
|
|
138
|
+
lyrics_transcriber/frontend/src/components/AIFeedbackModal.tsx,sha256=N-M8LNKE3nCjrSkWTf8ObWSdBqD0Cv3Xiz_wVv9OtFo,3133
|
|
139
|
+
lyrics_transcriber/frontend/src/components/AddLyricsModal.tsx,sha256=ubJwQewryjUrXwpBkITQNu4POhoUtDbNA93cqa-yJKY,3416
|
|
140
|
+
lyrics_transcriber/frontend/src/components/AgenticCorrectionMetrics.tsx,sha256=Yg6FG0LtrneRfAYeBu3crt_RdN-_o7FojtYhDMDKi0o,8595
|
|
141
|
+
lyrics_transcriber/frontend/src/components/AudioPlayer.tsx,sha256=XOCz0VtGiAIBs1qnCwrAixwfgHbTSGpjEb1jQg8wqzc,5441
|
|
142
|
+
lyrics_transcriber/frontend/src/components/CorrectedWordWithActions.tsx,sha256=4FK9vqjTMxnwlqxZ2E349H1S-X6SqLAYfj5U5AyuGtI,4764
|
|
143
|
+
lyrics_transcriber/frontend/src/components/CorrectionAnnotationModal.tsx,sha256=XtF5XNLL2ztm714tXql7rKi2BX4k_bsizpZ_ZCvpu8s,13368
|
|
144
|
+
lyrics_transcriber/frontend/src/components/CorrectionDetailCard.tsx,sha256=Hp-i1iSB3pzrpPH2wIREtEHHaReimBaYi8vcSUUArlg,9512
|
|
145
|
+
lyrics_transcriber/frontend/src/components/CorrectionMetrics.tsx,sha256=CoTZS9Z3pf4lfPrzpQ2hZvLqFvt-IarSGBSCxFxD-y4,6274
|
|
146
|
+
lyrics_transcriber/frontend/src/components/DurationTimelineView.tsx,sha256=eylYwAKHTK_5n54njn9bfMkXTGvrqsXlu9tETqAlMtA,9815
|
|
147
|
+
lyrics_transcriber/frontend/src/components/EditActionBar.tsx,sha256=nLRVA3m3bQFqLtqlYasn7WeZNXvPvpG0sXuIv5QXvDc,2174
|
|
148
|
+
lyrics_transcriber/frontend/src/components/EditModal.tsx,sha256=sv-NCKMvso3UF1_fJKbzt_wAcDLAyLqRq_D24uQRrRw,24649
|
|
149
|
+
lyrics_transcriber/frontend/src/components/EditTimelineSection.tsx,sha256=VQy5fpzKBG_9ZLyWHB8b8Ii61YwckCOjnYf1oezY0d4,19586
|
|
150
|
+
lyrics_transcriber/frontend/src/components/EditWordList.tsx,sha256=atl-9Z-24U-KWojwo0apTy1Y9DbQGoVo2dFX4P-1Z9E,13681
|
|
151
|
+
lyrics_transcriber/frontend/src/components/FileUpload.tsx,sha256=fwn2rMWtMLPTZLREMb3ps4prSf9nzxGwnjmeC6KYsJA,2383
|
|
152
|
+
lyrics_transcriber/frontend/src/components/FindReplaceModal.tsx,sha256=U7duKns4IqNXwbWFbQfdyaswnvkSRpfsU0UG__-Serc,20192
|
|
153
|
+
lyrics_transcriber/frontend/src/components/Header.tsx,sha256=KE8TirDEUgojgHjP9R4HTtCxaVr_CWumky-Es7xAGsE,18754
|
|
154
|
+
lyrics_transcriber/frontend/src/components/LyricsAnalyzer.tsx,sha256=TFo2HCr6k9bENsQm-AfT797ZyFLqvKDa8g5W-pw1v24,54256
|
|
155
|
+
lyrics_transcriber/frontend/src/components/LyricsSynchronizer/SyncControls.tsx,sha256=j4rQjBQVbaPsp1ra_rvEoCqmX3JFJdfNnFvj3BvfsgQ,6069
|
|
156
|
+
lyrics_transcriber/frontend/src/components/LyricsSynchronizer/TimelineCanvas.tsx,sha256=h-sAfDFm-DfayZbKuNJmbAqxmMr89oC26xI4WB45bxA,26896
|
|
157
|
+
lyrics_transcriber/frontend/src/components/LyricsSynchronizer/UpcomingWordsBar.tsx,sha256=BXkEeo5yMgHkeOCBcZKqxMb1rspjXH-X5_6X9Hl7z3E,2588
|
|
158
|
+
lyrics_transcriber/frontend/src/components/LyricsSynchronizer/index.tsx,sha256=jOAmlkodaGzceQLG11ihprFMcARVbeJ_qjMcUkQj5Oo,34275
|
|
159
|
+
lyrics_transcriber/frontend/src/components/MetricsDashboard.tsx,sha256=33XpyHj0siBQivE8vLgliyiwmdsAfnNQh5Py4mnhXi8,1724
|
|
160
|
+
lyrics_transcriber/frontend/src/components/ModeSelectionModal.tsx,sha256=eihGI49r9tKq-AaEtnmVrbiBOoJApWvabaZW4ydmg-4,5302
|
|
161
|
+
lyrics_transcriber/frontend/src/components/ModeSelector.tsx,sha256=HnBAK_gFgNBJLtMC_ESMVdUapDjmqmoLX8pQeyHfpOw,2651
|
|
162
|
+
lyrics_transcriber/frontend/src/components/ModelSelector.tsx,sha256=lfG_B5VAzSfrU0FqJl8XptN6DVt2kSljU96HMXo8mf4,559
|
|
163
|
+
lyrics_transcriber/frontend/src/components/PreviewVideoSection.tsx,sha256=59ZhG5XsxUZ_dkK8BjTQhYmYP5Wv86uRR-xtuwFRK8c,5582
|
|
164
|
+
lyrics_transcriber/frontend/src/components/ReferenceView.tsx,sha256=2ugpkVtxZLS6Al-lmYbMZj7d3w9e2qNNYKJjkSxZ_X8,10494
|
|
165
|
+
lyrics_transcriber/frontend/src/components/ReplaceAllLyricsModal.tsx,sha256=pVlqHrSloxXZV_Ib8cbk1invF7WA3uge5b7pnFPe9Pc,12290
|
|
166
|
+
lyrics_transcriber/frontend/src/components/ReviewChangesModal.tsx,sha256=VQg_gBFViAxQu9Z75o6rOsvmH5DZBjKq9FkU8aB_7mI,13790
|
|
167
|
+
lyrics_transcriber/frontend/src/components/SegmentDetailsModal.tsx,sha256=6ME02FkFwCgDAxW49yW260N4vbr80eAJ332Ex811GOo,1643
|
|
168
|
+
lyrics_transcriber/frontend/src/components/TimelineEditor.tsx,sha256=gJRCxdmJo80g0h5hq5AtDHK-HbOoYhMaQYvP2WgOuRI,13201
|
|
169
|
+
lyrics_transcriber/frontend/src/components/TimingOffsetModal.tsx,sha256=aivGi6ehI6cDqwtoKBb6Eif8gpPqi0t3mJT8i5Feu7Q,4803
|
|
170
|
+
lyrics_transcriber/frontend/src/components/TranscriptionView.tsx,sha256=LDGK-Ac4sNMoLNofAdSsZAnCOdlPk4k9Fse6ulhgjYM,11299
|
|
171
|
+
lyrics_transcriber/frontend/src/components/WordDivider.tsx,sha256=tOs_4WZGlJQ1o7sZFGLhwUoyX2jSKMa6vLZqa-1vzKY,6590
|
|
172
|
+
lyrics_transcriber/frontend/src/components/shared/components/HighlightedText.tsx,sha256=ZVZ61rwrKLdlmhlNuSNR7-sgdl7JdBxVTeSeKO6K-3w,16321
|
|
173
|
+
lyrics_transcriber/frontend/src/components/shared/components/SourceSelector.tsx,sha256=FpMn-0i1NFxdIHZN0dxHkWzIIsOEi9CJc_rQMpLyxVw,2031
|
|
174
|
+
lyrics_transcriber/frontend/src/components/shared/components/Word.tsx,sha256=EcLslnFE-BIOm_7FwRxKEOnIDVoWpTrDz6MQGoH_SVg,2596
|
|
175
|
+
lyrics_transcriber/frontend/src/components/shared/constants.ts,sha256=25q1qjCwzV-hR72wSb_rJSe4dVuQ0l-piLMoZSpynGQ,488
|
|
176
|
+
lyrics_transcriber/frontend/src/components/shared/hooks/useWordClick.ts,sha256=eEgBHiKIWOzFK8eBzBgcQRv7StKpaPchqh3k2kFlwgY,6253
|
|
177
|
+
lyrics_transcriber/frontend/src/components/shared/styles.ts,sha256=J1jCSuRqpk1mOFYAqJudhxeozH-q1bi-dsOibLukBJU,411
|
|
178
|
+
lyrics_transcriber/frontend/src/components/shared/types.js,sha256=1DqoH1vIn6o1ng-XyBS6JRVVkf8Hj7ub_UD4x8loMjA,77
|
|
179
|
+
lyrics_transcriber/frontend/src/components/shared/types.ts,sha256=22gpjxcUglmykSimUu6l_6XzgIga1fX8QIM1Mr0CpiI,3973
|
|
180
|
+
lyrics_transcriber/frontend/src/components/shared/utils/keyboardHandlers.ts,sha256=Yh5c_kOdOjE84FtKVB4BBC8QIgkFk5tO0ZJa9oJqqqU,5870
|
|
181
|
+
lyrics_transcriber/frontend/src/components/shared/utils/localStorage.ts,sha256=jpLT65Rk_toaB-8X2lRGyYZ9EoMQDI45GviUT7N9Bp0,3240
|
|
182
|
+
lyrics_transcriber/frontend/src/components/shared/utils/referenceLineCalculator.ts,sha256=TJ2oHDitFFVxm83eFEhdlwvhx--mIt3054YbET2RiXs,2575
|
|
183
|
+
lyrics_transcriber/frontend/src/components/shared/utils/segmentOperations.ts,sha256=yNE-4Da2nL38ofsizQUsPYWl_8Q9Ic2jbB_G3N4X7ps,12559
|
|
184
|
+
lyrics_transcriber/frontend/src/components/shared/utils/timingUtils.ts,sha256=s3xdwGPg6ltZEcQ4AzgpznAR-fLhCTCYW7pfXaD60JY,4597
|
|
185
|
+
lyrics_transcriber/frontend/src/components/shared/utils/wordUtils.ts,sha256=bZbsvEgY3JoI15l4SdB51tHE33OkUxDH-WSG8doLcCQ,721
|
|
186
|
+
lyrics_transcriber/frontend/src/hooks/useManualSync.ts,sha256=cP19QsK-o5uz-Udq8m5d4NhMaPupHEQQz7uf0aE4Hs8,19403
|
|
187
|
+
lyrics_transcriber/frontend/src/main.tsx,sha256=qNDmjgzD2Dd4d9J42o1z0JcKBElsMWHpFIgEvI8kNi8,543
|
|
188
|
+
lyrics_transcriber/frontend/src/theme.ts,sha256=9F2xyLct_gJmvLEZEhrYdKIahUsBzi5kgnydSWJHphE,3864
|
|
189
|
+
lyrics_transcriber/frontend/src/types/global.d.ts,sha256=NvltPF-n4_1oRLfihD3oHXbdT7txMC8B6fhCgvNY-jk,191
|
|
190
|
+
lyrics_transcriber/frontend/src/types.js,sha256=1DqoH1vIn6o1ng-XyBS6JRVVkf8Hj7ub_UD4x8loMjA,77
|
|
191
|
+
lyrics_transcriber/frontend/src/types.ts,sha256=gQBu13DDbSBUtbI-TwzAlmlIYfOehXar4WuvZ9GkziE,4880
|
|
192
|
+
lyrics_transcriber/frontend/src/validation.ts,sha256=hxMSGfF35JhQprSVBKNyOciqNog9p3twSOqSUdrzT-Q,4297
|
|
193
|
+
lyrics_transcriber/frontend/src/vite-env.d.ts,sha256=ZZlpNvuwQpFfe3SiAPzd5-QQ8ypmmxq5WXz6pLD63bU,38
|
|
194
|
+
lyrics_transcriber/frontend/tsconfig.app.json,sha256=7aUBVcaBqEtmtfQXsbwsgBxSUng06xzQi5t4QCgWQ3E,665
|
|
195
|
+
lyrics_transcriber/frontend/tsconfig.json,sha256=AOS5v1AsNPL3wGc8bt58Ybh8HHpbYrlK91q0KIzaSgs,627
|
|
196
|
+
lyrics_transcriber/frontend/tsconfig.node.json,sha256=oMBhK5xufBrVE7SkbADRxA3pxm8_L9m5YwtCOZSafsc,536
|
|
197
|
+
lyrics_transcriber/frontend/tsconfig.tsbuildinfo,sha256=TGnTUZG3ScMXJTHpm1GmyxtEte94DRXNrmWx6-VlB9M,2248
|
|
198
|
+
lyrics_transcriber/frontend/update_version.js,sha256=PxkqCnsucXnXiIqutsanVcx00Gq4k7pgCYj_uXCa4qw,411
|
|
199
|
+
lyrics_transcriber/frontend/vite.config.d.ts,sha256=S5bdGf0pSdKM6A6RNBKwAm3EIeW_bDHYfHtesRtXU7Q,76
|
|
200
|
+
lyrics_transcriber/frontend/vite.config.js,sha256=P4GuPgRZzwEWPQZpyujUe7eA3mjPoFAe2CgE5sQAXg8,232
|
|
201
|
+
lyrics_transcriber/frontend/vite.config.ts,sha256=8FdW0dN8zDFqfhQSxX5h7sIu72X2piLYlp_TZYRQvBQ,216
|
|
202
|
+
lyrics_transcriber/frontend/web_assets/android-chrome-192x192.png,sha256=lg-6aPF5mGLiuG7LyftZk_0RI41srmpA8wj-NkaaQms,17632
|
|
203
|
+
lyrics_transcriber/frontend/web_assets/android-chrome-512x512.png,sha256=x-zuKT3NYsTqAWzhKRTZeD4-0uYoUjqMPZpKTChqNJ8,123447
|
|
204
|
+
lyrics_transcriber/frontend/web_assets/apple-touch-icon.png,sha256=6y5vGra54w5oc8VP6sn2JjoQtN9hWTKn0YPhmdlmfU0,16188
|
|
205
|
+
lyrics_transcriber/frontend/web_assets/assets/index-BECn1o8Q.js,sha256=yNW-EWYuyaj_16fGDyvCGkb2BGoCufHlpKquqOxzQac,1421945
|
|
206
|
+
lyrics_transcriber/frontend/web_assets/assets/index-BECn1o8Q.js.map,sha256=aY17CfmBvSG6FgnuQLzgc9V02xfaOimIIAo8l4fiAJk,3004853
|
|
207
|
+
lyrics_transcriber/frontend/web_assets/favicon-16x16.png,sha256=2wy_7ZmVS4d7umByJVHQ37DBB_8xrU9xfT1_konSXQI,604
|
|
208
|
+
lyrics_transcriber/frontend/web_assets/favicon-32x32.png,sha256=6TyrRMIw6G8dpG4_QWVTY8DMxo0bIGzc_9aOJrkiJKM,1297
|
|
209
|
+
lyrics_transcriber/frontend/web_assets/favicon.ico,sha256=ZK7QvdBuZp0QxPkluCW4IKxfleFmFLp1KkG_d5xmx7E,15406
|
|
210
|
+
lyrics_transcriber/frontend/web_assets/index.html,sha256=qqHYlM3VAy_3YJn3QgETGjR94XTWL3Ci_S-5_lHYgxw,830
|
|
211
|
+
lyrics_transcriber/frontend/web_assets/nomad-karaoke-logo.png,sha256=jTTBFXV6hGJGolZYQ-dIjgQQbMsehk5XGtsllhLrdzg,212641
|
|
212
|
+
lyrics_transcriber/frontend/yarn.lock,sha256=wtImLsCO1P1Lpkhc1jAN6IiHQ0As4xn39n0cwKoh4LM,131996
|
|
213
|
+
lyrics_transcriber/lyrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
214
|
+
lyrics_transcriber/lyrics/base_lyrics_provider.py,sha256=SskR5RIKorLcHhNSpHV35_kCnSA027_OOO9E45Jbv88,9168
|
|
215
|
+
lyrics_transcriber/lyrics/file_provider.py,sha256=WNd6mHMV2FhrnHiWBvxUxPkdVi47mbLE4hXaTYqStTM,4290
|
|
216
|
+
lyrics_transcriber/lyrics/genius.py,sha256=XTKLAjwzopYIOvvn0na_Ym5yM1JZjp8a-f1Ebr4cuN0,17121
|
|
217
|
+
lyrics_transcriber/lyrics/lrclib.py,sha256=wUDHYlwUIxmOm5XrTD0fr26F3ys23sJty_lc9m8h-4A,9275
|
|
218
|
+
lyrics_transcriber/lyrics/musixmatch.py,sha256=mlTuRm7XxeXy1NAHqqLUhilf90IY0JiGdX9nAmiZ2M0,7368
|
|
219
|
+
lyrics_transcriber/lyrics/spotify.py,sha256=O8rzDRjM-wdF2KntLqPe414-1jRTmVGfRCfMwSovHVg,12044
|
|
220
|
+
lyrics_transcriber/lyrics/user_input_provider.py,sha256=oNzwjk2bOQYyUXvVqPcbrF8vJU7LLtwTvJTXxtPaQto,1798
|
|
221
|
+
lyrics_transcriber/output/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
222
|
+
lyrics_transcriber/output/ass/__init__.py,sha256=EYQ45gI7_-vclVgzISL0ML8VgxCdB0odqEyPyiPCIw0,578
|
|
223
|
+
lyrics_transcriber/output/ass/ass.py,sha256=xHId7Rv5gqmdQ7ZrWQSy46JX7vZcB_BzpZC800DwQk8,74315
|
|
224
|
+
lyrics_transcriber/output/ass/ass_specs.txt,sha256=r80HVXWSjTMGU7o2NOJdHkYNBY6SVwSVf0Dyslc1OXk,39288
|
|
225
|
+
lyrics_transcriber/output/ass/config.py,sha256=ggqZo1WFZ5-YLqR0HC_WTjcp1EOxRKwz6MbvpeGWLTI,7153
|
|
226
|
+
lyrics_transcriber/output/ass/constants.py,sha256=CUxR7K3LnoZeA7WMuMYMAPto0J7VW3IwKlP_Ve7XB0A,536
|
|
227
|
+
lyrics_transcriber/output/ass/event.py,sha256=XVbA7YR6WgFa5ynrgE2R7ngauWZVZyNn86BfyNLF0u8,2657
|
|
228
|
+
lyrics_transcriber/output/ass/formatters.py,sha256=hx_3a1goRIVQwAeNyu9n4UZcnpO9vm87x1aiHK5TBRc,3614
|
|
229
|
+
lyrics_transcriber/output/ass/lyrics_line.py,sha256=Y1nEGkdYhqkJPNLD651sIhi4tmeVeONmIuEo-ijtESQ,12125
|
|
230
|
+
lyrics_transcriber/output/ass/lyrics_screen.py,sha256=gRzUsDMLEtZZPuv77xk7M0FzCpFph5tjlE5hhFaobOw,10676
|
|
231
|
+
lyrics_transcriber/output/ass/section_detector.py,sha256=TsSf4E0fleC-Tzd5KK6q4m-wjGiu6TvGDtHdR6sUqvc,3922
|
|
232
|
+
lyrics_transcriber/output/ass/section_screen.py,sha256=QeUaIeDXs_Es33W5aqyVSaZzMwUx-b60vbAww3aQfls,4185
|
|
233
|
+
lyrics_transcriber/output/ass/style.py,sha256=ty3IGorlOZ_Q-TxeA02hNb5Pb0mA755dOb8bqKr1k7U,6880
|
|
234
|
+
lyrics_transcriber/output/cdg.py,sha256=0wiWhLfqll23Zte-czF50mAhGuaI3Ux8UfWqL66G6Us,25486
|
|
235
|
+
lyrics_transcriber/output/cdgmaker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
236
|
+
lyrics_transcriber/output/cdgmaker/cdg.py,sha256=nBqkw0JOois-NI27CkwHblLuBaoL-sHyJb2SntX7m8s,6733
|
|
237
|
+
lyrics_transcriber/output/cdgmaker/composer.py,sha256=_67PBhg8-EvrRUATCRzEGhzpntKRbwBP7uwf04_W_MA,93997
|
|
238
|
+
lyrics_transcriber/output/cdgmaker/config.py,sha256=1mOXwLfbuTavoyV-3ykWK9e8YZN3JHh0I3b3buh1EfA,4073
|
|
239
|
+
lyrics_transcriber/output/cdgmaker/images/instrumental.png,sha256=EKUcJJGj95ceNqw7M-O9ltX4HZIaCaSKjJucKVDTSb8,14834
|
|
240
|
+
lyrics_transcriber/output/cdgmaker/images/intro.png,sha256=XeN6i8aKaQObfRwcgHT8ajQAJIDVjXEd7C5tu7DtriU,17603
|
|
241
|
+
lyrics_transcriber/output/cdgmaker/pack.py,sha256=tuD7Udt3fpWiEVRnzO3VarULwmQ21QYE_MYc6XSpudg,15870
|
|
242
|
+
lyrics_transcriber/output/cdgmaker/render.py,sha256=If4XE5x4N3YvOiyyOtlwki6CF1W0irnlN-WHgxnzkCo,11053
|
|
243
|
+
lyrics_transcriber/output/cdgmaker/transitions/centertexttoplogobottomtext.png,sha256=GK8AqHHL3q6QGSvhCc51CzeQ-TvQGjYAfjxAgcGzZVw,37174
|
|
244
|
+
lyrics_transcriber/output/cdgmaker/transitions/circlein.png,sha256=jeRXV1Sf9HrN-H710_Xj6nsDk0QS8RGefdaxdD2l4FI,25030
|
|
245
|
+
lyrics_transcriber/output/cdgmaker/transitions/circleout.png,sha256=sQ4YSMiLy78hIuWUgvoWeuvj_OKmLUxD2XLgx5-_DqI,44026
|
|
246
|
+
lyrics_transcriber/output/cdgmaker/transitions/fizzle.png,sha256=8jSvglEwTuurFr07s82uBdx8SLR2yTB65g_NXE55jjU,2588
|
|
247
|
+
lyrics_transcriber/output/cdgmaker/transitions/largecentertexttoplogo.png,sha256=UYap1UDfNMjqQ9S3XoJzReoiwoYYhVeTfnGSvwnIOd4,35912
|
|
248
|
+
lyrics_transcriber/output/cdgmaker/transitions/rectangle.png,sha256=HXX1CqRxbJEhcqT7kiobtYvh2lCbcVaBL0WC2gLDMPw,27969
|
|
249
|
+
lyrics_transcriber/output/cdgmaker/transitions/spiral.png,sha256=zSXl8k208QetD7tJp6kMQVygtREoHvG_wDRi0tfYcus,54261
|
|
250
|
+
lyrics_transcriber/output/cdgmaker/transitions/topleftmusicalnotes.png,sha256=cCpsT49CQD9walZxToBbnQo2unJE5ke57ASkkLDwZaQ,14612
|
|
251
|
+
lyrics_transcriber/output/cdgmaker/transitions/wipein.png,sha256=hWuWt2a89dbgj_aRdvXYuElaxhbJaKJoykd4geOLcII,9880
|
|
252
|
+
lyrics_transcriber/output/cdgmaker/transitions/wipeleft.png,sha256=7jY6Z-mdY94PEy8stm2N0cPB9MPLgmsc_A7eRiERNWc,8613
|
|
253
|
+
lyrics_transcriber/output/cdgmaker/transitions/wipeout.png,sha256=YSLdv2RCGeSilOGt7PYTLAOlBfL4bofu8Vpj-PcskZo,9995
|
|
254
|
+
lyrics_transcriber/output/cdgmaker/transitions/wiperight.png,sha256=Dw3N6cqJaSwL3owDqyAM4W573EmdNnkjdiXhoxWC4yk,8443
|
|
255
|
+
lyrics_transcriber/output/cdgmaker/utils.py,sha256=TNcOnccegpxT3OogWQCexy8BrDqfihLAShMvqeM81cw,2945
|
|
256
|
+
lyrics_transcriber/output/countdown_processor.py,sha256=EsUmnamNiG3SRfqPsZjSH3BH81a9AUg7wIdtfDkW57s,10848
|
|
257
|
+
lyrics_transcriber/output/fonts/AvenirNext-Bold.ttf,sha256=YxgKz2OP46lwLPCpIZhVa8COi_9KRDSXw4n8dIHHQSs,327048
|
|
258
|
+
"lyrics_transcriber/output/fonts/DMSans-VariableFont_opsz,wght.ttf",sha256=7uav75vmxRukpMx8wqtPeNvaxqOzlBljO400geBzYYI,238984
|
|
259
|
+
lyrics_transcriber/output/fonts/DMSerifDisplay-Regular.ttf,sha256=mMHMLr3CMjEQgJ5cKlYEn8YSsHwSnDtxT-Qjn_n8ffM,72220
|
|
260
|
+
lyrics_transcriber/output/fonts/Oswald-SemiBold.ttf,sha256=G-vSJeeyEVft7D4s7FZQtGfXAViWPjzGCImV2a4u9d8,87608
|
|
261
|
+
lyrics_transcriber/output/fonts/Zurich_Cn_BT_Bold.ttf,sha256=WNG5LOQ-uGUF_WWT5aQHzVbyWvQqGO5sZ4E-nRmvPuI,37780
|
|
262
|
+
lyrics_transcriber/output/fonts/arial.ttf,sha256=NcDzVZ2NtWnjbDEJW4pg1EFkPZX1kTneQOI_ragZuDM,275572
|
|
263
|
+
lyrics_transcriber/output/fonts/georgia.ttf,sha256=fQuyDGMrtZ6BoIhfVzvSFz9x9zIE3pBY_raM4DIicHI,142964
|
|
264
|
+
lyrics_transcriber/output/fonts/verdana.ttf,sha256=lu0UlJyktzks_yNbnEHVXBJTgqu-DA08K53WaJfK4Ms,139640
|
|
265
|
+
lyrics_transcriber/output/generator.py,sha256=jruQv0FQHlVkrLML-rcJqWCR7n5YT1QRE9yDBjqQJy0,11990
|
|
266
|
+
lyrics_transcriber/output/lrc_to_cdg.py,sha256=2pi5tvreD_ADAR4RF5yVwj7OJ4Pf5Zo_EJ7rt4iH3k0,2063
|
|
267
|
+
lyrics_transcriber/output/lyrics_file.py,sha256=_KQyQjCOMIwQdQ0115uEAUIjQWTRmShkSfQuINPKxaw,3741
|
|
268
|
+
lyrics_transcriber/output/plain_text.py,sha256=XARaWcy6MeQeQCUoz0PV_bHoBw5dba-u79bjS7XucnE,3867
|
|
269
|
+
lyrics_transcriber/output/segment_resizer.py,sha256=rrgcQC28eExSAmGnm6ytkF-E-nH4Fe3gjvpaCD0MCmA,17510
|
|
270
|
+
lyrics_transcriber/output/subtitles.py,sha256=TW8IFTedj7-jHDyKKLYk1rFSFmuk8qysrI83Lkc3x-o,19555
|
|
271
|
+
lyrics_transcriber/output/video.py,sha256=n6QtT3ljtx1t8CT9jmVTKSpdezF2gC0FJsYDDtkP5fE,24084
|
|
272
|
+
lyrics_transcriber/review/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
273
|
+
lyrics_transcriber/review/server.py,sha256=_05ul0MsddKf8iTIg-NASVYkl9kBRo0M3WhWBxp79i8,29462
|
|
274
|
+
lyrics_transcriber/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
275
|
+
lyrics_transcriber/storage/dropbox.py,sha256=Dyam1ULTkoxD1X5trkZ5dGp5XhBGCn998moC8IS9-68,9804
|
|
276
|
+
lyrics_transcriber/transcribers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
277
|
+
lyrics_transcriber/transcribers/audioshake.py,sha256=RihuLKzhhHfX7m5cjKISwIuTQkGWapCS29D6Qk3hR4U,15869
|
|
278
|
+
lyrics_transcriber/transcribers/base_transcriber.py,sha256=T3m4ZCwZ9Bpv6Jvb2hNcnllk-lmeNmADDJlSySBtP1Q,6480
|
|
279
|
+
lyrics_transcriber/transcribers/whisper.py,sha256=YcCB1ic9H6zL1GS0jD0emu8-qlcH0QVEjjjYB4aLlIQ,13260
|
|
280
|
+
lyrics_transcriber/types.py,sha256=UJjaxhVd2o14AG4G8ToU598p0JeYdiTFjpG38jGCoYQ,27917
|
|
281
|
+
lyrics_transcriber/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
282
|
+
lyrics_transcriber/utils/word_utils.py,sha256=-cMGpj9UV4F6IsoDKAV2i1aiqSO8eI91HMAm_igtVMk,958
|
|
283
|
+
karaoke_gen-0.75.54.dist-info/METADATA,sha256=TNqJ_KRooiErJowEgN9mLfAA6EZsENFmtyK2jwIsoBg,20662
|
|
284
|
+
karaoke_gen-0.75.54.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
285
|
+
karaoke_gen-0.75.54.dist-info/entry_points.txt,sha256=xIyLe7K84ZyjO8L0_AmNectz93QjGSs5AkApMtlAd4g,160
|
|
286
|
+
karaoke_gen-0.75.54.dist-info/licenses/LICENSE,sha256=81R_4XwMZDODHD7JcZeUR8IiCU8AD7Ajl6bmwR9tYDk,1074
|
|
287
|
+
karaoke_gen-0.75.54.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Nomad Karaoke LLC
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from lyrics_transcriber.core.config import TranscriberConfig, LyricsConfig, OutputConfig
|
|
2
|
+
from lyrics_transcriber.core.controller import LyricsTranscriber
|
|
3
|
+
from importlib.metadata import version, PackageNotFoundError
|
|
4
|
+
|
|
5
|
+
try:
|
|
6
|
+
__version__ = version("lyrics-transcriber")
|
|
7
|
+
except PackageNotFoundError:
|
|
8
|
+
__version__ = "unknown"
|
|
9
|
+
|
|
10
|
+
__all__ = ["LyricsTranscriber", "TranscriberConfig", "LyricsConfig", "OutputConfig"]
|
|
File without changes
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
import warnings
|
|
3
|
+
# Suppress SyntaxWarnings from third-party packages that haven't updated for Python 3.13
|
|
4
|
+
warnings.filterwarnings("ignore", category=SyntaxWarning)
|
|
5
|
+
|
|
6
|
+
import argparse
|
|
7
|
+
import logging
|
|
8
|
+
import os
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
from typing import Dict
|
|
11
|
+
from importlib.metadata import version
|
|
12
|
+
from dotenv import load_dotenv
|
|
13
|
+
|
|
14
|
+
from lyrics_transcriber import LyricsTranscriber
|
|
15
|
+
from lyrics_transcriber.core.controller import TranscriberConfig, LyricsConfig, OutputConfig
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def create_arg_parser() -> argparse.ArgumentParser:
|
|
19
|
+
"""Create and configure the argument parser."""
|
|
20
|
+
parser = argparse.ArgumentParser(
|
|
21
|
+
prog="lyrics-transcriber",
|
|
22
|
+
description="Create synchronised lyrics files in ASS and MidiCo LRC formats with word-level timestamps",
|
|
23
|
+
formatter_class=lambda prog: argparse.HelpFormatter(prog, max_help_position=52),
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
# Required arguments
|
|
27
|
+
parser.add_argument(
|
|
28
|
+
"audio_filepath",
|
|
29
|
+
nargs="?",
|
|
30
|
+
help="The audio file path to transcribe lyrics for.",
|
|
31
|
+
default=argparse.SUPPRESS,
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
# Version
|
|
35
|
+
package_version = version("lyrics-transcriber")
|
|
36
|
+
parser.add_argument("-v", "--version", action="version", version=f"%(prog)s {package_version}")
|
|
37
|
+
|
|
38
|
+
# Optional arguments
|
|
39
|
+
parser.add_argument(
|
|
40
|
+
"--log_level", default="INFO", choices=["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], help="Logging level. Default: INFO"
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
# Song identification
|
|
44
|
+
song_group = parser.add_argument_group("Song Identification")
|
|
45
|
+
song_group.add_argument("--artist", help="Song artist for lyrics lookup and auto-correction")
|
|
46
|
+
song_group.add_argument("--title", help="Song title for lyrics lookup and auto-correction")
|
|
47
|
+
song_group.add_argument("--lyrics_file", help="Path to file containing lyrics (txt, docx, or rtf format)")
|
|
48
|
+
|
|
49
|
+
# API Credentials
|
|
50
|
+
api_group = parser.add_argument_group("API Credentials")
|
|
51
|
+
api_group.add_argument(
|
|
52
|
+
"--audioshake_api_token", help="AudioShake API token for lyrics transcription. Can also use AUDIOSHAKE_API_TOKEN env var."
|
|
53
|
+
)
|
|
54
|
+
api_group.add_argument("--genius_api_token", help="Genius API token for lyrics fetching. Can also use GENIUS_API_TOKEN env var.")
|
|
55
|
+
api_group.add_argument(
|
|
56
|
+
"--spotify_cookie", help="Spotify sp_dc cookie value for lyrics fetching. Can also use SPOTIFY_COOKIE_SP_DC env var."
|
|
57
|
+
)
|
|
58
|
+
api_group.add_argument("--runpod_api_key", help="RunPod API key for Whisper transcription. Can also use RUNPOD_API_KEY env var.")
|
|
59
|
+
api_group.add_argument(
|
|
60
|
+
"--whisper_runpod_id", help="RunPod endpoint ID for Whisper transcription. Can also use WHISPER_RUNPOD_ID env var."
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
# Output options
|
|
64
|
+
output_group = parser.add_argument_group("Output Options")
|
|
65
|
+
output_group.add_argument("--output_dir", type=Path, help="Directory where output files will be saved. Default: current directory")
|
|
66
|
+
output_group.add_argument(
|
|
67
|
+
"--cache_dir",
|
|
68
|
+
type=Path,
|
|
69
|
+
help="Directory to cache downloaded/generated files. Default: ~/lyrics-transcriber-cache/",
|
|
70
|
+
)
|
|
71
|
+
output_group.add_argument(
|
|
72
|
+
"--output_styles_json",
|
|
73
|
+
type=Path,
|
|
74
|
+
help="JSON file containing output style configurations for CDG and video generation",
|
|
75
|
+
)
|
|
76
|
+
output_group.add_argument(
|
|
77
|
+
"--subtitle_offset",
|
|
78
|
+
type=int,
|
|
79
|
+
default=0,
|
|
80
|
+
help="Offset subtitle timing by N milliseconds (positive or negative). Default: 0",
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
# Feature control group
|
|
84
|
+
feature_group = parser.add_argument_group("Feature Control")
|
|
85
|
+
feature_group.add_argument("--skip_lyrics_fetch", action="store_true", help="Skip fetching lyrics from online sources")
|
|
86
|
+
feature_group.add_argument("--skip_transcription", action="store_true", help="Skip audio transcription process")
|
|
87
|
+
feature_group.add_argument("--skip_correction", action="store_true", help="Skip lyrics correction process")
|
|
88
|
+
feature_group.add_argument("--skip_plain_text", action="store_true", help="Skip generating plain text output files")
|
|
89
|
+
feature_group.add_argument("--skip_lrc", action="store_true", help="Skip generating LRC file")
|
|
90
|
+
feature_group.add_argument("--skip_cdg", action="store_true", help="Skip generating CDG karaoke files")
|
|
91
|
+
feature_group.add_argument("--skip_video", action="store_true", help="Skip rendering karaoke video")
|
|
92
|
+
feature_group.add_argument(
|
|
93
|
+
"--video_resolution", choices=["4k", "1080p", "720p", "360p"], default="360p", help="Resolution of the karaoke video. Default: 360p"
|
|
94
|
+
)
|
|
95
|
+
feature_group.add_argument(
|
|
96
|
+
"--skip_countdown", action="store_true", help="Skip adding countdown intro for songs that start within 3 seconds"
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
# Agentic AI flags
|
|
100
|
+
feature_group.add_argument(
|
|
101
|
+
"--use-agentic-ai",
|
|
102
|
+
action="store_true",
|
|
103
|
+
help="Enable experimental agentic AI correction (sets USE_AGENTIC_AI=1)",
|
|
104
|
+
)
|
|
105
|
+
feature_group.add_argument(
|
|
106
|
+
"--ai-model",
|
|
107
|
+
type=str,
|
|
108
|
+
help="Preferred AI model identifier (e.g., 'anthropic/claude-4-sonnet', 'gpt-5', 'gemini-2.5-pro')",
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
return parser
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
def parse_args(parser: argparse.ArgumentParser, args_list: list[str] | None = None) -> argparse.Namespace:
|
|
115
|
+
"""Parse and process command line arguments."""
|
|
116
|
+
# Use provided args_list for testing, otherwise use sys.argv
|
|
117
|
+
args = parser.parse_args(args_list)
|
|
118
|
+
|
|
119
|
+
# Set default cache_dir if not provided
|
|
120
|
+
if not hasattr(args, "cache_dir") or args.cache_dir is None:
|
|
121
|
+
args.cache_dir = Path(os.getenv("LYRICS_TRANSCRIBER_CACHE_DIR", os.path.join(os.path.expanduser("~"), "lyrics-transcriber-cache")))
|
|
122
|
+
|
|
123
|
+
# Export agentic flags to environment for downstream usage
|
|
124
|
+
if getattr(args, "use_agentic_ai", False):
|
|
125
|
+
os.environ["USE_AGENTIC_AI"] = "1"
|
|
126
|
+
if getattr(args, "ai_model", None):
|
|
127
|
+
os.environ["AGENTIC_AI_MODEL"] = args.ai_model
|
|
128
|
+
|
|
129
|
+
return args
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
def get_config_from_env() -> Dict[str, str]:
|
|
133
|
+
"""Load configuration from environment variables."""
|
|
134
|
+
load_dotenv()
|
|
135
|
+
return {
|
|
136
|
+
"audioshake_api_token": os.getenv("AUDIOSHAKE_API_TOKEN"),
|
|
137
|
+
"genius_api_token": os.getenv("GENIUS_API_TOKEN"),
|
|
138
|
+
"rapidapi_key": os.getenv("RAPIDAPI_KEY"),
|
|
139
|
+
"spotify_cookie": os.getenv("SPOTIFY_COOKIE_SP_DC"),
|
|
140
|
+
"runpod_api_key": os.getenv("RUNPOD_API_KEY"),
|
|
141
|
+
"whisper_runpod_id": os.getenv("WHISPER_RUNPOD_ID"),
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
def setup_logging(log_level: str) -> logging.Logger:
|
|
146
|
+
"""Configure logging with consistent format."""
|
|
147
|
+
logger = logging.getLogger("lyrics_transcriber")
|
|
148
|
+
log_level_enum = getattr(logging, log_level.upper())
|
|
149
|
+
logger.setLevel(log_level_enum)
|
|
150
|
+
|
|
151
|
+
if not logger.handlers:
|
|
152
|
+
handler = logging.StreamHandler()
|
|
153
|
+
formatter = logging.Formatter(fmt="%(asctime)s.%(msecs)03d - %(levelname)s - %(module)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S")
|
|
154
|
+
handler.setFormatter(formatter)
|
|
155
|
+
logger.addHandler(handler)
|
|
156
|
+
|
|
157
|
+
return logger
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
def create_configs(args: argparse.Namespace, env_config: Dict[str, str]) -> tuple[TranscriberConfig, LyricsConfig, OutputConfig]:
|
|
161
|
+
"""Create configuration objects from arguments and environment variables."""
|
|
162
|
+
transcriber_config = TranscriberConfig(
|
|
163
|
+
audioshake_api_token=args.audioshake_api_token or env_config.get("audioshake_api_token"),
|
|
164
|
+
runpod_api_key=args.runpod_api_key or env_config.get("runpod_api_key"),
|
|
165
|
+
whisper_runpod_id=args.whisper_runpod_id or env_config.get("whisper_runpod_id"),
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
lyrics_config = LyricsConfig(
|
|
169
|
+
genius_api_token=args.genius_api_token or env_config.get("genius_api_token"),
|
|
170
|
+
rapidapi_key=env_config.get("rapidapi_key"),
|
|
171
|
+
spotify_cookie=args.spotify_cookie or env_config.get("spotify_cookie"),
|
|
172
|
+
lyrics_file=args.lyrics_file,
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
output_config = OutputConfig(
|
|
176
|
+
output_styles_json=str(args.output_styles_json),
|
|
177
|
+
output_dir=str(args.output_dir) if args.output_dir else os.getcwd(),
|
|
178
|
+
cache_dir=str(args.cache_dir),
|
|
179
|
+
video_resolution=args.video_resolution,
|
|
180
|
+
subtitle_offset_ms=args.subtitle_offset,
|
|
181
|
+
fetch_lyrics=not args.skip_lyrics_fetch,
|
|
182
|
+
run_transcription=not args.skip_transcription,
|
|
183
|
+
run_correction=not args.skip_correction,
|
|
184
|
+
generate_plain_text=not args.skip_plain_text,
|
|
185
|
+
generate_lrc=not args.skip_lrc,
|
|
186
|
+
generate_cdg=not args.skip_cdg,
|
|
187
|
+
render_video=not args.skip_video,
|
|
188
|
+
add_countdown=not args.skip_countdown,
|
|
189
|
+
)
|
|
190
|
+
|
|
191
|
+
return transcriber_config, lyrics_config, output_config
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
def validate_args(args: argparse.Namespace, parser: argparse.ArgumentParser, logger: logging.Logger) -> None:
|
|
195
|
+
"""Validate command line arguments."""
|
|
196
|
+
if not hasattr(args, "audio_filepath"):
|
|
197
|
+
parser.print_help()
|
|
198
|
+
logger.error("No audio filepath provided")
|
|
199
|
+
exit(1)
|
|
200
|
+
|
|
201
|
+
if not os.path.exists(args.audio_filepath):
|
|
202
|
+
logger.error(f"Audio file not found: {args.audio_filepath}")
|
|
203
|
+
exit(1)
|
|
204
|
+
|
|
205
|
+
if args.artist and not args.title or args.title and not args.artist:
|
|
206
|
+
logger.error("Both artist and title must be provided together")
|
|
207
|
+
exit(1)
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
def main() -> None:
|
|
211
|
+
"""Main entry point for the CLI."""
|
|
212
|
+
parser = create_arg_parser()
|
|
213
|
+
|
|
214
|
+
# Check if --help or -h is in sys.argv to handle direct module execution
|
|
215
|
+
import sys
|
|
216
|
+
if '--help' in sys.argv or '-h' in sys.argv:
|
|
217
|
+
parser.print_help()
|
|
218
|
+
return
|
|
219
|
+
|
|
220
|
+
args = parse_args(parser)
|
|
221
|
+
|
|
222
|
+
# Set up logging first
|
|
223
|
+
logger = setup_logging(args.log_level)
|
|
224
|
+
|
|
225
|
+
# Validate arguments
|
|
226
|
+
validate_args(args, parser, logger)
|
|
227
|
+
|
|
228
|
+
# Load environment variables
|
|
229
|
+
env_config = get_config_from_env()
|
|
230
|
+
|
|
231
|
+
# Create configuration objects
|
|
232
|
+
transcriber_config, lyrics_config, output_config = create_configs(args, env_config)
|
|
233
|
+
|
|
234
|
+
try:
|
|
235
|
+
# Initialize and run transcriber
|
|
236
|
+
transcriber = LyricsTranscriber(
|
|
237
|
+
audio_filepath=args.audio_filepath,
|
|
238
|
+
artist=args.artist,
|
|
239
|
+
title=args.title,
|
|
240
|
+
transcriber_config=transcriber_config,
|
|
241
|
+
lyrics_config=lyrics_config,
|
|
242
|
+
output_config=output_config,
|
|
243
|
+
logger=logger,
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
results = transcriber.process()
|
|
247
|
+
|
|
248
|
+
# Log results
|
|
249
|
+
logger.info("*** Success! ***")
|
|
250
|
+
|
|
251
|
+
# Log all generated output files
|
|
252
|
+
if results.original_txt:
|
|
253
|
+
logger.info(f"Generated original transcription: {results.original_txt}")
|
|
254
|
+
if results.corrections_json:
|
|
255
|
+
logger.info(f"Generated corrections data: {results.corrections_json}")
|
|
256
|
+
|
|
257
|
+
if results.corrected_txt:
|
|
258
|
+
logger.info(f"Generated corrected lyrics: {results.corrected_txt}")
|
|
259
|
+
if results.lrc_filepath:
|
|
260
|
+
logger.info(f"Generated LRC file: {results.lrc_filepath}")
|
|
261
|
+
|
|
262
|
+
if results.cdg_filepath:
|
|
263
|
+
logger.info(f"Generated CDG file: {results.cdg_filepath}")
|
|
264
|
+
if results.mp3_filepath:
|
|
265
|
+
logger.info(f"Generated MP3 file: {results.mp3_filepath}")
|
|
266
|
+
if results.cdg_zip_filepath:
|
|
267
|
+
logger.info(f"Generated CDG ZIP archive: {results.cdg_zip_filepath}")
|
|
268
|
+
|
|
269
|
+
if results.ass_filepath:
|
|
270
|
+
logger.info(f"Generated ASS subtitles: {results.ass_filepath}")
|
|
271
|
+
if results.video_filepath:
|
|
272
|
+
logger.info(f"Generated video: {results.video_filepath}")
|
|
273
|
+
|
|
274
|
+
except Exception as e:
|
|
275
|
+
# Get the full exception traceback
|
|
276
|
+
import traceback
|
|
277
|
+
|
|
278
|
+
error_details = traceback.format_exc()
|
|
279
|
+
|
|
280
|
+
# Log both the error message and the full traceback
|
|
281
|
+
logger.error(f"Processing failed: {str(e)}\n\nFull traceback:\n{error_details}")
|
|
282
|
+
exit(1)
|
|
283
|
+
|
|
284
|
+
if __name__ == "__main__":
|
|
285
|
+
main()
|
|
File without changes
|