楽器演奏のためのMIDI RTコンポーネント

楽器演奏のためのMIDI RTコンポーネント

Author: 
Hiroaki Matsuda
楽器演奏のためのMIDI RTコンポーネント

概要

MIDI形式のデータをRT-Middleware上で扱うためのIDLファイルと,それを利用したサンプルRT-Component(RTC)を配布します.
MIDI(Musical Instrument Digital Interface)は電子楽器の共通規格であり,楽器演奏ロボットなどにも利用されています.
RT-Middleware上でロボットと音楽を協調させるといった場面で活用できます.

テスト環境

  • 言語: Python 2.6.6
  • Windows 7, 8, 8.1 32bit/64bit
  • 外部依存Module:

MIDI::MIDIMessage

 Arm Axis

MIDIデータをRTM上で扱うための独自データ型の定義ファイルです.
各構造体や変数の使い方や,MIDIメッセージとの対応についてはGitHubのREADMEをご覧ください.
ダウンロードと詳しい説明

システム例

下図のようなmidi_outポートにmidi_inポートを持つ複数のRTCを接続するのが基本的な使用方法となります.
このような構成にすることで,一つのMIDIメッセージを複数のRTCで共有することができます.

 Arm Axis

RT-Components

MIDIParser

 Arm Axis

SMF形式(.midi)のファイル中の音楽データをMIDIメッセージとして出力するRTCです.
MIDIファイルの構文解釈を行い,音楽データが指定するタイミングでMIDIメッセージを出力します.
ダウンロードと詳しい説明

MIDIConsoleOut

 Arm Axis

MIDIメッセージを受け取り,コンソール上に表示するRTCです.
MIDIデータを扱うRTCのデバッグなどに使用できます.
ダウンロードと詳しい説明

MIDIHandBell

 Arm Axis

MIDIメッセージに従い,ハンドベルを演奏するロボットの制御用RTCです.
20音のハンドベルをホビーサーボを用いて演奏します.

 Arm Axis

ダウンロードと詳しい説明

MIDIPiano

MIDIメッセージに従い,ソフトウェアシンセサイザを制御して演奏するRTCです.
本RTCはMicrosoft GS Wavetable SW Synthを用いて動作テストしています.

 Arm Axis

ダウンロードと詳しい説明

RT-System

下記動画で紹介しているハンドベル演奏ロボットのシステムは下図のようになります.
MIDIParser RTCが楽曲データのタイミングに合わせ,MIDIメッセージを各RTCに送信することで音楽を演奏します.

 Arm Axis

更新履歴

・17:44 10-12-2014
ライセンス上問題のあったモジュールを自前で作り直したので,MIDIPiano RTCを公開いたします.
・21:40 10-11-2014
プロジェクトにMIDIMessage型が想定するシステムの構築例を追記ました.
・18:00 30-10-2014
プロジェクトを仮アップロードしました
問合先(メールアドレス): 
venus_publication@live.jp
Resources
Project Information
OS: 
Windows
言語: 
Python
OpenRTM ver.: 
1.1
embedded video: 
Embedded thumbnail for 楽器演奏のためのMIDI RTコンポーネント
Average: 
5
Average: 5 (1 vote)
Last modified: 
Wed, 2014-12-10 17:50

Comments

Author: 

MIDIPianoの公開に際しライセンス上の問題とは何でしょうか?差し支えなければ、問題点を教えてください。

Author: 

電気通信大学の松田です. ライセンスの問題ですが,ソフトウェアシンセサイザの制御に,おーぷんMIDIぷろじぇくとというサイトで配布されているMIDIIOLibというライブラリを使用しています. このライブラリのPythonラッパーを使用しているのですが,このラッパーのライセンスが不明のため配布することができない状況になっています. このラッパーの作者の方に問い合わせておりますが,11月10日現在ご返答をいただけておりません. そこで,現在,該当するラッパーに依存しない形での実装に変更し,配布を検討しています. ご迷惑をおかけしますが,今しばらくお待ちください.

おーぷんMIDIぷろじぇくと http://openmidiproject.sourceforge.jp/MIDIIOLibrary.html

Author: 

ライセンス上問題のあったモジュールを作り直したので,MIDIPiano RTCを公開いたしました. お待たせしてしまい,申し訳ありませんでした.

Author: 

ビデオにあるサンプルのシステム構成図はないのでしょうか?ハードウェアの構成も含めてドキュメントがあれば(再)利用する場合にどのような点に気を付ければよいかの助けになると思います。

Author: 

電気通信大学の二瓶です. コメントありがとございます. まずビデオ内で使用しているサンプルのRT-Component接続関係をプロジェクトページに追加いたしました. また,電気的な接続や機構部分についてのドキュメントを追加で用意させていただきます. 公開まで今しばらくお待ちください.

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK