Git Product home page Git Product logo

urcontrol's Introduction

urcontrol

Python-based, open-source library and command-line tool to control the Steinberg UR44C Mixer and DSP.

Probably will work with other models like UR22C, UR24C, and UR816C with minor changes; however, I can't test because I don't have such equipment.

The goal of this project is to replace dspMixFx, as it is not available for Linux and also doesn't work under Wine.

Agenda

The UR44C has two MIDI ports available via USB: the first one is physical MIDI interface, and the second one is internally connected to the Yamaha Mixer with DSP for control purposes. When no drivers are installed, the device works in Class Compliant mode, and both MIDI ports are available in the system. But after installing official drivers, the second port becomes hidden, and only the proprietary dspMixFx application can access it.

The Mixer is controlled by SYSEX messages with Yamaha manufacturer identifier and common Yamaha SYSEX message structure.

Currently, only a few protocol messages are recognized. If you want to recognize more, you may be interested in preparing the following setup:

  • Use a Linux host
  • Install Windows 10 in VirtualBox, install Steinberg drivers and tools into it.
  • Connect your sound card and forward it into Windows
  • Enable usbmon kernel module (sudo modprobe usbmon)
  • Copy mixer-control-protocol.lua into the Wireshark Global Lua Plugins folder (you can find the path in Help > About Wireshark > Folders)
  • Run Wireshark with root or USB access permission
  • Open the usbmon* port (try several to find which one has the connected device)

TODO / Plans

  • Write GUI (aka dspMixFx itself)
  • Recognize Sysex messages for storing/loading presets and bulk configuring of the device
  • Fully recognize Sysex messages for peak meters (some work is done, but additional sections like StreamingMix, Music, Voice are not recognized yet)
  • Recognize how the 3 virtual outputs (DAW/Music/Voice) are realized and try to implement it in Linux

Disclaimer

This software is developed for research purposes only. By using it, you do so at your own risk. The author have no responsibility for any consequences, including potential device brick, violating manufacturer licenses, lose device warranty etc.

urcontrol's People

Contributors

askoriy avatar

Stargazers

Marc avatar  avatar Maxim Moseychuk avatar Vladislav Kalugin avatar Samekraft avatar  avatar Strongleong avatar

Watchers

 avatar Marc avatar Samekraft avatar

Forkers

marcalv

urcontrol's Issues

GUI Development: Peak meters

Hi, I've started developing a GUI under Tkinter. In the readme is mentioned that partial work is done for peak meters (except for StreamingMix, Music and Voice).
Is any of the work done on peak meters currently published in this repo?
It would be useful for me to have the implementation for inputs or master volume to get started...

Thanks in advance for all your work, it is awesome!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.