// open source audio pipeline

xil-pipeline

Script → Voice → Production.
Fully automated.

Transform AI-generated scripts into fully produced podcasts and audiobooks. Multi-voice TTS via ElevenLabs, layered sound effects, music beds, and ambient audio — all orchestrated from a single structured script format.

xil-pipeline — terminal
# Install xil-pipeline
$ pip install xil-pipeline
# Generate a script with AI
$ xil script generate \
  --topic "The History of Silicon" \
  --format podcast --voices 2
# Render to audio
$ xil render script.xil.yaml \
  --elevenlabs-key $API_KEY
⠿ Synthesizing voices... ✓ 4 tracks
⠿ Mixing audio layers... ✓ done
⠿ Exporting output... ✓ episode.mp3
🎙 Runtime: 12m 34s · 48kHz stereo · 128kbps

The Pipeline

From raw idea to finished audio in five stages.

🧠
AI Script
Generate structured .xil.yaml scripts via LLM prompts
📝
Parse
Validate script format, assign voices, cues & timing
🎙
TTS Render
ElevenLabs synthesizes each voice track in parallel
🎵
Layer Audio
Mix SFX, music beds, and ambient sound layers
📦
Export
Output MP3, WAV, or chapter-split audiobook files

Hear It In Action

Sample outputs generated entirely by xil-pipeline — AI script, ElevenLabs voices, layered audio.

🎙
Tech Deep Dive — "The Rise of Open Source AI"
 2 voices · 8m 42s · Podcast format
podcast elevenlabs music-bed
📖
Audiobook Sample — "Chapter 1: The Signal"
 1 narrator · 14m 20s · Audiobook format
audiobook ambient-sfx chapters
🎭
Drama Short — "The Interview" (3-voice scene)
 3 voices · 5m 08s · Drama format
drama multi-voice sfx-layers

// Demo audio coming soon — watch the repo for release announcements.

Up and Running in Minutes

Install, write a script, render audio. That's the whole loop.

script.xil.yaml
# xil-pipeline script format
meta:
  title: "The History of Silicon"
  format: podcast
  output: "episode-01.mp3"

voices:
  - id: host
    name: "Alex"
    elevenlabs_voice_id: "21m00Tcm4TlvDq8ikWAM"
    stability: 0.75
  - id: guest
    name: "Dr. Rivera"
    elevenlabs_voice_id: "AZnzlk1XvdvUeBnXmlld"

audio_layers:
  music: "assets/intro-theme.mp3"
  ambient: "assets/studio-hum.mp3"

script:
  - voice: host
    text: "Welcome to the show. Today we're diving into silicon."
    sfx: "assets/intro-sting.mp3"
  - voice: guest
    text: "Thanks for having me. It's a fascinating story."
  - voice: host
    text: "Let's start at the very beginning..."
    pause_after: 1.5
terminal
# 1. Install
$ pip install xil-pipeline

# 2. Set your ElevenLabs API key
$ export ELEVENLABS_API_KEY="your_key_here"

# 3. Generate a script with AI (optional)
$ xil script generate --topic "your topic" --format podcast

# 4. Render to audio
$ xil render script.xil.yaml

# Output: episode-01.mp3 ✓

Explore the Docs

Everything you need to build, extend, and contribute to xil-pipeline.

What xil-pipeline Does

A full audio production stack, driven by code.

🧠
AI Script Generation
Prompt any LLM to generate structured .xil.yaml scripts. Built-in templates for podcasts, audiobooks, interviews, and drama formats.
🎙
Multi-Voice TTS
Assign unique ElevenLabs voices to each character or narrator. Parallel rendering keeps production fast even for long-form content.
🎵
Layered Audio Mixing
Stack music beds, ambient sounds, and SFX cues with per-layer volume envelopes, crossfades, and ducking when voices are active.
📦
Flexible Export
Output to MP3, WAV, or FLAC. Audiobook mode splits by chapter markers. Podcast mode embeds ID3 metadata automatically.
🔌
Plugin Architecture
Swap in alternative TTS providers, custom audio processors, or your own script generators via a clean plugin interface.
CLI-First Design
Fully scriptable. Integrate into CI/CD pipelines, cron jobs, or content automation workflows with zero GUI required.

Join the Build

xil-pipeline is early-stage and actively welcoming contributors. Every PR counts.

  • 1

    Fork & Clone

    Fork the repo on GitHub and clone it locally. Read CONTRIBUTING.md to get oriented.

  • 2

    Pick an Issue

    Browse open issues tagged good first issue or help wanted to find a good starting point.

  • 3

    Build & Test

    Run the test suite, make your changes, and add tests for new functionality.

  • 4

    Open a PR

    Submit your pull request with a clear description. We review quickly and give constructive feedback.

⭐ Star on GitHub 🐛 Browse Issues
0.1
Current Version
MIT
License
🟢
Active Development
PRs Welcome

// good first issues

Add support for SSML tags in voice cues
Write unit tests for the YAML parser
Add OpenAI script generation template
Document the plugin API with examples
Build a sample audiobook demo script