MIDIbox Studio
   HOME

TheInfoList



OR:

MIDIbox is a non-commercial open source project with a series of guides on how to build musical instrument device interfaces (
MIDI MIDI (; Musical Instrument Digital Interface) is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, and ...
). Through a series of do it yourself tutorials, users are guided in the process of building a basic microcontroller that can also be used to build hardware
MIDI MIDI (; Musical Instrument Digital Interface) is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, and ...
control units for various synthesizers, multi-track recording software, and other MIDI devices; as well as stand-alone synthesizers, sequencers and other projects.


History

The MIDIbox Hardware Platform is the continuation of Thorsten Klose's earlier work on MIDI controllers. Designs are based around a standardized environment of reusable and exchangeable modules. Soon after the release of the first modules, a small group of enthusiasts formed and grew into a thriving open source development community.


The MIDIbox Hardware Platform (MBHP)

The platform focuses on well-defined and documented modules based on small, uncomplicated circuits, to allow for amateur assembly. These modules are then assembled into a complete project. All boards can be made as single-layer
PCB PCB may refer to: Science and technology * Polychlorinated biphenyl, an organic chlorine compound, now recognized as an environmental toxin and classified as a persistent organic pollutant * Printed circuit board, a board used in electronics * ...
s and prototype boards designed with a
freeware Freeware is software, most often proprietary, that is distributed at no monetary cost to the end user. There is no agreed-upon set of rights, license, or EULA that defines ''freeware'' unambiguously; every publisher defines its own rules for t ...
CAD program Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve co ...
. Almost all components are
through-hole In electronics, through-hole technology (also spelled "thru-hole") is a manufacturing scheme in which leads on the components are inserted through holes drilled in printed circuit boards (PCB) and soldered to pads on the opposite side, either by ...
for easier assembly. The first MIDIbox hardware platform, (MBHP), was based its own open-source
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
– MIOS (MIDIbox Operating System) –written in PIC assembly language, for speed and accuracy. A C wrapper layer provides simplified coding. MIOS is designed and documented to allow simple reconfiguration, adaptation, and extension by hobbyists and enthusiasts. The new MIDIBox Hardware Platform, MIOS32, runs on ARM-based processors LPC1769, from NXP, and STM32F407, from STMicroelectronics, and is based on a
Real Time Operating System A real-time operating system (RTOS) is an operating system (OS) for real-time applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which m ...
(RTOS) derived from
FreeRTOS FreeRTOS is a real-time operating system kernel for embedded devices that has been ported to 35 microcontroller platforms. It is distributed under the MIT License. History The FreeRTOS kernel was originally developed by Richard Barry around ...
. The
toolchain In software, a toolchain is a set of programming tools that is used to perform a complex software development task or to create a software product, which is typically another computer program or a set of related programs. In general, the tools for ...
for MIOS32 is based on GCC, and uses only C language.


The modules

Currently, about 15 separate modules are available:


Microcontroller modules

*Core Module *PIC Programmer Modules like an actual PIC-Burner or the JDM Module


Input modules

*AIN Module Analog Input (0-5V) *DIN Module Digital Input (ON/OFF)


Output modules

*DOUT Module Digital Output (e.g. LED ON/OFF) *LCD Module Liquid Crystal Display *AOUT Module Analog Out to output Voltages (for Controls)


Sequencer modules

*SEQV4 Sequencer V4 *SEQV4L Sequencer V4 Lite *SEQV3 Sequencer V3


Sound modules

*SID Module for the
MOS Technology SID The MOS Technology 6581/8580 SID (Sound Interface Device) is the built-in programmable sound generator chip of Commodore's CBM-II, Commodore 64, Commodore 128 and Commodore MAX Machine home computers. It was one of the first sound chips of it ...
(as found in the Commodore 64) *OPL3 Module for the FM-Chips
YMF262 The OPL (FM Operator Type-L) series are a family of sound chips developed by Yamaha. The OPL series are low-cost sound chips providing FM synthesis for use in computing, music and video game applications. Internal operation The internal operatio ...
and YAC512 *IIC SpeakJet Module for the SpeakJet SoundChip


