MIDIbox

MIDIbox

MIDIboxMIDI(악기 장치 인터페이스)를 구축하는 방법에 대한 일련의 안내가 있는 비상업적 오픈소스 프로젝트다.일련의 자체 실행 튜토리얼을 통해 사용자는 다양한 신디사이저, 멀티 트랙 레코딩 소프트웨어 및 기타 MIDI 장치의 하드웨어 MIDI 제어 장치를 구축하는 데 사용될 수 있는 기본적인 마이크로 컨트롤러를 구축하는 과정에서 안내를 받는다.

역사

MIDIbox 스튜디오
MIDI 박스 LC

MIDIbox 하드웨어 플랫폼은 Thorsten Klose의 MIDI 컨트롤러에 대한 초기 연구의 연속이다.[1][2]설계는 재사용 가능하고 교환 가능한 모듈의 표준화된 환경에 기초한다.첫 번째 모듈이 출시된 직후, 소규모의 마니아 그룹이 형성되어 번성하는 오픈 소스 개발 커뮤니티로 성장했다.

MIDIbox Seq V3

MIDIbox 하드웨어 플랫폼(MBHP)

MIDIbox SEQ V3

이 플랫폼은 아마추어 조립이 가능하도록 작고 복잡하지 않은 회로를 기반으로 잘 정의되고 문서화된 모듈에 초점을 맞추고 있다.그리고 나서 이 모듈들은 완전한 프로젝트로 조립된다.모든 보드는 프리웨어 CAD 프로그램으로 설계된 단층 PCB와 프로토타입 보드로 제작할 수 있다.거의 모든 구성품은 조립이 용이하도록 구멍이 뚫려 있다.

최초의 MIDIbox 하드웨어 플랫폼(MBHP)은 속도와 정확성을 위해 PIC 어셈블리 언어로 작성된 자체 오픈 소스 운영 체제인 MIOS(MIDIbox Operating System)를 기반으로 했다.C 래퍼 레이어는 단순화된 코딩을 제공한다.MIOS는 취미 활동가 및 애호가들에 의한 단순한 재구성, 적응, 확장이 가능하도록 설계되고 문서화되었다.

새로운 MIDIBox 하드웨어 플랫폼 MIOS32는 NXP의 ARM 기반 프로세서 LPC1769와 STMicroelectronics의 STM32F407에서 실행되며 FreerTOS에서 파생된 실시간 운영 체제(RTOS)를 기반으로 한다.[3]MIOS32용 툴체인GCC를 기반으로 하며, C언어만을 사용한다.

모듈

현재 약 15개의 개별 모듈을 사용할 수 있다.

마이크로컨트롤러 모듈

  • 코어 모듈
  • 실제 PIC 버너 또는 JDM 모듈과 같은 PIC 프로그래머 모듈

입력 모듈

  • AIN 모듈 아날로그 입력(0-5V)
  • DIN 모듈 디지털 입력(ON/OFF)

출력 모듈

  • DOUT 모듈 디지털 출력(예: LED ON/OFF)
  • LCD 모듈 액정 디스플레이
  • AOUT 모듈 아날로그 출력 전압(제어용)

시퀀서 모듈

  • SEQV4 시퀀서 V4
SEQV4 시퀀서 V4
  • SEQV4L 시퀀서 V4 라이트
  • SEQV3 시퀀서 V3

Seq V3(위), MIDIBox FM(아래)

사운드 모듈

메모리 확장 모듈

  • BankStick 32k / 64k 메모리 모듈

MIDI I/O 모듈

  • LTC 모듈 MIDI LED 표시기 + 1 MIDI-Out + 1 Thru(+ 1 옵션 to-COM-Port)
  • USB 모듈 PC/USB 인터페이스

기타 모듈

  • MF 모듈 - 모터페이더 제어
  • I2C를 통해 다른(마이크로 컨트롤러-) 장치와 통신할 IIC 모듈

RTP-MIDI 모듈

  • MIOS32 펌웨어에는 고속 SPI[4][5] 통해 KissBox OEM RTP-MIDI 모듈에 대한 직접 링크가 포함됨
MIDIbox 하드웨어 플랫폼(MBHP)

MIDIbox 운영 체제(MIOS)

MIDIbox 운영 체제(MIOS)는 유연한 MIDI 컨트롤러 애플리케이션의 설계를 용이하게 한다.MIOS는 상용 컨트롤러와 불가능한 아이디어 및 개인 적응의 교환에 기초하여 비상업적이고 개방적인 플랫폼을 고수한다.

커뮤니티에 의해 구축된 대부분의 컨트롤러는 문서화된 기존 설계에 기초하며, 기존 펌웨어가 제공하는 기능 세트로 수명을 시작한다.최종 사용자는 교환 가능한 프로그램 코드로 기기를 개선하고 호스트 애플리케이션, 신디사이저 또는 기타 MIDI 장치에 맞게 기기를 사용자 정의할 수 있다.또한 사용자는 자신이 선호하는 워크플로우에 맞게 사용자 정의하거나 처음부터 새로운 프로젝트를 설계할 수 있다.

응용 프로그램 소스 코드, 모듈 도식 및 PCB 레이아웃은 수정 및 개선을 위한 템플릿으로 비상업적으로 무료로 사용할 수 있다.따라서 MIOS와 하드웨어 플랫폼은 취미로 하는 마이크로컨트롤러 개발에 쉽게 진입하는 동시에 상업적이고 주류적인 MIDI 시장의 영역 밖에서 가능한 애플리케이션을 만들 수 있다.

MIOS는 버전 1.8까지 GPL로 허가되었다. 이후 버전에서는 현재 상업적 사용을 위해 Thorsten Klose의 허가가 필요하다.[6]

사양

운영체제는 하드웨어 및 소프트웨어 이벤트에 사용자 후크를 제공하는 커널과 하드웨어 플랫폼 모듈과의 상호작용을 위한 기능으로 구성된다.PIC18F452 마이크로컨트롤러가 장착된 하나의 핵심 모듈을 처리할 수 있음

  • 최대 128개의 디지털 입력
  • 최대 128개의 디지털 출력
  • 최대 64개의 아날로그 입력
  • 문자 및 그래픽 LCD
  • 최대 8개의 BankStick(I2C EEPROM)
  • MIDI In 및 MIDI Out 1개 또는 RS232 직렬 COM 포트 1개

백그라운드 드라이버는 다음과 같은 제어 작업에 사용할 수 있다.

  • MIDI I/O 처리
  • 부트스트랩 로더
  • 최대 64개의 , 패이더 또는 기타 아날로그 소스 10비트 분해능의 아날로그 변환
  • 최대 8개의 전동식 이동 패더를 위한 10비트 분해능의 모터 핸들링
  • 최대 64개의 회전식 인코더 취급
  • 최대 128개의 버튼, 터치 센서 또는 유사한 디지털 입력 장치 취급
  • 최대 128개의 LED, 릴레이, 디지털-아날로그-컨버터 또는 유사한 출력 장치의 취급.멀티플렉스 모드에서는 LED, LED 링 및 LED 자릿수를 무제한으로 구동할 수 있다.
  • EEPROM, 플래시 및 BankStick 읽기/쓰기
  • MIDIbox 링크를 통해 PIC18F 핵심 모듈 연결

전체 운영 체제는 조립 언어로 작성되어 속도에 최적화되어 있다.MIOS는 현재 프로그램 메모리 8k와 RAM 640바이트를 사용하고 있다.

128개의 디지털 입력 핀을 읽고 128개의 출력 핀에 쓰기 위해서는 75µs만 필요하며, 100µs 내에서 16개의 로터리 인코더가 처리된다.아날로그 입력은 200µs마다 백그라운드에서 스캔되며, 정의 가능한 최소 범위보다 큰 변화는 사용자 후크를 트리거한다.

최대 256 MIDI 이벤트는 전용 기능을 트리거할 수 있으며, 이벤트 리스트의 처리에는 약 300µS가 필요하다.또한 MIDI 이벤트는 sysex 구문 분석 또는 유사한 작업에 대한 사용자 루틴에 의해 처리될 수 있다.사용자 타이머는 시간 트리거 코드에 사용할 수 있다.

C 이외의 다른 고급 언어에 대한 지원이 가능하다.

MIOS 하드웨어

