← Back to Repository

🎹 ARCO - Virtual Instrument Playground

Create, configure, and parameterize custom virtual instruments in the terminal

ARCO (ARchitectural COmposer) is a CLI application with a TUI interface for creating virtual/MIDI instruments. It provides a complete virtual instrument playground with real-time parameter control, built-in sequencer, and comprehensive sound shaping capabilities.

📦 Installation Options

RHEL/CentOS/Rocky/Alma/Fedora
🚀 RPM Install
# Add repository
sudo dnf config-manager --add-repo https://repos.musicsian.com/musicsian.repo # Install package
sudo dnf install arco # Launch ARCO with default settings
arco # Or set initial frequency and BPM
arco --frequency 220 --bpm 140
Arch Linux
🏛️ AUR Package Available
# Install using yay
yay -S arco # Or using paru
paru -S arco # Launch ARCO with default settings
arco # Or set initial frequency and BPM
arco --frequency 220 --bpm 140

🎵 Key Features

🎹 Real-time Virtual Instrument
  • Multiple oscillator types (Sine, Square, Saw, Triangle)
  • Piano keyboard layout (QWERTY keys A-K)
  • Real-time parameter control
  • Low-latency audio processing
🎵 Built-in Sequencer
  • 5 pre-built melodies in major and minor keys
  • Tempo control (60-200 BPM)
  • Auto-looping and transport controls
  • Play/Pause/Stop functionality
🔧 Sound Shaping
  • Filters: Low-pass, High-pass, Band-pass
  • ADSR envelopes with full control
  • Built-in reverb effects
  • 13 real-time parameters
💾 Preset System
  • 5 built-in presets (Default, Warm Pad, Bright Lead, Bass, Ethereal)
  • Save/load custom presets (Press 'R')
  • Automatic storage in ~/.config/arco/

🎮 Controls

Navigation: TAB/SHIFT-TAB Navigate between controls ↑/↓ or +/- Adjust parameter values ENTER Switch between panels Piano Keys: | W| |E| | | T| |Y| |U| |C#|D#| | F#|G#|A#| | | | | | | | | | | | | |A|S|D|F|G|H|J|K| |C|D|E|F|G|A|B|C| Sequencer: SPACE or P Play/Pause sequencer X Stop playbook Presets & Help: R Save current settings as preset ? Show/hide help ESC Close help modal Q Quit ARCO

🎼 Available Melodies

1. C Major Scale - Classic ascending scale (120 BPM) 2. A Minor Arpeggio - Smooth chord progression (100 BPM) 3. G Major Melody - Upbeat happy tune (140 BPM) 4. D Minor Mood - Contemplative piece (90 BPM) 5. E Major Bright - Fast energetic melody (150 BPM)

⚙️ System Requirements

Architecture: x86_64 OS: Linux (AlmaLinux 9+, RHEL 9+, Rocky Linux 9+, Fedora) Audio: ALSA-compatible sound system Memory: 50MB RAM minimum Storage: 10MB disk space

🛠️ Development

# Install dependencies
sudo dnf install rust cargo alsa-lib-devel pkg-config # Build from source
git clone https://github.com/musicsian/arco.git
cd arco
make build # Run tests
make test # Create RPM package
make rpm