Skip to content

YeshiNamkhai/Pilot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

198 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pilot

Pilot is a UDP synthesizer designed to be controlled externally. It was created as a companion application to the livecoding environment ORCA.

Install & Run

You can download builds 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

  • 0 to 5 is Amplitude Modulation (poly)
  • 6 to 9 is Frequency Modulation (poly)
  • 10 to 11 is a single oscillator, a filter and two envelopes (mono)
  • 12 to 14 is a single oscillator with an amplitude envelope and frequency ramp to emulate membrane (mono)

Drums

The last voice (F) features a sample player with 116 drum sounds from the Roland TR-808, with courtecy of Michael Fischer .

  • BASS DRUMS (C0 - C2) - 25 samples
  • SNARES (C#2 - C#4) - 25 samples
  • CYMBALS (D4 - D6) - 25 samples
  • TOMS: LOW, MID, HI (D#6 - F7) - 15 samples
  • CONGAS: LOW, MID, HI (F#7 - G#8) - 15 samples
  • HI-HATS SECTION (A8 - D9) - [ 1 Closed, 5 Open]
  • ONE-SHOTS (D#9 - G9) - [Cowbell, Clave, Clap, Maracas, Rimshot]

To use your own sample set, add audio files to the media folder and edit mapping.json to your needs.

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

EQU0, COM0, VOL0, LIM0, 0-z to set levels, reset for initial values.

dB metering #f03c15 -6 #ffff00 -18 #00ff00 -48 #f0f0f0 no signal

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.
  • Support this project through Patreon.
  • See the License file for license rights and limitations (MIT).
  • Pull Requests are welcome!

About

Orca's best friend.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 80.7%
  • CSS 13.1%
  • HTML 6.2%