Memory expansion modules

*BankStick 32k / 64k Memory module


MIDI I/O modules

*LTC Module MIDI LED Indicators + 1 MIDI-Out + 1 Thru (+ 1 optional to-COM-Port) *USB Modules PC/USB Interface


Miscellaneous modules

*MF Module to control Motorfaders *IIC Modules to communicate to other (Microcontroller-)Devices via
I2C I, or i, is the ninth letter and the third vowel letter of the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''i'' (pronounced ), plural ...


RTP-MIDI module

*MIOS32 firmware includes direct link to KissBox OEM RTP-MIDI module over high-speed SPI


The MIDIbox Operating System (MIOS)

The MIDIbox Operating System (MIOS) facilitates design of flexible MIDI controller applications. MIOS adheres to a non-commercial, open platform as fundamental to the exchange of ideas and personal adaptations not possible with commercial controllers. Most controllers built by the community are based on existing documented designs, and begin life with the feature set provided by the existing firmware. End users can enhance their devices with exchangeable program code, and customize them to suit their host application, synthesizer or other MIDI device. Users can also customize to suit their own preferred
workflow A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence o ...
, or design a new project from scratch. Application source code, module schematics and PCB layouts are available free for non-commercial use as templates for modifications and improvements. Thus MIOS and the Hardware Platform allow an easy entry to hobbyist microcontroller development, while making possible applications outside the realms of the commercial, mainstream MIDI market. MIOS was licensed under the
GPL The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general u ...
until version 1.8. Later versions now require Thorsten Klose's permission for commercial use.


Specifications

The operating system consist of a kernel that provides user hooks to hardware and software events, and functions for interaction with Hardware Platform modules. One core module with a PIC18F452 microcontroller can handle *up to 128 digital inputs *up to 128 digital outputs *up to 64 analog inputs *character and graphical LCDs *up to 8 BankSticks (
I2C I, or i, is the ninth letter and the third vowel letter of the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''i'' (pronounced ), plural ...
EEPROMs) *one MIDI In and one MIDI Out, or an
RS-232 In telecommunications, RS-232 or Recommended Standard 232 is a standard originally introduced in 1960 for serial communication transmission of data. It formally defines signals connecting between a ''DTE'' (''data terminal equipment'') such ...
serial COM port Background drivers are available for the following control tasks: *MIDI I/O processing *Bootstrap loader *Analog conversion of up to 64 pots, faders or other analog sources with a 10-bit resolution *Motor handling for up to 8 motorized moving faders with a 10-bit resolution *Handling of up to 64
rotary encoder A rotary encoder, also called a shaft encoder, is an electro-mechanical device that converts the angular position or motion of a shaft or axle to analog or digital output signals. There are two main types of rotary encoder: absolute and increm ...
s *Handling of up to 128 buttons, touch sensors or similar digital input devices *Handling of up to 128 LEDs, relays, Digital-Analog-Converters or similar output devices. In
multiplex Multiplex may refer to: * Multiplex (automobile), a former American car make * Multiplex (comics), a DC comic book supervillain * Multiplex (company), a global contracting and development company * Multiplex (assay), a biological assay which measu ...
mode a nearly unlimited number of LEDs, LED rings and LED digits can be driven *Read/Write from/to EEPROM, Flash, and BankStick *Linking PIC18F Core modules via MIDIbox Link The whole operating system has been written in assembly language and has been optimized for speed. MIOS currently uses 8k of program memory and 640 bytes of RAM. Only 75
µs A microsecond is a unit of time in the International System of Units (SI) equal to one millionth (0.000001 or 10−6 or ) of a second. Its symbol is μs, sometimes simplified to us when Unicode is not available. A microsecond is equal to 1 ...
is required to read 128 digital input pins and to write to 128 output pins. 16 rotary encoders are handled within 100 µs. Analog inputs are scanned in the background every 200 µs; changes larger than a definable minimum range trigger a user hook. Up to 256 MIDI events can trigger dedicated functions; processing of the event list requires about 300 µS. MIDI events can also be processed by a user routine for
sysex MIDI (; Musical Instrument Digital Interface) is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, and rel ...
parsing or similar jobs. A user timer is available for time triggered code. Support for other high-level languages apart from C is possible.


