Skip to content
/ ports Public

Ports is an OSC to CV/Gate and MIDI converter. Built to run on raspberry pi zero w (or other variants), using max11300 chip over SPI.

Notifications You must be signed in to change notification settings

hdavid/ports

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Henri David
Nov 4, 2018
97af827 · Nov 4, 2018

History

22 Commits
Nov 4, 2018
Apr 18, 2017
Apr 18, 2017
Nov 20, 2017
Nov 20, 2017
Oct 8, 2018
Oct 8, 2018
Apr 18, 2017
Nov 20, 2017
Apr 18, 2017
Nov 20, 2017
Nov 4, 2018
Nov 20, 2017

Repository files navigation

Ports

Ports is an OSC to CV/Gate and MIDI converter. Built to run on raspberry pi zero w (or other raspberry pi variants). It listens for incoming OSC messages on port 5000.

It will convert them into CV/Trigger and gate on the MAX11300 chip or MIDI messages (see API section of this readme)

Installation

During this procedure we assume that you have access to your pi, using a screen + keyboard, or over SSH.

get your raspberry pi setup:

Ports could work on other linux flavours such as osmc etc, but the automatic WLAN fallback might not work as expected as WLAN is distro specific.

/install.sh (below) assumes the system is a raspbian jessie.

install ports

Clone ports repository git clone https://github.com/hdavid/ports.git

  • if git is not installed, just run sudo apt-get update && sudo apt-get install git

Then from the ports directory run ./install.sh

This will:

  • download and install the SPI broadcom drivers
  • install liblo osc lib package
  • install dnsmsaq package (dns, dhcp for accesspoint mode)
  • compile ports
  • configure fall back access point ssid: ports, psk: portsports
  • configure ports to start at boot time automatically

you can also install pink, to provide ableton link. run ./install-pink.sh

Accessing

If no known wifi network is in range, ports will create an access point :

  • ssid: ports
  • psk: portsports

You can add your own wifi networks in /etc/wpa_supplicant/wpa_supplicant.conf. Make sure to enter your network before the one added by ports (identified by ssid="ports" and mode=2), as wpa_supplicant try the networks in the order they appear in this configuration file.

Example of network configuration :

network={
	str_id="myNetworkFriendlyName"
    ssid="myNetwork"
    psk="MyPassword"
}

Running

Port must run as root on order to access SPI bus used to communicate with the MAX11300. Note that ports is started automatically at boot time. (done by ./install.sh)

you can however start manually from

sudo /usr/local/bin/portsd no-daemon

OSC API

OSC Port: 5000

CV Outputs

/out/<[1-20]>/<mode> <float>

mode is one of : trig, gate, flipflop, cvuni, cvbi, lfosine, lfosaw, lfotri, lfosquare

unipolar is [0v 10v]. bipolar is [-5v +5v]. LFO rates are in Hertz. other input values are in the range [0 1] and mapped to the cv voltage.

MIDI Output

for now the MIDI device is hardcoded in the code to be the first usb device plugged. /dev/snd/midiC1D0 is easily changeable in Ports.cpp.

/midi/<channel>/cc/<midiCC> <value>

/midi/<channel>/noteOn/<noteNumber> <velocity>

/midi/<channel>/noteOff/<noteNumber> <velocity>

channel: 1-16

noteNumber, midiCC, velocity, value : 1-127

Possible Improvements

About

Ports is an OSC to CV/Gate and MIDI converter. Built to run on raspberry pi zero w (or other variants), using max11300 chip over SPI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published