Concepts
This page explains the core concepts and terminology of xtra audio.
Projects
A project is the top-level organizational unit. It holds all stations, media, and team members.
Each project defines:
- Timezone: Reference time zone for scheduling and reporting
- Billing: Subscription and addon billing for all contained stations
- Maintenance window: Time slot reserved for updates and maintenance
- Team: Members and their project-level permissions
One project can contain multiple stations. All stations share the same media library and team.
See Station Settings for project and station configuration.
Stations
A station is a broadcasting unit within a project. Each station has its own:
- Stream output (encoders)
- Schedule (planner)
- Live interface (studio)
- Audio processing settings
- Plan, billing status, and release channel
Example structure:
Radio Network (Project)
├── Media Library (shared)
├── Team Members (shared)
├── Main Channel (Station)
├── News Channel (Station)
└── Music Channel (Station)Station Types
| Type | Purpose |
|---|---|
| Station | Full broadcast channel with playout, scheduling, and streaming |
| Stage | Testing and preview environment with a simplified live interface |
| Relay | Restream an external audio source directly to the encoders |
Release Channels
Each station follows a release channel that controls how early it receives feature updates:
- Stable: Tested releases for production stations
- Beta: Pre-release features for early testing
- Alpha: Experimental features under active development
Billing and Subscriptions
Each station runs on a plan that determines available features and limits.
| Plan | Target Use Case |
|---|---|
| Basic | Automated playout |
| Plus | Voicetracking and extended features |
| Pro | Live broadcasting and advanced processing |
| Ultimate | Full feature set with maximum capacity |
Plans are billed monthly or yearly. Addons extend station or project capabilities independently of the plan (e.g., additional storage, sound processing).
Media Library
The media library is the centralized storage for all audio files in a project. Files can be organized with:
- Playlists: Ordered collections of media items
- Folders: Hierarchical structure for grouping files
- Types: Categories like "Music", "Jingles", "Ads", with optional TTL (auto-expiry)
- Custom fields: Additional metadata fields per type
- Tags: Free-form labels for filtering and search
Each file carries metadata, cue points, and availability scheduling:
- Metadata: Title, artist, and custom field values
- Cue points: Intro, outro, and mix markers that control transitions
- Availability scheduling: A 7×24 grid that defines when a file may play
All stations in a project access the same media library.
See Media Library for details.
Studio
The studio is the live broadcasting interface. It combines a multi-player deck with mixing, instant playback, and queue management. It provides:
- Multi-player deck: Multiple players for overlapping and crossfading audio
- Playlist queue: Sequence of items to play
- Mixer: Volume control for multiple channels (players, speaker, cartwall)
- Cartwall: Grid of buttons for instant playback (jingles, sound effects)
- Real-time collaboration: Multiple presenters share the same live session
The studio operates in three playback modes:
| Mode | Behavior |
|---|---|
| AUTO | Fully automated playout from the planner |
| ASSIST | Semi-manual, presenter triggers items |
| MANUAL | Full manual control over every player |
See Live Studio for details.
Planner
The planner is the scheduling system that automates broadcast playout. It uses:
- Sequences: Define what plays (e.g., "one song from playlist X, then one jingle")
- Week Planner: A 7-day grid that assigns sequences to each hour
- Rotations: Generated playlists produced from sequences for a given hour
Items within a sequence use a timing type that controls when they play:
| Timing Type | Behavior |
|---|---|
| Normal | Plays in sequence order without a fixed time |
| Hard fixed | Plays at an exact time, interrupting the current item |
| Soft fixed | Plays close to a target time, after the current item ends |
| Backtimed | Ends at an exact time, scheduled backward from that point |
The planner generates a playlist that feeds into the studio automatically.
See Planner for details.
Sessions
A session is a multi-track audio editor for voice tracking, recording, and audio production. Sessions support:
- Multiple audio tracks with drag-and-drop arrangement
- Voice tracking and recording with microphone input
- Volume automation and ducking
- Export to the media library and playback within the studio schedule
Sound Processing
Stations can apply audio processing to maintain broadcast quality:
- EBU R128: Loudness normalization to a target LUFS value
- Sound Processing: Professional audio processing via integrated web interface (requires addon)
See Station Settings for audio processing configuration.
Encoders
An encoder is a streaming output configuration. It connects a station to an Icecast or SHOUTcast server and defines the stream format.
Each encoder configures:
- Codec: Output format such as MP3, AAC, or Opus
- Bitrate: Stream quality and bandwidth
- Metadata: Now-playing information sent with the stream
- Server: Target Icecast or SHOUTcast mountpoint
See Station Settings for encoder configuration.
External Sources
External sources import audio into the media library automatically from external systems. They are used for news feeds and syndicated content.
Supported source types:
- HTTP: Download files from a web URL
- FTP: Pull files from an FTP server
- RSS: Fetch enclosures from a podcast or news feed
The Relay station type connects a live external stream directly to the encoders for rebroadcasting.
Triggers
A trigger inserts advertisements into the broadcast at defined points. External advertising systems detect or receive these markers to place ad content.
Trigger types:
| Type | Mechanism |
|---|---|
| Native | xtra-managed ad insertion within the playout |
| Frequency-based | Inserts ads at a configured interval |
| Bitflip | Signals an external ad system via a stream flag |
| Media-specific | Triggers tied to specific media items |
Triggers are managed at the project level and used within sequences and rotations.
Team and Permissions
Team members are users with access to a project. Each member receives granular permissions through roles.
Permissions are assigned at two levels:
- Project level: Access to project settings, API management, and station visibility
- Station level: Access to station-specific features like the planner or studio
Key capabilities:
- Roles: Group configurable permission sets, scoped to the project, all stations, or specific stations
- External invites: Add users outside the project by email
See Permissions for details.
Addons
Addons are additional features purchased on top of a station or project plan. They extend capacity or capabilities independently of the plan.
Examples:
- Storage: Additional media library capacity
- Sound processing: Professional audio processing via integrated web interface
See Billing and Subscriptions for plan details.
Public API
The public API is a REST API for integrating station data into external websites and applications.
Common uses:
- Now playing: Current track and metadata for embedding on a website
- History: Recently played items
API access is managed at the project level. See Team Management for API key management.
Next Steps
| Topic | Description |
|---|---|
| Media Library | Uploading, organizing, playlists, metadata |
| Live Studio | Mixer, cartwall, playback modes |
| Planner | Sequences, week planner, rotations |
| Station Settings | Encoders, audio processing, webhooks |
| Team Management | Invitations, roles, permissions |