MIOS hardware

The MIOS hardware is organized around the concept of MIDIBox Hardware Platform (MBHP). The MBHP are highly versatile motherboards, offering the highest possible number of connections for a given processor. Four versions of MBHP are currently available: *MBHP for PIC16F877 and PIC18F452 (8 bits processors). The two chips are pin compatible, but the PCB needs a simple change between the two chips *MBHP for LPC1769 (32 bits ARM7 processor) *MBHP for STM32F407 (32 bits Cortex M4 processor) When a project needs less I/O than the ones available on a given MBHP, the MIDIBox concept allows to create a simplified PCB dedicated to this project. This is the approach used on Sammich MIDIBox SID and Sammich MIDIBox FM. These two kits contain the original MBHP design, but with a simplified PCB, dedicated to the connection with a SID chip or a YMF262 chip. In the case of the STM32F407 MBHP, the CPU is mounted on a module used as a daughterboard, made by ST and sold as a development board (called STM32F4 Discovery by ST). The final user does not have to deal with SMD components, the daughterboard being mounted on standard 0.1" connectors


Complete solutions

At this point there are 11 fully documented projects available, as well as a large number of user projects generated by the community. The official projects are as follows: *MIDIbox SEQ V3: 16 Track Live Step and Morph Sequencer + advanced Arpeggiator *MIDIbox SID V1: Hardware MIDI-controllable Synthesizer based on the
MOS Technology SID The MOS Technology 6581/8580 SID (Sound Interface Device) is the built-in programmable sound generator chip of Commodore's CBM-II, Commodore 64, Commodore 128 and Commodore MAX Machine home computers. It was one of the first sound chips of it ...
(MOS6581) sound chip as shipped with the Commodore 64/128 *MIDIbox FM V1: Hardware synthesizer based on the Yamaha YMF262 sound chip (also known as OPL3) for generating the famous FM sounds known from Soundblaster (compatible) soundcards of the early 90s *MIDI Merger V1: Merges two separate MIDI inputs to a single output *MIDI Router V1: Routes various MIDIboxes to a single MIDI port *MIDI Processor: Provides basic functionality to receive and transmit MIDI events *MIDIbox CV Provides CV and gate outputs to drive voltage controlled devices such as analog modular synthesizers *MIDIbox 64: Full-fledged 64 channel MIDI controller *MIDIbox 64E V2: Extended version of the MIDIbox 64 *MIDIO128 V2: The MIDIO128 interface is used to drive up to 128 digital output pins and to react on up to 128 digital input pins via MIDI *MIDIbox LC V1: Alternative to the MIDIbox 64/64E *MIDImon V2: Reports events, which are transmitted over the MIDI cable, in a readable form


See also

*
List of music software This is a list of software for creating, performing, learning, analyzing, researching, broadcasting and editing music. This article only includes software, not services. For streaming services such as iHeartRadio, Pandora, Prime Music, and Spotify, ...


References

{{Reflist


External links


MIDIbox project websitethe MIDIbox wikithe MIDIbox forumsucapps.de
(Non-commercial DIY Projects for MIDI Hardware Geeks website)
The Protodeck: midibox controller designed for interact with Ableton Live
used b
protofuse
Do it yourself Microcontroller software Open-source music hardware DIY electronic music hardware MIDI