Skip to content
PraveensenpaiPublic

About

音Pod — Blazing-fast single-pass anime audio condenser for Japanese passive immersion

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

18 Commits

Folders and files

Repository files navigation

🎧 otopod

Blazing-Fast Single-Pass Anime Audio Condenser for Japanese Passive Immersion.

Rust License ffmpeg companion


┌───────────────────────────────────────────────────────────────┐
│    🎧  O T O P O D  ──  Anime Immersion Audio Condenser       │
└───────────────────────────────────────────────────────────────┘

otopod (音Pod) is a high-performance terminal utility written in Rust that replaces impd. It condenses raw anime video files into pure Japanese dialogue audio using subtitle timestamps — in a single ffmpeg pass, with zero temporary files and in under 3 seconds.

Designed to pair directly with subsink for a complete end-to-end Japanese passive immersion pipeline.


otopod terminal usage showcase


✨ Features

  • ⚡ Single-Pass Audio Condensing: Parses subtitle timestamps and runs one ffmpeg aselect filter directly to the output .opus file — no 150+ temp chunks in /tmp.
  • 🦀 50× Faster than impd: Condenses a full 24-minute anime episode in 2–3 seconds instead of 80+ seconds.
  • 💾 Zero Disk Thrashing: No temporary chunk files. Minimal RAM (< 15 MB).
  • 🔍 Auto Subtitle Detection: Automatically finds <stem>.ja.srt or .ja.ass generated by subsink alongside your video file.
  • 🎵 MPD-Ready Output: Writes condensed audio directly to your configured output directory (default: ~/Music/immersionpod/current/).
  • 📊 Retention Stats: Reports condensed duration and percentage of original audio retained.
  • 🎨 Minimalist Dark TUI: Clean terminal UI with spinners, progress cards, and deep anime color palette.
  • 🗂️ Configurable Output: Change output directory anytime via ~/.config/otopod/config.toml — auto-created on first run.

📊 Performance vs impd

impd (bash) otopod (Rust)
Episode condense time ~82 seconds ~3 seconds
Temp files created 150+ chunks in /tmp Zero
RAM usage Heavy < 15 MB
ffmpeg passes One per subtitle line Single pass

⚙️ Prerequisites

  1. Rust & Cargo:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. ffmpeg (for audio extraction and condensing):

    # Arch Linux / Omarchy
    sudo pacman -S ffmpeg
  3. A synced .ja.srt subtitle file alongside your video.

    Use subsink to automatically fetch and align Japanese subtitles!


🚀 Installation

Quick Install (Pre-compiled Linux Binary)

curl -fsSL -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/Praveensenpai/otopod/main/install.sh | bash

Build from Source

git clone https://github.com/Praveensenpai/otopod.git
cd otopod
cargo build --release
install -m 755 target/release/otopod ~/.local/bin/otopod

🎧 Usage

Interactive Mode

Run otopod anywhere — it scans ~/Videos and presents an interactive file picker:

otopod

Direct File Argument

Pass the video file directly for instant condensing:

otopod "Ore wo Suki nano wa Omae dake ka yo - 01.mkv"

🔄 Full Immersion Pipeline

Pair with subsink for a complete one-two workflow:

# Step 1 — Fetch & auto-sync Japanese subtitles
subsink

# Step 2 — Condense anime audio using synced subtitle timestamps
otopod "Anime Title - 01.mkv"

# Step 3 — Update MPD playlist and start background immersion audio
mpc update && mpc play
[Raw .mkv] ──► [subsink] ──► [.ja.srt] ──► [otopod] ──► [condensed .ogg] ──► [mpd / background immersion]

⚙️ Configuration

On first run, otopod automatically creates a config file at:

~/.config/otopod/config.toml
# otopod configuration
# Edit output_dir to change where condensed audio files are saved.

output_dir = "/home/user/Music/immersionpod/current"

Edit output_dir to any folder you prefer — supports ~ for home directory:

output_dir = "~/Videos/condensed"

📁 Output

Condensed audio is written to your configured output_dir as:

<output_dir>/<video_stem>.opus

Default:

~/Music/immersionpod/current/<video_stem>.opus

📜 License

MIT License © Praveensenpai

About

音Pod — Blazing-fast single-pass anime audio condenser for Japanese passive immersion

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages