Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hundredrabbits/Pilot
Orca's best friend.
https://github.com/hundredrabbits/Pilot
electron livecoding orca synthetiser udp
Last synced: 3 months ago
JSON representation
Orca's best friend.
- Host: GitHub
- URL: https://github.com/hundredrabbits/Pilot
- Owner: hundredrabbits
- License: mit
- Created: 2019-01-19T21:21:05.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-28T04:58:31.000Z (9 months ago)
- Last Synced: 2024-08-01T02:33:15.378Z (6 months ago)
- Topics: electron, livecoding, orca, synthetiser, udp
- Language: JavaScript
- Homepage: http://wiki.xxiivv.com/Pilot
- Size: 2.12 MB
- Stars: 511
- Watchers: 15
- Forks: 40
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Pilot
[Pilot](http://wiki.xxiivv.com/Pilot) is a **UDP synthesizer** designed to be controlled externally. It was created as a companion application to the livecoding environment [ORCA](https://hundredrabbits.itch.io/orca).
## Install & Run
You can download [builds](https://hundredrabbits.itch.io/pilot) for **OSX, Windows and Linux**, or if you wish to build it yourself, follow these steps:
```
git clone https://github.com/hundredrabbits/Pilot.git
cd Pilot/desktop/
npm install
npm start
```## Commands
Pilot has 16 voices, and 8 effects. Commands can be entered directly with the input bar, or through UDP via the port `49161`. You can send multiple commands at once by using the `;` character. For example, `03C;13E` will play a `C3` and `E3` chord.
### Channel
#### Play
The Play commands allows you to play synth notes.
| Command | Channel | Octave | Note | Velocity | Length |
| :- | :-: | :-: | :-: | :-: | :-: |
| `04C` | 0 | 4 | C | _64_ | _1/16_ |
| `04Cf` | 0 | 4 | C | 127 | _1/16_ |
| `04Cff` | 0 | 4 | C | 127 | 1bar |#### Settings
The Settings commands allow you to change the sound of the synth. The settings command format is a **channel** value between `0-G`, a 3 characters long **name**, followed by four values between `0-G`. The possible waveforms are `si`, `2i`, `4i`, `8i`, `tr`, `2r`, `4r`, `8r`, `sq`, `2q`, `4q` `8q`, `sw`, `2w`, `4w` and `8w`.
| Command | Channel | Name | Info |
| :- | :- | :- | :- |
| `0ENV056f` | 0 | Envelope | Set **Attack**:0.00, **Decay**:0.33, **Sustain**:0.40 and **Release**:1.00 |
| `1OSCsisq` | 1 | Oscilloscope | Set **Osc1**:Sine, **Osc2**:Square |### Global
#### Effects
The Effects are applied to all channels. The effect command format is a 3 characters long **name**, followed by one value between `0-G` for **wet** and **depth**.
| Command | Channel | Operation | Info |
| :- | :- | :- | :- |
| `BITff` | All | Bitcrusher | .. |
| `DISff` | All | Distortion | .. |
| `WAHff` | All | AutoWah | .. |
| `CHEff` | All | Chebyshev | .. |
| `FEEff` | All | Feedback | .. |
| `DELff` | All | Ping Pong Delay | .. |
| `TREff` | All | Tremolo | .. |
| `REVff` | All | Reverb | .. |
| `PHAff` | All | Pashor | .. |
| `VIBff` | All | Vibrato | .. |
| `CHOff` | All | Chorus | .. |
| `STEff` | All | StereoWidener | .. |
| `EQUff` | All | EQ3 | .. |
| `COMff` | All | Compressor | .. |
| `VOLff` | All | Volume | .. |
| `LIMff` | All | Limiter | .. |#### Masters
`TODO` Add the ability to change the mastering effects like compressor and volume. Coming soon!
#### Special
- `bpm140`, sets the BPM to `140`. This command is designed to apply to effects like feedback.
- `renv`, randomizes envelopes.
- `rosc`, randomizes oscillators.
- `refx`, randomizes effects.
- `reset`, reset all.## Record
Press **cmd/ctrl+r** to record, and press it again to stop.
## Convert OGG to MP3
Just use ffmpeg.
```
~/Documents/ffmpeg -i last.{ogg,mp3}
```## Extras
- This application supports the [Ecosystem Theme](https://github.com/hundredrabbits/Themes).
- Support this project through [Patreon](https://www.patreon.com/hundredrabbits).
- See the [License](LICENSE.md) file for license rights and limitations (MIT).
- Pull Requests are welcome!