Version 1.0 of the Bit 99 tool is out! https://github.com/DarwinNE/Bit99tool/releases/tag/v1.0 Let's see if I get some feedback. #Crumar #Bit99 #OpenSource #development #macOS #SysEx #Editor
#sysex — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #sysex, aggregated by home.social.
-
Adding an icon on the application more than doubled the size of the application, that is now 483kbytes. It is still fitting in an 800kb floppy disk 😅 #bit99 #Crumar #Sysex #Development
-
-
I published the #Crumar #Bit99 #Sysex editor on github: https://github.com/DarwinNE/Bit99tool the license is GPL v3. It is usable, hut still incomplete. I will work on it in the next few days.
-
Now it looks much better! #bit99 #Crumar #programming #sysex
-
The work on the #Bit99 #Sysex editor continues. Now I can edit almost any parameter of a preset and load it again on the synthesizer. I don't like that very high window, so the next step will probably to rearrange the parameters more sensibly. It's very nice to use, though and very reactive. The total size of the application is 220kB. #programming #cocoa #macos
-
-
-
I built a browser-native SysEx librarian for 80s/90s synthesizers
Comments: https://news.ycombinator.com/item?id=49279628
#HackerNews #SysEx #Librarian #Synthesizers #80s90s #MusicTech #BrowserNative
-
Do you have a #Behringer #Grind synthesizer and can't / don't want to use their #SynthTribe app or want to change the settings of the synth using a mobile device?
Then you may want to try my new #FLOSS web app "Grind Control":
https://codeberg.org/SpotlightKid/grind-control
Runs in any browser that supports #WebMIDI / #SysEx
Also, if you have any other Behringer synth and want a similar app for it and you can help with testing, open an issue over at the codeberg project page and we'll take it from there.
-
Not sure it matters to anyone here, as the original post got no traction, but if you are a #Reaper user, with an MCU and have or want to switch to #Linux the excellent Klinke MCU control surface plugin now works (notwithstanding the #pw-jack #sysex #midi bug I've tooted about) more info, sources and a working compilation via here: https://forum.cockos.com/showpost.php?p=2939145&postcount=298 enjoy!
-
Can any #ProAudio #Studio #Production folk speak to the absolute solidity / reliability of #MIDI #SysEx handling in @pipewire? I've got (unresolved) issues with it working with the #Reaper MCU implementation, and I'm playing around with some basic JSFX that I wrote, to control a Roland SRV3030 reverb parameters and it's being decidedly odd (although this may be the fault of the Roland too!)
-
I created a #GitHub project for the #Crumar #BIT99 tool I wrote (C language, macOS console). #opensource #sysex #MIDI #synth https://github.com/DarwinNE/Crumar_BIT99_Sysex/tree/main
-
I updated the tool I wrote so that it can directly communicate with the #Crumar #BIT99 via #MIDI sysex. It can download a single patch or all the 1-99 patches of the instrument. It is a console program written in C for macOS, as I don't have the time to write a full-fledged window-based user interface, but I tried to keep it nice to use nonetheless. #synth #sysex #music
-
I wrote a small tool in C to interpret the #SYSEX files for the #Crumar #BIT99 and #BIT01. It's handy as you can inspect how a certain patch is configured (DCO1 and 2, VCF, LFO1 and 2 etc). I even found an error in the BIT99 manual: the bit order of certain parameters is reversed! The little tool is still quite rough around the edges, but it begins to work.
-
The #JX3P is the reason why I taught myself C again, because #MIDI #sysex hadn't been invented yet, so the only way to save/restore patch parameters was to dump to audio tape. SO I WROTE A PROGRAM TO DECODE THE TAPE DUMPS and create spreadsheets to feed back into the #Organix MIDI expander!
https://www.phaysis.com/projects/roland-jx-3p-tape-dump-patch-decoder/
-
MicroWaveConverter by Full Bucket Music 🎛️
Converts WAV to MIDI SysEx User Wavetables for Waldorf Microwave 1💻 Win (Standalone)
🎁 FREE https://www.fullbucket.de/music/mwc.htmlMore freeware 👉 https://linktr.ee/legalvst
#freeplugin #wavetable #sysex #waldorf #microwave #musicproduction
-
-
Chuis en train de me péter les dents pour commander mon #ampli #boss #katana en #sysex
Mais je me battrai jusqu'au dernier ✊
Testé :
* commandes #python avec #mido des heures (4jours pour l'heure) à dev des scripts / interfaces pour tester des commandes vues sur #github : katana-midi-bridge* simulation #Librarian sous #Sway / #wayland + #waydroid pour sniff MITM (missing USB #OTG ) -> No way
* #Wireshark + usbmon -> No way
* libusb + hidapi -> no way
prochaine tentative : VM android + Librarian (avec USB passthrough )
pour sniff
avec idée de lowlevel passage en mode BTS (Boss Tone Studio : propriétaire )
JE HAIS LES SPECS NON LIBRES ! -
Two days plus of resurrecting an #rolandalphajuno only for this moment! #hooversound #rave What kind of track should I put it on? Used two hours just to understand you had to hold WRITE to receive #sysex #midi The preset is called "what the"! - Hardcore - you KNOW the score! 🛸🔊
-
Faderfox EC4 Firmware Update on Linux: Doubling the Encoder Resolution!
-
PipeWire 1.4.3 Brings Netjack2 Fixes and MIDI Improvements PipeWire 1.4.3 multimedia framework is...
https://www.linuxtoday.com/blog/pipewire-1-4-3-brings-netjack2-fixes-and-midi-improvements/
#Blog #PipeWire #1.4.3 #UMP #sysex
Result Details -
@robleaves Schade eigentlich, oder? Ein #Atari ST hatte das - und #MIDI 1.0 ist ja noch nicht ausgereizt, aber die Schwerpunkte sind sehr anders heute via #SysEx MIDI. Am Ende wäre ein universelles #Patch #Librarian Dumptool tatsächlich nicht schlecht.
-
-
I want to throw out a big #HotDamn to 20 years of #softwaredevelopment . I recently bought a used #Behringer #BCF2000 which had a #SysEx editor last developed in 2004 in #Java available for download from the official website. I downloaded the software to my #Fedora system and it recognized the device over the modern #Linux #USB interface and worked like a champ.
Well done, 20 years of #software develoment and backwards compatibility!
-
Arduino MIDI Master Volume Control
This project uses an Arduino Uno or Nano with a potentiometer to create a MIDI Master Volume Control.
Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!
These are the key Arduino tutorials for the main concepts used in this project:
If you are new to Arduino, see the Getting Started pages.
Parts list
- Arduino Nano or Uno
- 10K potentiometer
- Ready-Made MIDI or a DIY MIDI Interface
- Breadboard and jumper wires
The Circuit
A potentiometer is connected to A0, 5V and GND. To help smooth out the readings a 100nF ceramic capacitor can be connected between A0 and GND.
A MIDI OUT circuit is required. If full software MIDI THRU is required, then a MIDI IN circuit is also required, but it is not necessary to work. In fact a simple “two resistor” MIDI OUT interface would do the trick too (see DIY MIDI Interfaces).
I’ve used my Arduino Nano Mozzi Experimenter Shield PCB simply because it has a built-in MIDI interface and readily available potentiometers, but most of the additional circuitry is unused in this case.
The Code
This is a variation of the Arduino Serial MIDI Program and Control Messenger in principle, but in practise there are significant differences. Whilst the MIDI Control Change messages include a volume control, it has been long considered that this should be treated as a “channel message volume control” and not meant for “whole device” operation.
Consequently, at some point it was decided that one of the System Exclusive, System Real-time messages would be reserved as a “whole device” master volume control. That is what is required here.
The MIDI specification describes the require message as follows:
The Arduino MIDI library includes a sendSysEx function which has to be given a byte-sequence containing the required message. If the last parameter is “true” then it expects the SysEx start and end bytes to be included in the message.
Note that this MIDI message is using the common MIDI method for higher resolution values – it splits a 14-bit value (0 to 16363) into two “almost bytes” of 7-bits each so this has to be accounted for in the code.
Also, as the control will come from an Arduino analog INPUT port the starting values will be 0 to 1023, so they need to be scaled to the required MIDI range. This all happens in the function below.
void setMasterVolume (int volume) {
uint16_t midivol = map(volume, 0, MAX_POT, 0, 16383);
byte sysex[9] = {0xF0, 0x7F, 0x7F, 0x04, 0x01, 0, 0, 0xF7, 0};
sysex[5] = midivol & 0x7F; // LSB
sysex[6] = (midivol >> 7) & 0x7F; // MSB
MIDI.sendSysEx(8, sysex, true);
}I’ve also used, and slightly updated, the analog read averaging routine I used in Arduino PSS-680 Synth Editor- Part 2. This code maintains a “running average” reading to smooth out any jitters in the readings.
One thing I was finding though, especially at full-reading (1023), it was still quite jittery even with the smoothing, then I realised that this is because of integer arithmetic always rounding down to the last whole number. This means that no matter how many of the sampled readers were at the full value of 1023 if there was just a single reading of 1022 the rounding down would make the “average” also 1022.
The way around that was to use a single decimal place for each reading and then add 0.5 to the final averaged value to ensure it would also round to the nearest integer rather than round down.
To save having to move into floating point arithmetic I multiply the value by 10 giving me a pseudo single fixed-point decimal.
The complete averaging routine is thus as follows:
#define AVGEREADINGS 32
int avgepotvals[AVGEREADINGS];
int avgepotidx;
long avgepottotal;
int avgeAnalogRead (int pot) {
int reading = 10*analogRead(pot);
avgepottotal = avgepottotal - avgepotvals[avgepotidx];
avgepotvals[avgepotidx] = reading;
avgepottotal = avgepottotal + reading;
avgepotidx++;
if (avgepotidx >= AVGEREADINGS) avgepotidx = 0;
return (((avgepottotal / AVGEREADINGS) + 5) / 10);
}Notice how the analogRead() is multiplied by 10 and then once the average is calculated in the last line 5 is added (or 0.5 when we know it is a fixed-single-point decimal) prior to the final divide by 10 to get back into the 0 to 1023 range.
Coupling this with a capacitor across the signal of the potentiometer as shown in the schematic, this gives me a much more stable reading, which is important for a MIDI controller as it means there is no MIDI messages being sent unless something has really changed.
The code is using the MIDI serial transport which has MIDI THRU enabled by default. This means that the board could be used within an existing MIDI link by connecting both MIDI OUT and IN. This would add Master Volume control alongside whatever else is being transmitting and as the MIDI library works on the basis of complete MIDI messages, it should work relatively intelligently while merging the two MIDI streams.
Closing Thoughts
There are many directions this code could go next. The obvious ones are:
- Include options for additional MIDI interfaces, especially USB MIDI.
- Support Master Balance in addition to Master Volume.
- Switch to a rotary encoder rather than a potentiometer.
Kevin
#arduinoNano #arduinoUno #masterControl #midi #potentiometer #sysex #systemExclusive
-
Converting waveforms to sds in Audacity then changing to syx extension so sysexLibrarian can see it to send to Monomachine. Surely there is an easy way that just works without C6 #elektron #userwaveform #DSP #Sysex
-
-
Stoked to have found #KnobKraft-Orm even though I'm really bad at both #Sysex and #Python but this is the sort of #MusicProduction tool I like as I've got a decent amount of hardware lying about! If there's anyone who fancies their chances at getting it working with a Yamaha #SY85 I'd love to hear from you!
-