Code Monkey home page Code Monkey logo

datafiles's Issues

Test Instrument File contains deviceId

Hi martin,

The Test Instrument File contains a deviceId (line 45), that feels wrong, am I right? ๐Ÿ˜‰

Also in the example part of the Instrument File Schema.
And while we are at it, the github pointer at the top of the schema, is not (exactly) correct.
It should be https://github.com/martinpavlas/electra.one/blob/master/schemas/instr.json ๐Ÿ˜‰

Could you explain me defaultValue with respect to to midiValue and displayValue?

properties.name is mentioned twice, probably a typo, the first one should be id, right?

Midi Ports for device configuration

instead of solely the USB ports, make the Midi ports available for editing the configuration of Elektra One.
Background: because over USB Elektra One uses the class compliant windows driver which is not multi client capable. Over a Midi interface however (e.g. the Mio10) with multi-client capable drivers I could have the browser open to configure as well as Ableton. Not super high priority but nice to have

Roland checksum calculation issue

The result of roland checksum calculation for message:

[
  "41",
  "00",
  "14",
  "12",
  "00",
  "01",
  "40",
  "3F",
  {
    "type": "checksum",
    "algorithm": "roland",
    "start": 4,
    "length": 4
  }
]

is 0xF7. That is bad.

Bidirectional communication with VST plug-ins

Bidirectional communication for VST plug-ins, so that parameter changes done by mouse, automation or another controller are reflected on the Elektra One. Admittedly I don't know if VSTs send CC or NRPN when changing parameters or presets (probably not for the latter)

Multiple instances of one parameter do not work

There are multiple controls with the identical parameter only the first one is being updated. The other instances only send data. It should work so that all controls with the same parameter are kept in sync.

Lexicon 300 NRPN

I want to remote control my Lexicon 300 Reverb with Electra. The 300 uses a special nrpn systax. Is it possible to prgram the Electra this way? Where can I attach a pdf?
Lexicon 300 NRPN.pdf

Add checksum value for Axe FX III

SysEx templates have to support Fractal Audio checksum calculation. see http://wiki.fractalaudio.com/axefx2/index.php?title=MIDI_SysEx#MIDI_SysEx:_calculating_the_SysEx_Checksum

Hi, I'm working on some Axe FX III implementation and noticed that they use a checksum for most of their SysEx. The implentation is here: http://wiki.fractalaudio.com/axefx2/index.php?title=MIDI_SysEx#MIDI_SysEx:_calculating_the_SysEx_Checksum
21h ยท

Would it be possible to put this on the backlog, to get implemented?
Just trying a simple scene change, with SysEx data that looks like this:

[
"F0",
"00",
"01",
"74",
"10",
"29",
{
"type": "value",
"rules": [
{
"id": 1,
"pPos": 0,
"bPos": 0,
"size": 3
}
]
},
{
"type": "checksum",
"algorithm": "roland",
"start": 1,
"length": 7
},
"F7"
]

I think I have it right, but just need the right checksum.

Editor needs to be in repo, downloadable and ability run offline

There are a few reasons for this:

  • Many studio computers purposely dont have internet access.
  • The developers may stop hosting the editor or disappear.
  • Changes to the editor in the future may cause local incompatibilities and the ability to version the editor ( via the repo ) would be useful. Use an older version etc.

Online editors for the Expert Sleepers range are downloadable via Chrome's "Save Page As" and work great. You just reload the local HTML file back into your browser.

Love my Electra One!

No way to trigger notes from Electra

It is note possible to send note on / off MIDI message form electra. Keyboard or some other MIDI device must be used. It is not very convenient some times.

Operational issue

Electra One freezes with the following operations.
(Firmware 0.9.8.1)

  1. Push [MENU] button
  2. Push [PRESETS] button
  3. Select empty preset
  4. Push [PATCH REQUEST] button

NRPN Values with separate MSB and LSB values

Synths like the Elektron Analog Four Mk2 specify NRPN as 2 separate MSB and LSB values.

For example:

Parameter NRPN MSB NRPN LSB
OSC1 AM 1 30

How can we specify these in controls?

Randomize control values

Enhancement / Feature request.

The ability to randomize page/groups of control values with a button press. Imagine the possibilities for generating new sounds and patches!! It would give you the ability to create custom randomizers for devices that work exactly how you like.

I Love my Electra One.

preset management in Editor

Am I correct to assume, that in order to start a new preset, I have to load an empty preset on the HW and then request it in the editor? Because that doesn't work right now (0.9.11, loading existing ones works).
Or is there any other way? I didn't find anything in the manual about it.
How about a "New preset" button in the editor?

midi 2.0 - midi-CI

(this is spawned off request #40 , as i think its a separate but interesting discussion item)

Perhaps Electra ONE could start to make use of new MIDI 2.0 features?

In particular MIDI-CI is all about 'synths' describing their parameters to 'interested' midi applications.
This sounds to me alot like what Electra One is doing with EIF.

Obviously MIDI-CI is new, and not a lot of support at present, but it will grow with time.

so perhaps Electra one should consider:

Is EIF needed? or could something based off of MIDI-CI be adopted, so its more 'standard'

I can see reasons EIF might still be needed including

  • midi-ci too 'heavy' for embedded use.
  • midi-ci not containing enough information, we need more.

in both cases, I see two principles...
EIF should be made to be easily convertible to/from MIDI-CI, (import/export)
if it is a 'superset' of midi-ci, then midi-ci could be use to provide the 'starting' point for an EIF.

advantages for Electra One:
as MIDI CI/2.0 grows

  • many users will be looking for devices that support it... being an early adopter could bring in alot of interest to E1
  • midi 2.0 devices will 'automatically' be usable by electra one, without additional mapping.
  • perhap E1 could become a kind of 'bridge' for midi 1.0 devices to midi 2.0 hosts
    (i.e. E1 adds the 'metadata' mapping for midi 1.0 devices, so that it can publish midi-ci on its behalf)

of course, I recognise, theres a lot of work already gone into EIF etc - and its already a working format.
so I guess, my suggestion is a review of MIDI-CI and Electra One to see how the furure might converge , and what benefits that might bring to Electra One?

suggestion: find common ground / levels of working together with chris from knobcraft

I recently discovered knobcraft ( https://github.com/christofmuc/KnobKraft-orm ) and imho it might makes sense to figure if you can work together.
Possible scenarios:

  1. use Elektra as a device to remote control knobcraft (e.g. patch selection)
  2. use knobcraft for Elektra preset management (can also be offline!)
  3. sysex patch management and parsing: I don't know exactly what might come out of it, but I have a feeling that it might be good things :-)
  4. etc
    I really really like that both of your ways of working (open source, using github etc). I will make the same suggestion at his github

14-bit MIDI support

Support for 14-bit MIDI would distinguish the Electra One from most other controllers. The ability to send 16384 values of a parameter instead of only 128 has audible benefits when controlling pitch, filter cut-off frequency, amplitude, etc. Many software environments (NI Reaktor, Max) are ready to receive such hi-resolution data.

There are several considerations.

Method: The optimal implementation for encoding high resolution MIDI uses NRPN as documented by Phil Rees.

Editor Interface: Fader items would need a toggle for the user to select "normal" (7 bit) or "high" (14 bit) resolution. This would change the Max value limit from 127 to 16383. No further change is needed.

Hardware interface: The Electra would need to smooth high resolution values for showing the fader graphics, and allow numbers higher than 127 to be displayed.

Controllers: The physical encoders might perhaps only be read at 10 bits, which would need to be extrapolated and smoothed to 14 bits. However, even this has real value over a mere 7 bits. Entering values might need to be handled differently if the control is in high resolution mode, since it should be possible to increment through individual numbers while also rapidly changing values. This is a matter of changing the acceleration curve.

Note: Existing high resolution controllers include the Behringer BCR-2000 and FaderFox line. DJ controllers such as the Vestax VCI-300 and Numark NS7 use it for pitch change. Synths like the Moog Phatty, Model 15, Alesis Andromeda, etc. have some implementation.

import of documents for auto-populating parameters

An import of parameters based on tables from documents e.g. PDF, txt from manuals.
Gold standard is to "auto-build" a preset, but every little bit helps. So just enumerating possible parameters and categories would be helpful as well. I imagine parsing pdfs is not that easy, so even a row based imports could save time

after update to 0.9.10 wrong values shown

I updated to 0.9.10 and now the top left controller shows values from another controller on the device itself even though when doing "load from electra" the web ui shows correct values.
In this case Elektra shows on "cutoff" the values from "filter type"
elektra cutoff Annotation 2020-01-07 122621
elektra filter types Annotation 2020-01-07 122604

Electra is not detected properly on macbook pro / with Yosemite Mac OS X

Electra is dectected correctly when connected for the first time. However, when reconnected, the name of MIDI device is not "Electra Controller". Instead "MIDI Device" is shown. This prevents editor to work properly. It is also problem when using it in sequencers and other programs.

The problem has been seen only on Yosemite Mac OS X.

pyramid instrument def import

This is a pretty simple one :)

the squarp pyramid has a very simple instrument definition file format that could easily be converted into an EIF.

defintion details (very simple) here:
https://squarp.net/pyramid/manual/definitionfiles

as I say its a trivial format, and has some limitations

BUT there are alot of them already coded...
https://squarp.community/c/def/11

we could possibly 'scrap' these off the forum.

I see this as a quick way to build a reasonable size repo of EIF for the E1.

Honestly, Ive been thinking of writing this converter for a while... and no doubt will get around to it.
but I thought I'd share the idea, in case someone wants to 'throw' it together quickly now.

(please post here, if you start working on it, just in case I decide to pick it up and run with it ;) )


note: I think there are other devices that have such mappings that might be worth investigating - but the pyramid is just one I know :)

It is possible to enter value of 7-bit CC that is higher than 127

It should not be possible to enter a value that is outside the valid range for given parameter. It means it should validate it (0 .. 127, -63 .. 64, -10 .. 117 as examples of valid ranges). This also needs thinking for non-CC parameters such as SysEx values, etc.

Multiple Devices in single preset.

This image in the manual suggests that you can have multiple devices in the same preset.

image

The editor doesnt seem to support this, and hand creating presets with multiple devices doesnt work either. Has this feature been removed?

In EIF Files - defaultValue is not taken into account within a list item

micromonsta.zip

When you want the default value of the parameter to be set to another item (different from the first item in the overlay), setting "defaultValue" works in Editor but after uploading to the Electra unit, it always shows the first item of the list first (instead of the one within the defaultValue).

In this example, it shows -1 as the initial item on the Editor and -2 on the Electra Unit :

Overlay :

    {
      "id": 7,
      "name": "Sub Octave",
      "items": [
        {
          "value": 62,
          "label": "-2"
        },
        {
          "value": 63,
          "label": "-1"
        },
        {
          "value": 64,
          "label": "0"
        }
      ]
    }

Parameter :

   {
      "id": 12,
      "type": "list",
      "name": "SUB Octave",
      "defaultValue": 63,
      "overlayId": 7,
      "categoryId": "oscs",
      "msg": "nrpn"
    }

Also EIF file attached with similar examples within.

Can I make a button for "program change"?

Hi! I am using the online editor, and I can make a slider to select the bank, because that is CC 0, but how would I make a slider to select the program? This is a simple MIDI command, and not a CC, NRPN, or RPN AFAIK. Thanks for the help!

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.