// open source audio pipeline

# xil-pipeline

Script → Voice → Production.
Fully automated.

Start for free with gTTS or local Chatterbox TTS — no API key required. When you're ready for production quality, plug in ElevenLabs voices with layered sound effects, music beds, and ambient audio — all orchestrated from a single structured script format.

⚡ Get Started ⭐ Star on GitHub 🎧 Hear Demos
xil-pipeline — terminal
# Install
$ pip install xil-pipeline
# Scaffold a new project workspace
$ xil-init my-show --show "My Podcast"
$ cd my-show
# Pre-flight check
$ xil-scan scripts/sample_S01E01.md
# Parse & produce
$ xil-parse scripts/sample_S01E01.md --episode S01E01
$ xil-produce --episode S01E01 --dry-run
$ xil-produce --episode S01E01
# Or produce for free — no API key needed
$ xil-produce --episode S01E01 --backend gtts
# Mix & master
$ xil-daw --episode S01E01
$ xil-master --episode S01E01
⠿ Synthesizing voices... ✓ stems
⠿ Exporting DAW layers... ✓ xil-daw
⠿ Mastering final MP3... ✓ master.mp3

// how it works

## 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, gTTS, or local Chatterbox — choose your TTS backend
→
🎵
Layer Audio
Mix SFX, music beds, and ambient sound layers
→
📦
Export
Output MP3, WAV, or chapter-split audiobook files

// tts backends

## No API Key Required to Get Started

Three backends, one flag. Swap at any time — stems are compatible across all three.

🆓
Free · Google TTS (gTTS)
No API key. No credits. Flat single voice — ideal for drafting, timing checks, and cost-free iteration.
Install: pip install xil-pipeline
Usage: xil-produce --backend gtts
🖥
Local · Chatterbox TTS
No API key. GPU-accelerated zero-shot voice cloning from a 10-second reference clip. Near-production quality, fully private.
Install: pip install 'xil-pipeline[chatterbox]'
Usage: xil-produce --backend chatterbox
🎙
Premium · ElevenLabs
Highest quality multi-voice TTS. Per-character voice IDs, stability tuning, and eleven_v3 audio tags. Default backend for production.
Requires: ELEVENLABS_API_KEY
Usage: xil-produce --backend elevenlabs

// audio demos

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

// quick start

## 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. Scaffold a new project workspace (creates a copy of the sample script)
    $ xil-init my-show --show "My Podcast"
    $ cd my-show

    # 3. Scan the sample script (pre-flight check)
    $ xil-scan scripts/sample_S01E01.md

    # 4. Parse into structured JSON
    $ xil-parse scripts/sample_S01E01.md --episode S01E01

    # 5. Preview TTS character cost (no API calls)
    $ xil-produce --episode S01E01 --dry-run

    # 6a. Generate voice stems for free — no API key needed
    $ xil-produce --episode S01E01 --backend gtts

    # 6b. Or with ElevenLabs for production quality (requires API key)
    $ export ELEVENLABS_API_KEY="your_key_here"
    $ xil-produce --episode S01E01

    # 7. Export DAW layers for mixing in Audacity
    $ xil-daw --episode S01E01

    # 8. Produce final master MP3
    $ xil-master --episode S01E01

    # Output: master.mp3 ✓

📖 Full Getting Started Guide

// documentation

## Explore the Docs

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

🚀
Getting Started
Install xil-pipeline, configure your API keys, and render your first audio file in under 5 minutes.
📄
Script Format
The .xil.yaml schema — voices, cues, SFX, music layers, timing, and AI generation prompts.
🎙
ElevenLabs Integration
Configure voice IDs, stability, similarity boost, and streaming settings for TTS rendering.
🎵
Audio Layering
Mix music beds, ambient tracks, and sound effects with per-layer volume, fade, and timing control.
⚙️
CLI Reference
Full reference for all xil commands: xil-init, xil-scan, xil-parse, xil-produce, xil-daw, xil-master.
🔌
API & Plugins
Extend xil-pipeline with custom TTS providers, audio processors, and script generators via the plugin API.
🖥
xil-gui Dashboard
Browser UI powered by Gradio. Browse episodes, preview stems, run pipeline stages with live log streaming, and view the interactive timeline.

// capabilities

## 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 · 3 Backends
ElevenLabs (premium), gTTS (free, no key), or local Chatterbox (GPU zero-shot cloning). Swap backends with `--backend gtts|chatterbox|elevenlabs`.
🎵
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.
🖥
xil-gui · Gradio Dashboard
Optional browser UI with five tabs: Episodes, Audio Preview, Run Stage, Setup, and Timeline. Launch with `xil-gui` after `pip install 'xil-pipeline[gui]'`. Share via ngrok for partner access. optional extra
⚡
CLI-First Design
Fully scriptable. Integrate into CI/CD pipelines, cron jobs, or content automation workflows with zero GUI required.

// open source

## 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
AGPL
AGPL-3.0 License
🟢
Active Development
∞
PRs Welcome
🐍
Python

#### // 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
🌐 xilcmd.xyz — Web2 · this site | ⬡ xilcmd.hub — Web3 · Unstoppable Domain | 📄 Licensed under AGPL-3.0