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

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

投稿者: 
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)
最終更新日時: 
水, 2014-12-10 17:50

コメント

投稿者: 

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

投稿者: 

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

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

投稿者: 

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

投稿者: 

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

投稿者: 

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

最新バージョン

初めての方へ

Windows msi(インストーラ) パッケージ (サンプルの実行ができます。)

C++,Python,Java,
Toolsを含む
1.1.2-RELEASE

RTコンポーネントを開発するためには開発環境のインストールが必要です。詳細はダウンロードページ

統計

Webサイト統計
ユーザ数:1653
プロジェクト統計
RTコンポーネント288
RTミドルウエア21
ツール20
文書・仕様書1

旧Webサイト

OpenRTM.org旧Webサイト

OpenHRP3

動力学シミュレータ

Choreonoid

モーションエディタ/シミュレータ

OpenHRI

対話制御コンポーネント群

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク

VirCA

遠隔空間同士を接続し、実験を行うことが可能な仮想空間プラットホーム