2022/11/23
Mac用スケッチを追加した。
2022/11/3
初版
「re.corder/ElefueをCCMapper経由で外部音源(Aria/Windows)と接続する(WIDI_Bud_Pro使用)」の続編として、pythonで実装したCCMaperをprocessing(windows版)で実装してみる。
1.以下のwindows用processingをダウンロードして解凍する;
今回、解凍したprocessing-4.0.1(ディレクトリ)を以下に置いた:
C:\processing-4.0.1
このなかのprocessing.exeをクリックするとIDEが起動する。
今回のプログラムはMIDIを使用するのでMIDIlibraryを追加する。
1.以下のurlからダウンロードして解凍する:
http://smallbutdigital.com/releases/themidibus/themidibus-latest.zip
2.解凍後、できたthemidibus(ディレクトリ)をDocuments\Processing\librariesのなかにコピーする。
以下が今回のソースコードになる。
CCMapper
// CCMapper (2022/10/31)
import themidibus.*;
MidiBus myBus; // MidiBus instance
void setup() {
size(150, 150); // window size
background(255,0,255); // window color
MidiBus.list(); // disp MIDI device list
myBus = new MidiBus(this, 2, 6); // MIDI device input/output assignment
}
void draw(){
}
void noteOn(int channel, int pitch, int velocity) {
// Receive a noteOn
myBus.sendNoteOn(channel, pitch, velocity);
//println("NoteOn channel:" + channel + " pitch:" + pitch +" velocity:"+ velocity);
}
void noteOff(int channel, int pitch, int velocity) {
// Receive a noteOff
myBus.sendNoteOff(channel, pitch, velocity);
//println("NoteOFF channel:" + channel + " pitch:" + pitch +" velocity:"+ velocity);
}
void controllerChange(int channel, int number, int value){
if(number == 2 || number == 11){ // breath or expression
// for Aria
myBus.sendControllerChange(channel, 2, value);
myBus.sendControllerChange(channel, 7, value);
myBus.sendControllerChange(channel, 26, value);
}else{
myBus.sendControllerChange(channel, number, value);
}
//println("channel:" + channel + " number:" + number +" value:"+ value);
}
以下の部分は実行環境依存部分なので自分の環境に合わせて変更する:
myBus = new MidiBus(this, 2, 6); // MIDI device input/output assignment
実行するとコンソール画面が現れて以下のような表示になる。
コンソール出力例
Available MIDI Devices:
----------Input----------
[0] "Real Time Sequencer"
[1] "loopMIDI Port 1"
[2] "WIDI Bud Pro"
----------Output----------
[0] "Gervill"
[1] "Real Time Sequencer"
[2] "Microsoft MIDI Mapper"
[3] "CoolSoft MIDIMapper"
[4] "Microsoft GS Wavetable Synth"
[5] "VirtualMIDISynth #1"
[6] "loopMIDI Port 1"
[7] "WIDI Bud Pro"
Copied to the clipboard. Use shift-click to search the web instead.
上のように接続している入力MIDIデバイス、出力MIDIデバイスが表示される。
MIDI接続状況:
MIDIとしての接続は「re.corder/ElefueをCCMapper経由で外部音源(Aria/Windows)と接続する(WIDI_Bud_Pro使用)」と同じ接続にする。
CCMapperMac
// CCMapper for Mac (2022/11/23)
import themidibus.*;
MidiBus myBus; // MidiBus instance
void setup() {
size(150, 150); // window size
background(255,0,255); // window color
MidiBus.list(); // disp MIDI device list
myBus = new MidiBus(this, 2, 2); // MIDI device input/output assignment
}
void draw(){
}
void noteOn(int channel, int pitch, int velocity) {
// Receive a noteOn
// will NOT send it at Mac Env.
//myBus.sendNoteOn(channel, pitch, velocity);
//println("NoteOn channel:" + channel + " pitch:" + pitch +" velocity:"+ velocity);
}
void noteOff(int channel, int pitch, int velocity) {
// Receive a noteOff
// will NOT send it at Mac Env.
//myBus.sendNoteOff(channel, pitch, velocity);
//println("NoteOFF channel:" + channel + " pitch:" + pitch +" velocity:"+ velocity);
}
void controllerChange(int channel, int number, int value){
if(number == 2 || number == 11){ // breath or expression
// for Aria
myBus.sendControllerChange(channel, 2, value);
myBus.sendControllerChange(channel, 7, value);
myBus.sendControllerChange(channel, 26, value);
}else{
myBus.sendControllerChange(channel, number, value);
}
//println("channel:" + channel + " number:" + number +" value:"+ value);
}
MidiBus(MIDI foor processing)関連:
The MidiBus Online Javadocs
themidibus/Class MidiBus
processing関連:
MIDIコントローラーでProcessingをコントロールする
ProcessingでMIDIコントローラーを使用する(MIDIBUS)
MIDI Harmonizer
openframeworks関連:
openFrameworksを使用して独自のMIDI生成のリアルタイムビジュアルを作成します。
Novation LauchpadとopenFrameworksを使ってResolumeのVJコントローラを作る : コーディング編
プロジェクトにアドオンを追加する方法
新規プロジェクトの作成
pygame.midi関連:
PythonでMIDI
pygame.midi
loopMIDI関連:
loopMIDI
loopMIDIでつなぐ
WIDI_Bud_Pro関連:
WIDI Bud Pro
WIDI Bud Pro 技術情報
PC音源関連:
Lyrihorn 2(VST3)を使ってみる
EVI-NER(VST3)を使ってみる
re.corder/Elefueに外部音源(Aria/Windows)を接続する(WIDI_Bud_Pro経由)
EWI5000をソフト音源(IFW)と接続する
re.corder関連:
owner’s manual re.corder
re.corder Downloads
re.corder Frequently Asked Questions
MIDI関連:
現時点、最強のBluetooth MIDIかも!? 各種BLE-MIDI機器と自動でペアリングしてくれるWIDI Masterがスゴイ!
Midi View
ASIO関連:
asio4all - ASIOドライバーのないオーディオインターフェイスをASIO対応にできるソフト
Aria関連:
EWI MASTER BOOK CD付教則完全ガイド【改訂版】のp100-p119の音色の設定方法がある
以上