+++ title = "shuku" description = "Shrink media to keep only the dialogue. For immersion language learning." weight = 20 [taxonomies] tags = ["Python", "media", "linguistics", "CLI"] [extra] local_image = "projects/shuku/shuku_logo.webp" social_media_card = "social_cards/projects_shuku.jpg" canonical_url = "https://osc.garden/projects/shuku/" +++ **shuku** (しゅくしょう: "minification") creates condensed versions of films and TV shows by keeping only the dialogue. #### [GitHub](https://github.com/welpo/shuku) • [Blog post](https://osc.garden/blog/shuku-condensed-media-language-learning/) • [Documentation](https://github.com/welpo/shuku#readme) • [PyPI](https://pypi.org/project/shuku/) {.centered-text} ## Features ### Smart media handling - Automatic subtitle detection and matching with fuzzy search - Intelligent audio/subtitle track selection - Metadata extraction (title, season, episode number) ### Flexible output - Condensed audio (MP3, FLAC, AAC, Opus...) - Condensed video - Synchronized subtitles (including LRC for karaoke-style review) - Clean filenames in output ### High customization - Configurable audio/video quality and codecs - Subtitle timing adjustment and padding - Skip unwanted content (sound effects, lyrics, specific chapters) - Custom FFmpeg arguments support ### User experience - Cross-platform: GNU+Linux, macOS, and Windows - Detailed logging with progress indicators - Batch processing support ## Development best practices - Comprehensive testing: 100% code coverage - Clean code: Type-hinted Python with clear responsibilities - Continuous Integration/Deployment - Comprehensive documentation [![shuku social media card](/img/social_cards/projects_shuku.jpg)](https://github.com/welpo/shuku)