MiniakPanel Beta 4 - One screen shows all
MiniakPanel Beta 3 - Osc, Envs, LFOs, MIDI, TOC/Patch
MiniakPanel Beta 3 - Pre/Post/Filters/EFX
MiniakPanel Beta 3 - MOD Source/Dest, Tracking, Blend 4 patches
Introduction
Miniaktools began when I bought my Miniak in December 2010, and was dismayed that the power of the synth was hidden away from the end user. So I set about creating a GUI, using C#, to externalize all of the available controls. If you have a Miniak, ensure you join the Yahoo Ion Group. Also, please read the Ion-Micron-Miniak Wiki where you can find a wealth of useful information / how to. MiniakPanel is the GUI used to control the Miniak. I cannot test on a Micron, but I am reasonably confident it will work. But MiniakPanel is a small part of the toolset on offer here. There are also programs to
- Decode Sequences
- Decode Rhythms
- Delete all Programs
- Delete all Sequences
- Delete all Rhythms
- Delete all Multis
- Delete everything
- Restore factory settings
- Individual programs, and their text decodes
- Generate current table of contents
- Generate Cubase format TOC
- Generate Sonar format TOC
- Request Programs
- Request Sequences
- Request Rhythms
- Request Multis
MiniakPanel works under .NET 4, and hence Microsoft XP or Windows 7. It has been tested on both 32, but built using Visual Studio 2010 to be compatible with all platforms (32/64bit). I test on 32bit, so apologies if your 64bit system behaves differently ... do let me know and I will try to debug it. Ultimately, I aim to port to Qt and RtMIDI so as to make the code more platform agnostic (ie Windows, Mac, Linux). Most of the other Miniaktools are pure C/C++, with source code provided. Windows and Ubuntu/Fedora Core linux binaries are available too.
Using a suitable USB to Midi cable, you can control your Miniak directly from MiniakPanel. You can also chain in an external control surface, such as a BCR2000. If connected properly, the MiniakPanel will respond to X, Y, Z knob changes (from the Miniak) or the appropriate NRPNs received from the external control.
This software is in an advanced beta stage. If you want something, feel free to drop me line. I have given the software a reasonable test, but obviously I am not doing this project professionally. Bugs and errors will have crept in. Please let me know about them. Or use the tracking system at SourceForge project site.
Copyright (C) 2011, Steve Hookings<sghookings AT tiscali.co.uk>
Miniaktools is free software licensed under the terms of the GPL v3 license.
Getting started
MIDI concepts
It is assumed you already know how to connect a USB cable to a Windows PC, and how to connect the 5 pin DIN sockets to your Miniak (out to in ... in to out). If you are really stuck, please take a look at tutorials like this one all around the Net.
Typical Usage Example- MIDI OUT MINIAK => MIDI IN PC
- MIDI IN MINIAK => MIDI OUT PC
- Load the software.
- Tell it MIDI IN is your MIDI IN PC
- Tell it MIDI OUT is your MIDI OUT PC
- I normally press the Latch Arp button ... yellow light show light. Press it again to turn it off.
- then move some X, Y, Z on Miniak .. the panel should reflect this.
- Make some changes on Miniaktools ... the Miniak should flash up the change, then go back to its stealth (I am not telling you what I am doing) mode :-)
- If you have a Control Surface linked in, you need to be a bit more creative in your wiring. Either a merge is required, OR a dumb-merge and a "promise" to never send overlapping messages down your dumb merge simultaneously.
- The BEST thing you can do is click on the ProgramTOC (table of contents).
- This will generate a Cubase format file that can do magic.
- Wait a few seconds please ... the pop up window can then be cut and pasted, saved into Cubase. BEST thing you can do is click on the ProgramTOC (table of contents).
- On my WinXP SP3 system, I create a file miniak.txt, copy the contents of pop up. File location is c:\Documents and Settings\your_user_name\Application Data\Steinberg\Cubase LE 4\Scripts\Patchnames\inactive\AKAI\Miniak.txt
- Here's one I prepared earlier all
- You can also convert to INS file for Reaper/MidiOx/Sonar etc.
- midiOut panel : choose MIDI IN/OUT, midi channel, arpLatch, category. Displays patch name.
- Will be able to edit name in later version.
- sysEx panel : Load program from sysex file, Load Patch TOC, Update Synth, Display NRPNs, about.
- Load program from sysex. Validates and updates display BUT doesnt update Miniak. If you press Update Synth, internal NPRNs are sent BUT will overwrite the current program.
- DisplayNRPN display a list of NRPN Address v NRPN value for importing into Excel or your DAW's event list.
- voices panel : Poly, unison, porta, drift, FM, OSC Sync and X, Y, Z settings.
- You _can_ use Knob X to control Knob Y if you like ... unpredictable results but fun :-).
- Filter 1/2 panel : F1 and F2 params.
- Main OSC panel : OSC1, 2 and 3 params. Balances tend to be horizontal slides. Levels tend to be vertical sliders.
- PatchBlending :
- Use Load Patch 1 ... 4 buttons to load 4 patches.
- Once loaded, Blend A, B sliders control how these 4 patches are blended.
- If you chance across something you like, Press Display Merge to "see" what you created.
- OR if you start with a scratch program (ie copy one first and make it current); simply use Miniak STORE button.
- Envelopes panel : Env1, 2 and 3 params. will replace this with sliders and correct Synth (rather than NRPN) display.
- MOD :
- Easy access to all 12 MOD sources.
- NOTE: If the current patch only has a limited number of SOURCEs open, then ONLY those can be heard.
- NOTE: This is a Alesis/AKAI limitation. I can make it "work" as expected but not in this version.
- Very little is said about level and offset in the manuals.
- The level determines the extent to which the source will affect the destination.
- The offset changes the destination's value before the modulation begins.
- Track Input :
- Easy access to all 33 track points.
- Really useful if playing with uralmoto2000's OnTheRun patch (join Yahoo groups or check out OnTheRun uses Track Inputs to great effect: If the current patch only has a limited number of SOURCEs open, then ONLY those can be heard.
- PatchGroupBox :
- Change Bank first
- Then change patch
- Miniak should change to the given program.
- Select load radio to load that patch into memory (it will dump a copy in the dir where you run MiniakPanel from but IIRC you have to rename this).
- Select delete and that program will be delete. NO second chances. You are an expert user right?
- PLEASE try out the TOC buttons. You'll barely regret it. Copy these to Cubase to make accessing your patches/sequences/multis/rhythms real sweet.
- I can create SONAR ins versions of these if you like ... mail me .
- QuickPatchChange :
- Changes to appropriate category
- NOTE: the algorithm is wrong. I realize that now.
- If I get time I will fix it to the correct one. I worked it out.
- S/H, LFO's, EFX :
- Similar to the above.
- Modify and the Miniak should change.
- Load patch and the Miniak should display.
- MISC :
- If you send a sysex program dump direct from the Miniak, the software should handle and display changes.
- I have decoded rhythms and sequence and aim to add some GUI support (at least a display) in a future release.
- Please report bugs you find and I will try to fix them.
If you think MiniakPanel is not responding to MIDI, put a MIDI sniffer, like MIDIOX in the way. What does it see? .
Frequently Asked Questions
Can you make the Miniak display the changes being sent to it?
Essentially, no! Well, not at the moment. But if you happen to be watching the param you are modifying, you will see it. The Miniak is a closed system, and the good people of Alesis/AKAI didnt feel the need to tell use mere users what the SysEx codes are. It has been left to some of us to reverse engineer it. If anyone does know how to do this, and is willing to share it with me, please drop me a mail. I gave this some more thought over Christmas period. So I have an advanced prototype based on Arduino Mega 1280 which:
- Reads MIDI IN
- Converts A14 NRPN to S14 non-standard Alesis NRPN
- Displays output (numeric right now) on LCD
- Allow choice of starting MIDI channel
- Choose up to 7 split points (8 zones) starting at above channel
- (My UF80 only has 2 zones but by allowing 8 I can mimic 8 parts)
- Two MIDI IN
- One Merge out
- Two MIDI THRU's
- One transform MIDI IN
- One transform MIDI THRU and one transform MIDI OUT
Transforming biased NRPNs (value + 8192) to signed 14 bit Alesis standard. Transform allows S14 to pass thru unharmed! Later circuit has midi merge/thru.
Here, NRPN address 12 (waveshape1), has value 16278. More advanced prototypes will decode names/values.
Download
You can find the latest sources, Windows, and BCR SysEx templates at SourceForge project site.
Installation
MiniakPanel requires .NET 4 or later. Once you have that, copy the latest version of MiniakPanel.exe to your PC, double click and you are away and running. The current latest version is beta 3. But please consult the files section for the latest incarnation (SourceForge project site). All other programs are either source, platform specific executables or SysEx files. To compile under Windows, try:
cl /Zi /EHsc theprog.cpp
And under Linux
g++ -o theProg theProg.cpp
Requirements
In order to use MiniakPanel.exe, you need at least .NET 4.0 and an XP or Windows 7 OS. I havent tried on Vista ... but come on ... you want to USE your computer right :-)
Optionally, you can build on Visual Studio 2010, C# from the git source tree.
How different are Micron v Miniak patches?
This questions comes up often enough that I wanted to show the differences. NOTE: Sound is an aural phenonemom ... in other words sure there are differences, some looking rather trivial, some looking more fundamental. Ultimately, the hardware itself could change the final sound too. Simply to say please look here for the list of differences, but test to make your own opinion. Make sound, not noise!. Decoded Micron v Miniak Differences.
Acknowledgements
The internet can be a wonderful place for collaboration. Dale, setup the Yahoo Ion Group. Many folks took time to experiment and gleen information about the Miniak. Where I have borrowed code/techniques, I have given full credit in the source code.
Cheers, and enjoy Miniaktools!