An open API service indexing awesome lists of open source software.

https://github.com/solarnz/pamidicontrol

A utility to control the volume of PulseAudio streams / sinks / sources with a midi device
https://github.com/solarnz/pamidicontrol

audio go golang midi midi-controller pulseaudio

Last synced: 3 months ago
JSON representation

A utility to control the volume of PulseAudio streams / sinks / sources with a midi device

Awesome Lists containing this project

README

          

# pamidicontrol
A utility to control the volume of PulseAudio streams / sinks / sources with a midi device

This has been tested with a [KORG nanoKontrol2](https://www.korg.com/au/products/computergear/nanokontrol2/) on ArchLinux. The
nanoKontrol2 is an in-expensive USB midi device with 8 sliders, 8 knobs and 24 buttons, which is great for having more
fine-grained control over your audio setup!

# Installation

You will need the `portmidi` library installed. In Arch, install this with `pacman -S portmidi` under Debian Based systems, you will need to install `libportmidi-dev`

```
go get github.com/solarnz/pamidicontrol
```

# Configuration

pamidicontrol requires the use of a configuration file. Place the config file under `$HOME/.config/pamidicontrol/config.yaml`.
You can checkout the [example configuration file](https://github.com/solarnz/pamidicontrol/blob/master/config.yaml) to see how to configure pamidicontrol.
You must set a bare-minimum the Input and Output midi device names.

pamidicontrol will print to stderr all of the midi control messages it gets, so you can easily build up your configuration file iteratively.

# Troubleshooting

## panic: runtime error: invalid memory address or nil pointer dereference on startup

Make sure that the names you have configured for `InputMidiName` / `OutputMidiName` actually exist.

## /usr/run/XXX/pulse/dbox-socket not found

On some distributions, PulseAudio is configured without D-Bus control by default. To enable D-Bus control for PulseAudio, add `load-module module-dbus-protocol` to your PulseAudio configuration file located at `/etc/pulse/default.pa`.