A professional Linear Time Code (LTC) generator with a modern web-based user interface. This application generates SMPTE-compliant LTC audio files for broadcast and post-production use.
Download the ready-to-use executable from the Releases page - no installation required!
For Windows users, simply download LTC_Timecode_Generator.exe
and run it directly.
- Professional SMPTE Compliance: Generates industry-standard LTC audio signals
- Multiple Frame Rates: Support for all standard broadcast frame rates including drop-frame
- High-Quality Audio: 16/24-bit depth at various sample rates (44.1kHz to 192kHz)
- Modern Web UI: Clean, responsive interface built with HTML5, CSS3, and JavaScript
- Real-time Preview: Live filename preview based on your settings
- Pre-roll Support: Optional 10-second pre-roll before main timecode
- Cross-Platform: Runs on Windows, macOS, and Linux
- 23.976 fps (Non-Drop Frame)
- 24 fps (Non-Drop Frame)
- 25 fps (PAL - Non-Drop Frame)
- 29.97 fps (Non-Drop Frame & Drop Frame)
- 30 fps (Non-Drop Frame)
- 50 fps (Non-Drop Frame)
- 59.94 fps (Non-Drop Frame & Drop Frame)
- 60 fps (Non-Drop Frame)
- Sample Rates: 44.1 kHz, 48 kHz, 96 kHz, 192 kHz
- Bit Depths: 16-bit, 24-bit
- Format: Mono WAV files
- Encoding: Bi-phase mark encoding (Manchester encoding)
- Go to the Releases page
- Download
LTC_Timecode_Generator.exe
for Windows - Run the executable directly - no installation needed!
- Clone this repository:
git clone https://github.com/sithulaka/LTC-Timecode-Generator.git cd LTC-Timecode-Generator
- Install Python 3.7 or higher
- Install dependencies:
pip install -r requirements.txt
-
Start the application:
python app.py
-
The application will open in your default web browser
-
Configure your LTC parameters:
- Start Time: Set hours, minutes, seconds, and frames (hh:mm:ss:ff)
- Duration: Specify length in minutes (0.1 to 120 minutes)
- Frame Rate: Choose from available SMPTE frame rates
- Audio Format: Select bit depth and sample rate
- Pre-roll: Optionally add 10 seconds before start time
-
Generate the file: Click "Generate & Download LTC" and the WAV file will be created
LTC_Timecode_Generator/
├── app.py # Eel backend application
├── ltc_generator.py # Core LTC generation logic
├── requirements.txt # Python dependencies
├── web/ # Frontend assets
│ ├── index.html # Main UI
│ ├── styles.css # Styling
│ └── script.js # Frontend logic
└── README.md # This file
-
Clone the repository:
git clone https://github.com/sithulaka/LTC-Timecode-Generator.git cd LTC-Timecode-Generator
-
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python app.py
Generated files follow this naming pattern:
LTC_[start-time]_[duration]_[frame-rate]_[bit-depth]_[sample-rate][_preroll].wav
Example: LTC_01-00-00-00_10m00s_30fpsndf_16bit_48khz.wav
- 80 bits per frame containing:
- Timecode data (hours, minutes, seconds, frames)
- User bits (available for custom data)
- Control flags (drop frame, color frame)
- Sync word (0x3FFD)
- Signal Type: Square wave alternating between positive and negative levels
- Encoding: Bi-phase mark (Manchester) encoding
- Frequency Range: Varies with frame rate (typically 960-4800 Hz)
- Amplitude: Full-scale audio signal
- SMPTE 12M: Time and Control Code standard
- IEC 60461: Timecode for audio systems
- ITU-R BR.780: Timecode systems for broadcasting
Generated LTC files are compatible with:
- Avid Pro Tools
- Adobe Premiere Pro/After Effects
- DaVinci Resolve
- Professional hardware sync generators
For 29.97 fps and 59.94 fps drop frame formats:
- Frames 00 and 01 are skipped at the start of each minute
- Exception: Every 10th minute (00, 10, 20, 30, 40, 50) - no frames are skipped
- This compensates for the difference between nominal and actual frame rates
-
Application won't start:
- Ensure Python 3.7+ is installed
- Install all dependencies:
pip install -r requirements.txt
- Check if port 8000 is available
-
Browser doesn't open automatically:
- Manually navigate to
http://localhost:8000
- Try a different browser
- Manually navigate to
-
File generation fails:
- Check disk space
- Ensure write permissions to output directory
- Verify input parameters are within valid ranges
-
Audio playback issues:
- LTC is not meant for standard audio playback
- Use professional audio software or timecode readers
- Signal appears as digital noise in consumer players
- Large duration files (>60 minutes) may take time to generate
- Higher sample rates increase file size and generation time
- 24-bit files are roughly 50% larger than 16-bit files
For technical issues or questions about LTC implementation, please refer to:
- SMPTE standards documentation
- Professional audio engineering resources
- Broadcast engineering communities
A professional-grade Linear Time Code (LTC) generator compliant with SMPTE standards for broadcast and post-production applications. This tool produces industry-standard LTC audio signals compatible with professional audio/video equipment and software.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License and this project is provided as-is for educational and professional use. Please ensure compliance with local broadcast standards and regulations when using generated timecode in professional environments. - see the LICENSE file for details.