Serialist is a live coding environment that uses serialist-grammar to generate MIDI messages. It requires a MIDI synthesizer (software or hardware) and does not generate any sound on its own.
Just want to play? Visit serialist.irritantcreative.ca for the live demo.
Usage Tips & Tricks
- Review the serialist-grammar syntax.
- Serialist uses the serialist-grammar Data syntax to send MIDI CC messages.
- Label your CC rows in the format
cc1(32 64 96)defines a row with values 32, 64 and 96 using CC 1).
- Select a MIDI output port from the MIDI Port menu (OS X users can use the IAC Driver Bus to route MIDI messages to a DAW or software synth).
- Type your command in the Command field and click the check button or press
Shift-Alt-Returnto evaluate and play.
- Control playback with the transport buttons or by pressing
- Modify your command and re-evaluate as often as you like. Your previous commands will be listed in the Command History field.
- The last 50 outgoing MIDI messages are listed in the MIDI History field.
- You can use the serialist-grammar identifier syntax to specify a MIDI channel for each voice. If you don't specify a MIDI channel, Serialist will send on channel 1.
- After playing, save any interesting commands by copying them from the Command History field to a text file on your computer.
All new branches should be based off of the
Toolchain & Configuration
gulpfile.js: gulp configuration
webpack.dev.config.js: webpack configuration for development (unminified)
webpack.prod.config.js: webpack configuration for production
- Use ES6 module syntax for better compatibility with babel
- Linting is performed by ESLint using rules defined in
- This project uses postcss with cssnext
@importstatements are supported via
- CSS variables are supported via
- CSS mixins are supported via
- Linting is performed by stylelint using rules defined in
$ cd /path/to/project $ npm install
dist files are not included in the repo on the
develop branch, so you need to compile by running
gulp after installation.
$ cd /path/to/project $ gulp
Compiling with the default
gulp task is slow, so use
gulp watch during development. This will run
webpack with the
gulp watch will also watch and compile CSS files.
$ cd /path/to/project $ gulp && gulp watch
Build for Production
gulp production to compile React for production and minify all assets. This should only be run on the
$ cd /path/to/project $ gulp production