Poorchid (The Poor Man's Orchid) is an open-source web-based chord synthesizer inspired by the Telepathic Instruments Orchid. It features a unique "Voicing Dial" that allows for fluid inversion and spreading of chords across the keyboard.
- Polyphonic Chord Generation: Automatically generates chords from single root notes.
- Chord Types: Major, Minor, Suspended, Diminished.
- Extensions: Add 6th, 7th, Major 7th, and 9th intervals.
- Voicing Dial: A continuous control to shift the chord voicing up and down the spectrum, creating musical inversions automatically.
- Web Audio API: Pure synthesis, no samples required.
- H: C
- U: C#
- J: D
- I: D#
- K: E
- L: F
- O: F#
- ;: G
- P: G#
- ': A
- [: A#
- Extensions:
- Q: 6
- W: 7
- E: Maj7
- R: 9
- Chord Types:
- A: Major
- S: Minor
- D: Suspended
- F: Diminished
- Voicing:
- Z: Voicing Down
- X: Voicing Up
- Power: Click the ON/OFF button.
- MIDI: Connect a MIDI keyboard to play.
- Node.js (v16+)
- npm
- Clone the repository:
git clone https://github.com/yourusername/poorchid.git cd poorchid - Install dependencies:
npm install
Start the development server:
npm run devOpen http://localhost:5173 in your browser.
Run the test suite (Vitest):
npm testTo run coverage:
npm run coveragesrc/chord-logic.js: Pure logic for calculating MIDI notes based on chord rules.src/voicing-engine.js: Algorithm for adjusting note octaves based on the "Voicing Dial" center pitch.src/audio-engine.js: Wrapper around Web Audio API to manage oscillators and envelopes.src/main.js: Main application controller and UI rendering.
MIT