# Thoughts on Instrument Definitions feature (CC definitions external synths)

**URL:** <https://discourse.zynthian.org/t/thoughts-on-instrument-definitions-feature-cc-definitions-external-synths/12501>\
**Category:** Software\
**Tags:** midi, feature-request\
**Created:** [October 11, 2025, 7:35pm UTC](https://discourse.zynthian.org/t/thoughts-on-instrument-definitions-feature-cc-definitions-external-synths/12501 "2025-10-11T19:35:34Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![rv5](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/rv5/32/13403_2.png) [@rv5](https://discourse.zynthian.org/u/rv5)\
**Post date:** [October 11, 2025, 7:35pm UTC](https://discourse.zynthian.org/t/thoughts-on-instrument-definitions-feature-cc-definitions-external-synths/12501/1 "2025-10-11T19:35:34Z")

</div>

I’m currently using Zynthian in a combination with hardware synths.  
A lot of these synths allow parameters to be changed with MIDI CC. I would like to automate these.

I found the MIDI Control External feature (as described in [Send Midi CC+PrgCH? - #41 by jofemodo](https://discourse.zynthian.org/t/send-midi-cc-prgch/10370/41) ) and also CC Send. Good stuff 👍

There @jofemodo says:

> [@Send Midi CC+PrgCH?](https://discourse.zynthian.org/t/send-midi-cc-prgch/10370/41):
>
> Note this simple “processor” could be used as a template for easily creating specific/custom controllers for specific external devices. This is cool 😉

That’s indeed extremely cool!

Later in above linked topic, the discussion evolves into creating some sorts of preset definitions:

> [@Send Midi CC+PrgCH?](https://discourse.zynthian.org/t/send-midi-cc-prgch/10370/86):
>
> these could be implemented as presets and saved as yaml files (for instance). Initially, these presets could be generated by hand and later, if enough interest, a UI tool could be developed. 2 steps grimacing

Instead of continuing there, I decided to create a new topic for this (I hope that is okay, if not please merge it), to keep things more focussed.

This idea of instrument definitions (that’s what I will call this from now on) is something you see on some hardware. Sequentix Cirklon does it. Oxi Instruments One does it (they have hardcoded presets for common hardware). And Squarp are also doing it on the Pyramid and Hapax (a feature that I enjoyed on both of these devices in the past). Sadly there’s not really a universal format for it.

There are some initiatives. For example:

> **[MIDI CC & NRPN database](https://midi.guide)**
>
> The 'comprehensive' dataset of all MIDI CCs and NRPNs.

Basically they have a big database of MIDI CC maps for a lot of hardware, and offer a download feature (CSV + device specific).  
That’s a great starting point.. I mean it’s way easier for end users to create some text files instead of creating their own plugin.

Wondering how far to go with such a feature.. You _could_ limit it to CC, but other options can be:

- drum note names/assignments (so that you can see the name in the piano roll)
- midi channel(s) (so that you can directly select an instrument instead of having to remember the channel)
- … (I guess plenty more)

Think it’s better to discuss this a bit instead of creating a feature request right away, this seems like something that can go a lot of ways.

---

<div class="post-metadata">

**Author:** ![jpetso](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/j/a88e4f/32.png) [@jpetso](https://discourse.zynthian.org/u/jpetso)\
**Post date:** [October 29, 2025, 5:49pm UTC](https://discourse.zynthian.org/t/thoughts-on-instrument-definitions-feature-cc-definitions-external-synths/12501/2 "2025-10-29T17:49:11Z")

</div>

> [@rv5](#):
>
> Think it’s better to discuss this a bit instead of creating a feature request right away, this seems like something that can go a lot of ways.

Whoops. I didn’t look at the forum, missed this post and created a [feature request](https://github.com/zynthian/zynthian-issue-tracking/issues/1516) right away when I saw the aforementioned Pencil Research database. Sorry!