MIOS 하드웨어는 MIDIBox 하드웨어 플랫폼(MBHP)의 개념을 중심으로 구성된다.MBHP는 매우 다용도 높은 마더보드로서, 주어진 프로세서에 가능한 가장 많은 수의 연결을 제공한다.현재 4가지 버전의 MBHP를 사용할 수 있음:

  • PIC16F877 및 PIC18F452(8비트 프로세서)용 MBHP.두 칩은 핀 호환이 되지만 PCB는 두 칩 사이의 간단한 교체가 필요하다.
  • LPC1769용 MBHP(32비트 ARM7 프로세서)
  • STM32F407용 MBHP(32비트 Cortex M4 프로세서)

프로젝트에 주어진 MBHP에서 사용할 수 있는 것보다 적은 I/O가 필요한 경우, MIDIBox 개념은 이 프로젝트 전용의 단순화된 PCB를 만들 수 있다.이것은 Sammich MIDIBox SID와 Sammich MIDIBox FM에서 사용되는 접근법이다.이 두 개의 키트는 원래의 MBHP 설계를 포함하고 있지만 SID 칩 또는 YMF262 칩과의 연결 전용으로 간소화된 PCB를 갖추고 있다.

STM32F407 MBHP의 경우 CPU를 딸보드로 사용하는 모듈에 탑재해 ST가 제작해 개발보드로 판매한다(STM32F4 Discovery by ST)[8]최종 사용자는 표준 0.1" 커넥터에[9] 장착되는 딸보드의 SMD 구성 요소를 다룰 필요가 없다.

전체 솔루션

이 시점에서 11개의 완전히 문서화된 프로젝트와 커뮤니티에 의해 생성된 다수의 사용자 프로젝트가 있다.공식 사업은 다음과 같다.

  • MIDIbox SEQ V3:

16 트랙 라이브 스텝 및 모프 시퀀서 + 고급 Arpegiator

  • MIDIbox SID V1:

Commodore 64/128과 함께 제공되는 MOS 기술 SID(MOS6581) 사운드 칩 기반 하드웨어 MIDI 제어식 신디사이저

  • MIDIbox FM V1:

야마하 YMF262 사운드 칩(일명 OPL3)을 기반으로 한 하드웨어 신시사이저로 90년대 초 사운드 블라스터(호환성) 사운드 카드에서 알려진 유명한 FM 사운드를 생성함

  • MIDI 병합 V1:

두 개의 개별 MIDI 입력을 단일 출력에 병합

  • MIDI 라우터 V1:

다양한 MIDI박스를 단일 MIDI 포트로 라우팅

  • MIDI 프로세서:

MIDI 이벤트 수신 및 전송을 위한 기본 기능 제공

  • MIDIbox CV

아날로그 모듈형 신디사이저와 같은 구동 전압 제어 장치에 CV 및 게이트 출력 제공

  • MIDIbox 64:

본격적인 64채널 MIDI 컨트롤러

  • MIDIbox 64E V2:

MIDIbox 64의 확장 버전

  • MIDIO128 V2:

MIDIO128 인터페이스는 최대 128개의 디지털 출력 핀을 구동하고 MIDI를 통해 최대 128개의 디지털 입력 핀에 반응하는 데 사용된다.

  • MIDIbox LC V1:

MIDIbox 64/64E의 대안

  • MIDImon V2:

MIDI 케이블을 통해 전송되는 이벤트를 읽을 수 있는 형식으로 보고

참고 항목

참조

  1. ^ 신스DIY 토스텐 클로제
  2. ^ Thorsten Klose 웹사이트, "MIDIBOX.org", uCApps.de
  3. ^ "Market leading RTOS (Real Time Operating System) for embedded systems with Internet of Things extensions". FreeRTOS. Retrieved 2017-03-09.
  4. ^ "MIDIbox goes RTP-MIDI... - Design Concepts - MIDIbox Forum". Midibox.org. Retrieved 2017-03-09.
  5. ^ "Archived copy". www.kissbox.nl. Archived from the original on 9 April 2013. Retrieved 17 January 2022.{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크)
  6. ^ "MIOS8 Change Log". UCApps.de. Retrieved 2017-03-09.
  7. ^ "MidiBox SammichSID Vintage Synth Explorer". Vintagesynth.com. Retrieved 2017-03-09.
  8. ^ "STM32F4DISCOVERY - Discovery kit with STM32F407VG MCU * New order code - STMicroelectronics". St.com. Retrieved 2017-03-09.
  9. ^ "BEB DigitalAudio homepage". Beb.digitalaudio.free.fr. Retrieved 2017-03-09.

외부 링크