Skip to content

Commit

Permalink
📝 misc: add "shuku" project
Browse files Browse the repository at this point in the history
  • Loading branch information
welpo committed Dec 23, 2024
1 parent 2cc336d commit b8e4b49
Show file tree
Hide file tree
Showing 5 changed files with 152 additions and 0 deletions.
48 changes: 48 additions & 0 deletions content/projects/shuku/index.ca.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
+++
title = "shuku"
description = "Condensa pel·lícules i sèries per quedar-te només amb el diàleg. Dissenyat per aprendre idiomes."
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** (<ruby><rb>縮</rb><rt>しゅく</rt></ruby><ruby><rb>小</rb><rt>しょう</rt></ruby>: «minificació») crea versions condensades de pel·lícules i sèries conservant només els diàlegs.

<video class="invertible-image" controls muted width="800" loop="true" autoplay="autoplay" title="demo de shuku" src="https://cdn.jsdelivr.net/gh/welpo/shuku/assets/animation_demo/shuku_demo.mov"></video>

#### [GitHub](https://github.com/welpo/shuku)[Blog](https://osc.garden/ca/blog/shuku-condensed-media-language-learning/)[Documentació](https://github.com/welpo/shuku#readme)[PyPI](https://pypi.org/project/shuku/) {.centered-text}

## Característiques

### Gestió intel·ligent de continguts

- Detecció i correspondència automàtica de subtítols amb cerca difusa (fuzzy matching)
- Selecció intel·ligent de pistes d'àudio/subtítols
- Extracció de metadades (títol, temporada, número d'episodi)

### Output flexible

- Àudio condensat (MP3, FLAC, AAC, Opus…)
- Vídeo condensat
- Subtítols sincronitzats (SRT, ASS, o LRC per a apps tipus karaoke)

### Alta personalització

- Qualitat i còdecs d'àudio/vídeo configurables
- Ajust de temps de subtítols i farciment
- Filtra subtítols (efectes de so, lletres, capítols específics)
- Suport per a arguments personalitzats de FFmpeg

### Experiència de l'usuari

- Multiplataforma: GNU+Linux, macOS i Windows
- Logging detallat amb indicadors de progrés
- Suport per a processament per lots

[![targeta social de shuku](/img/social_cards/projects_shuku.jpg)](https://github.com/welpo/shuku)
48 changes: 48 additions & 0 deletions content/projects/shuku/index.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
+++
title = "shuku"
description = "Condensa películas y series para quedarte solo con el diálogo. Diseñado para aprender idiomas."
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** (<ruby><rb>縮</rb><rt>しゅく</rt></ruby><ruby><rb>小</rb><rt>しょう</rt></ruby>: «minificación») crea versiones condensadas de películas y series conservando solo los diálogos.

<video class="invertible-image" controls muted width="800" loop="true" autoplay="autoplay" title="demo de shuku" src="https://cdn.jsdelivr.net/gh/welpo/shuku/assets/animation_demo/shuku_demo.mov"></video>

#### [GitHub](https://github.com/welpo/shuku)[Blog](https://osc.garden/es/blog/shuku-condensed-media-language-learning/)[Documentación](https://github.com/welpo/shuku#readme)[PyPI](https://pypi.org/project/shuku/) {.centered-text}

## Características

### Manejo inteligente de medios

- Detección y correspondencia automática de subtítulos con búsqueda difusa (fuzzy matching)
- Selección inteligente de pistas de audio/subtítulos
- Extracción de metadatos (título, temporada, número de episodio)

### Output flexible

- Audio condensado (MP3, FLAC, AAC, Opus…)
- Video condensado
- Subtítulos sincronizados (SRT, ASS, o LRC para apps tipo karaoke)

### Alta personalización

- Calidad y códecs de audio/video configurables
- Ajuste de tiempo de subtítulos y relleno
- Filtra subtítulos (efectos de sonido, letras, capítulos específicos)
- Soporte para argumentos personalizados de FFmpeg

### Experiencia del usuario

- Multiplataforma: GNU+Linux, macOS y Windows
- Logging detallado con indicadores de progreso
- Soporte para procesamiento por lotes

[![tarjeta social de shuku](/img/social_cards/projects_shuku.jpg)](https://github.com/welpo/shuku)
56 changes: 56 additions & 0 deletions content/projects/shuku/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
+++
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** (<ruby><rb>縮</rb><rt>しゅく</rt></ruby><ruby><rb>小</rb><rt>しょう</rt></ruby>: "minification") creates condensed versions of films and TV shows by keeping only the dialogue.

<video class="invertible-image" controls muted width="800" loop="true" autoplay="autoplay" title="shuku demo" src="https://cdn.jsdelivr.net/gh/welpo/shuku/assets/animation_demo/shuku_demo.mov"></video>

#### [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)
Binary file added content/projects/shuku/shuku_logo.webp
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit b8e4b49

Please sign in to comment.