概要
講座で音楽を再生する場合はSoundライブラリを使うようにお伝えしましたが、WindowsかつPythonの場合はバグが有るようです。公式が公式謹製サウンドライブラリを出したって言うから、使ったのに😂
https://github.com/processing/processing-sound/issues/23
代わりに、昔から使われているサウンドライブラリminimを使ってください。
ライブラリのインストール
- [メニューバー] → [スケッチ] → [ライブラリをインストール…] → [ライブラリを追加]
- フィルター欄に「minim」を入れて検索(Enterキーを押下)
- [Minim | An audio library that ……](執筆時Ver2.2.2) を選択
- Installボタンを押下

サンプル1
サウンドファイルBGM01.mp3~ BGM03.mp3は各自用意してください。
add_library("minim")
mi = None
BGM01, BGM02, BGM03 = None, None, None
def setup():
global mi, BGM01, BGM02, BGM03
size(300,300)
mi = Minim(this)
BGM01 = mi.loadFile("BGM01.mp3")
BGM02 = mi.loadFile("BGM02.mp3")
BGM03 = mi.loadFile("BGM03.mp3")
def draw():
background(220, 232, 148)
if keyPressed:
BGM01.pause()
BGM02.pause()
BGM03.pause()
if key == "1":
BGM01.play(0)
if key == "2":
BGM02.play(0)
if key == "3":
BGM03.play(0)
textSize(200)
textAlign(CENTER)
fill(255)
text(key, width/2, height/2 + 100)使い方
loadFileで読み込んで返されるAudioPlayerの使い方です。
ちなみに効果音などの短いオーディオはloadSampleを使います。
| コンストラクタ | Minim(parent) parent:thisとする |
|---|---|
| 読み込み | loadFile(filename) filename:ファイル名(string) .mp3, .wavなどが扱える |
| 再生 | play() |
| 再生(ループ) | void loop(num)…回再生 void loop()…無限再生 num:繰り返し回数(int) |
| 停止 | ない |
| 一時停止 | pause() 再生位置はそのまま |
| 音量設定 | setVolume(value) value:音量0~1(float) |
| 音量取得 | left.level() right.level() 左右の音量を0~1(float)で習得する |
サンプル2
サウンド(mp3)を再生して、左右の音量レベルをリアルタイムにコンソール出力するサンプルです。
add_library("minim")
mi = None
BGM01 = None
def setup():
global mi, BGM01
size(500, 500)
mi = Minim(this)
BGM01 = mi.loadFile(u"烈火の如く.mp3") # サウンド読み込み
BGM01.play() # サウンド再生
def draw():
levelLeft = BGM01.left.level() # 音量レベル(左)の取得
levelRight = BGM01.right.level() # 音量レベル(右)の取得
print("{},{}".format(levelLeft, levelRight))リファレンス(詳しくはこちら(英語))
http://code.compartmental.net/minim/index.html