Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tuidio - Almost a DAW (Not even close)

Tuidio is a low-resource Digital Audio Workstation (DAW) designed to make music production accessible on low-end computers. By leveraging a Terminal User Interface (TUI), it removes heavy graphical hardware barriers.

Currently, it allows for multi-track recording directly via the terminal.


Demonstration

Features

  • Multi-track Recording: Record multiple audio layers via a terminal interface.
  • Lightweight TUI: Minimalist Text User Interface for maximum performance.
  • Hardware Efficient: Designed specifically for low-end machines.

Roadmap

1. Sync and Timeline

  • Timing Engine: BPM to audio sample conversion for mathematical precision.
  • Metronome: Synchronized audio clicks and visual beat tracking.
  • Playhead: A real-time moving cursor indicating playback position.

2. Clips and Recording

  • Multitrack Engine: Overdubbing support (record while listening to existing tracks).
  • Clip System: Non-destructive editing using metadata (start point, offset, and duration).

3. Audio Editing

  • Snapping: Automatic alignment of clips to the metronome grid.
  • Editing Commands: Keyboard shortcuts for:
    • Split: Slice clips at specific points.
    • Move: Shift clips across the timeline or between tracks.
    • Delete: Remove clips from the session.

4. Persistence and Output

  • Project Save/Load: Session data stored in lightweight .tuidio (JSON) files.
  • Mixdown (Export): Render all tracks into a final master .wav file.

5. Low-End Optimization

  • Latency Compensation: Automatic adjustment for hardware I/O delay.
  • Priority Multithreading: Isolated threads for Audio (Real-time priority) and Interface (Low priority).

Requirements

  • Python: 3.10+
  • OS: Linux (recommended for best compatibility)
  • Hardware: Microphone and speakers/headphones

Installation

  1. Clone the repository:

    git clone <repo-url>
    cd tuidio
  2. Create a virtual environment (Recommended):

    python3 -m venv .venv
    source .venv/bin/activate
  3. Install dependencies:

    pip install -r requirements.txt

How to Run

Start the application with:

python tuidio.py

License

This project is licensed under the MIT License.


Tuidio = TUI + Audio (or TUI + Studio... you decide)

About

A minimalist, terminal-based Digital Audio Workstation (DAW) written in Python for multitrack audio recording.

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages