pygameを利用したMIDIフットスイッチの情報受信
前回の続き
Pygame ライブラリを利用してMIDIフットスイッチの情報を受信してみました。
#!/usr/bin/python3
#!/usr/bin/python3
# coding:utf-8
import time
import pygame
import pygame.midi
pygame.init()
pygame.midi.init()
sw_name = 'UM-1G'
for i in range(pygame.midi.get_count()):
print (i,end=' ')
midi_info = (pygame.midi.get_device_info(i))
if_name = str(midi_info[1])
print (midi_info)
if midi_info[2] == 1:
if sw_name in if_name:
print ("footSW ID = ",i)
foot_sw = i print(pygame.midi.get_default_input_id())
while True:
out = pygame.midi.Input(foot_sw)
a = out.read(1)
time.sleep(0.1)
out.close()
if a:
print (a)
pygameを利用したMIDIフットスイッチの情報受信
前回の続き
Pygame ライブラリを利用してMIDIフットスイッチの情報を受信してみました。
#!/usr/bin/python3
#!/usr/bin/python3
# coding:utf-8
import time
import pygame
import pygame.midi
pygame.init()
pygame.midi.init()sw_name = 'UM-1G'
for i in range(pygame.midi.get_count()):
print (i,end=' ') midi_info = (pygame.midi.get_device_info(i)) if_name = str(midi_info[1]) print (midi_info) if midi_info[2] == 1: if sw_name in if_name: print ("footSW ID = ",i) foot_sw = i print(pygame.midi.get_default_input_id())
while True:
out = pygame.midi.Input(foot_sw) a = out.read(1) time.sleep(0.1) out.close() if a: print (a) print (a[1])
pygameライブラリのテスト
MIDIフットスイッチの状態取得
前回からの続きです
MIDIフットスイッチが踏まれたら"footsw on!"と表示するプログラムです。
スタンダードMIDIファイルの最初のイベントは頭から38Byte目に書かれるので、1秒毎にインターフェースの状態を書き出して、38Byte目にプログラムチェンジ(c0)が書かれたかどうかを判定しています。
一応期待通りに動くのですが、
- 都度ファイルに書き出してそれを再度読み込んで内容を確認しているブサイクさと
- スイッチを踏むタイミングによっては取りこぼしがある
ので、正直実用化には厳しいかと、、、
arecordmidi を使う方法以外に何かいいアイデアがないか考えてみます。。。
続きを読む
MIDI受信メッセージを保存するスクリプトをPythonで書く
MIDIメッセージを受信するコマンドはわかりましたが、自動でスタート・ストップをする方法が必要なので、とりあえず一定時間受信したら止まるスクリプトを書いてみました。
参考しにしたのはこちらのサイト
python でコマンド実行。サブプロセスの終了待ち・強制終了・親プロセスと一緒に殺す。 - それマグで!
続きを読むBlogタイトルに「お金がない」と書いたので、どれくらい金がかかってるか主要機器のお値段を調べてみる
今回色々と機器が登場するので、それぞれどれくらいするものなのかを再確認してみました。
もともと持ってたものは実質費用0円と言いたいところですが、当時買ったときにおいくら万円くらいしたのか、一応記載しときました。
続きを読む