Skip to content

# shuku

- Tags:
- Python,
- media,
- linguistics,
- CLI

Shrink media to keep only the dialogue. For immersion language learning.

shuku (縮しゅく小しょう: “minification”) creates condensed versions of films and TV shows by keeping only the dialogue.

#### GitHub • Blog post • Documentation • PyPI

## 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

- GitHub • Blog post • Documentation • PyPI
- Features
  - Smart media handling
  - Flexible output
  - High customization
  - User experience
- Development best practices

Copied! Copy code to clipboard