Skip to content

dewert/nocturn-linux-midi

 
 

Repository files navigation

This is a basic implementation of the Novation Nocturn USB Controller [1] protocol, meant for Linux, though it might work elsewhere. The protocol was reverse-engineered by felicitus (timoahummel on github). This project will eventually allow the Nocturn to be used as a normal MIDI control surface in Linux. There is basic functionality now, but much is still broken. Notably broken/unimplemented things are:
* the GUI, for the most part - no on-the-fly config. it's really just a display
* smoothness - the rotary encoders seem to be a bit "jumpy", and I'm really not too sure why
* specifying inc/dec vs. value mode - all encoders just send a 0-127 value
* specifying key presses as actions - this is super useful in the original Automap, since you can assign random keyboard shortcuts to easy-access buttons (you do need to buy the "Pro" version though!)
* touch sensitivity - only turning encoders works, not just touching them

Dependencies:
* pyPortMIDI
* pubsub
* pyusb
* wxPython
* pyYAML

The configuration file should be self explanatory.  Format is YAML. See test.yaml for an example. The GUI will prompt you to open a configuration file on running, unless you specify --filename (-f) at the command prompt.

All MIDI signals sent are CC's. Note actions are not supported - I've found them to be useless with the Nocturn. Let me know if this is something you need, and I'll see what I can do, or just do it yourself! Start with Midder.py, and also take a look at NocturnActions.py

There is also an included udev rule - put it where your distro keeps udev rules.  For Arch, that is /etc/udev/rules.d
The rule will chgrp the Nocturn to "users" so make sure you are in that group, or change the udev rule.

Run the NocturnGUI.py script with
	python2 NocturnGUI.py [-f configfilepath]
and enjoy!

To see the messages being received from the hardware, run
	python2 NocturnHardware.py
at the command line. It will print each message received.

De Wet van Niekerk (dewert) - dvan.ca - [email protected]

[1] http://www.novationmusic.com/products/midi_controller/nocturn

About

Basic Linux MIDI support for the Novation Nocturn

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%