Skip to content

Repository files navigation

🎹 OpenChord - Mobile Synthesizer & Loop Workstation

Open Source Love Flutter Dart License: MIT PRs Welcome Download APK

OpenChord is an open-source mobile chord synthesizer and loop workstation inspired by pocket music devices. Built with Flutter and C++ audio synthesis, it generates 17,000+ diatonic chord combinations, multi-track loop recordings, real-time DSP filters, and drum backing tracks with zero prior music theory needed.


📥 Installation & Android APK

You can install the pre-compiled APK directly on Android devices, or build from source:

📱 Android APK Installation

  1. Download the compiled release: 👉 OpenChord-v1.0.0.apk
  2. Open .apk on your Android device (enable "Install from Unknown Sources" if prompted).
  3. Open OpenChord in landscape mode for optimal handheld ergonomics.

🎨 UI Aesthetic & Visual Layout

Features a responsive Studio Obsidian & Cyberpunk Dark tactile interface designed for handheld performance:

OpenChord Workstation Screenshot

+-----------------------------------------------------------------------------------------+
|                                  OPENCHORD WORKSTATION                                  |
| +-------------------------------------------------------------------------------------+ |
| | [ 📶 SPECTRUM EQ ]   | OLED DISPLAY: READY / Key: C | Oct: 4   | [REC] [LAYERS] [CLEAR]| |
| |                        | Wav: SIN | Inv: Root | Trk: 1         | [BEAT] [KIT] [REVERB] | |
| | [Vol]  [===========]   |                                       -----------------------| |
| | [Filt] [===========]   |                                       [KEY] [OCT] [PRESET][MODE]| |
| |                        |                                                              | |
| |    ( 🕹️ Joystick )     |   [  I  ]     [  II  ]    [  III ]    [  IV ]               | |
| |    8-Way Modifier      |   CMaj        DMin        EMin        FMaj                  | |
| |                        |                                                              | |
| |                        |               [  V  ]     [  VI  ]    [ VII  ]               | |
| |                        |               GMaj        AMin        BDim                   | |
| +-------------------------------------------------------------------------------------+ |
+-----------------------------------------------------------------------------------------+
  • Chassis: Dark Obsidian Slate (#1F2230 to #090A10) with a Cyber Teal accent border (#00F5D4).
  • Pads: Dark Titanium Launchpads (#262938) emitting a Cyber Cyan neon glow on touch.
  • Display: Crisp VFD Matrix Display for key, octave, chord voicing, and mode feedback.

⚡ Technical Architecture & Features

🎼 17,000+ Diatonic Chord Combinations

Calculated algorithmically via the Nashville Number System: 12 Keys × 7 Scale Degrees × 14 Chord Types × 3 Inversions × 5 Octaves = 17,640 Combinations

🕹️ Real-Time 8-Way Joystick Modifier

Dynamically shifts chord qualities on the fly while holding any degree pad:

  • ⬆️ Up: Major 7th (Maj7)
  • ⬇️ Down: Suspended 4th (Sus4)
  • ⬅️ Left: Dominant 7th (7)
  • ➡️ Right: Minor (Min)
  • ↖️ ↗️ ↙️ ↘️ Diagonals: Diminished, Augmented, Sus2, Minor 7th

🎹 10 Synthesizer Patches

Algorithmic synth waveforms built with SoLoud: Pure Sine, Retro 8-Bit, SuperSaw Lead, Dreamy Pad, Harsh Bass, Fat Square, Glassy Bell, Chiptune Pluck, Cinematic Brass, Lofi Keys.

🎛️ 3 Performance Play Modes

  • CHORD: Simultaneous polyphonic block chords.
  • ARPEGGIATOR: Rhythmic sequential note patterns.
  • STRUM: Staggered 50ms note triggers mimicking guitar strumming.

🥁 4 Drum Machine Backing Loops

Synthesized loopable beat patterns: Pop (120 BPM), Lo-Fi (85 BPM), HipHop (95 BPM), Synthwave (110 BPM).

🎚️ 4-Track Context-Aware Multi-Track Looper

Layer chord progressions, arpeggios, and melodies across 4 independent tracks. Each loop event stores preset, play mode, and octave parameters to preserve sound fidelity during playback.

🌊 DSP Filters & Audio Effects

  • Biquad Resonant Low-Pass Filter: Real-time frequency cutoff slider (200Hz - 20kHz).
  • Freeverb Reverb: Studio ambient hall reverb engine.
  • ADSR Release Envelope: Smooth 400ms volume release on pad release.

📖 Progression Guide

🎸 Iconic Pop Progression (The 4-Chord Magic)

I ➔ V ➔ VI ➔ IV (Let It Be, Despacito, Someone Like You)

🌌 Cinematic / Ambient Progression

VI ➔ IV ➔ I ➔ V (Emotional synthwave and movie soundtracks)

🎷 Jazz / R&B Turnaround

II ➔ V ➔ I (Smooth jazz turnarounds)


💻 Developer Build & Setup

# Clone the repository
git clone https://github.com/furkanava/openchord_synth.git

# Navigate to project directory
cd openchord_synth

# Install dependencies
flutter pub get

# Run static analysis
flutter analyze

# Run on connected device or emulator
flutter run

🤝 Contributing & Roadmap

Contributions are welcome! Check out the Contributing Guide.

🗺️ Roadmap

  • MIDI File Export (.mid): Export looper tracks to standard MIDI files.
  • Audio Source Pooling: Optimized voice pool for zero-latency note triggering.
  • BPM & Loop Tempo Control: Variable tempo slider for drum machine beats.
  • SoundFont / SF2 Integration: Support for sampled acoustic instruments.

📜 License & Legal Disclaimer

  • License: Distributed under the MIT License.
  • Legal Disclaimer: OpenChord is an independent open-source software project inspired by pocket music devices. It is NOT affiliated, associated, authorized, endorsed by, or in any way officially connected with Pocket Audio Inc., HiChord, or any of their subsidiaries. All code, music theory algorithms, DSP synthesis logic, and visual UI themes are 100% original.

About

Open-source mobile chord synthesizer and loop workstation built with Flutter and C++ audio synthesis

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages