You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.0 KiB

+++ 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.

GitHubBlog postDocumentationPyPI

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