こんにちは、みやびのです。

今回はPythonistaでSE(サウンドエフェクト)やBGMを再生する方法について紹介します。

具体的には以下の通りです。

・Pythonista+soundで音声を再生する方法
・【実装例】Pythonista+sceneのゲームに音声を追加する

Pythonistaでは音声データさえあれば簡単な処理でBGMやSEを再生することができます。
本記事を参考にしてsoundライブラリの使い方をマスターしておきましょう。

Pythonista+soundで音声を再生する方法

音声の再生関数「play_effect()」の概要

音声を再生する場合は「sound」ライブラリの関数「play_effect()」を使用します。

「play_effect()」の主なパラメータは以下の通りです。

パラメータ名 概要
name 音声データ
volume 音のボリューム
pitch 音声のスピード
pan 音の方向設定。-1.0~1.0で指定。0.0が中央。-1.0が左寄り、1.0が右寄り
looping 音声のループ設定。Trueの場合は音声を繰り返す。Falseの場合は一度だけ鳴らす

最低限指定が必要なものは「name」(音声データ)のみです。

p = play_effect(name=’xxxxx’)

「looping」をTrueにすると音声を繰り返し流すことができます。

p = play_effect(name=’xxxxx’, looping=True)

「pan」では音を出す方向を指定します。
通常の再生方法ではわかりにくいですが、イヤホンやヘッドホンをすると確認しやすいです。

◆通常再生

p = play_effect(name=’xxxxx’, pan=0)

◆右寄せ再生

p = play_effect(name=’xxxxx’, pan=1)

◆左寄せ再生

p = play_effect(name=’xxxxx’, pan=-1)

音声の停止関数「stop_effect()」の使い方

loopingがTrueの場合やBGMを再生している場合はstop_effect()関数を使用することで音声を停止できます。

stop_all_effects()で全ての音声を停止することができます。

音声ファイルの挿入方法

nameに使用する音声ファイルは+ボタンから追加可能です。

1.+ボタンをタッチ
+ボタンをタッチ

2.soundsをタッチ
soundsをタッチ

3.追加したい音声の種類を選択
4.追加したい音声をタッチ
音声を選択

音声を選択すると代替テキストが挿入されます。

再生ボタンを押すことで音声の確認が可能です。

ファイルから読み込むことも可能です。

【実装例】Pythonista+sceneのゲームに音声を追加する

SE(サウンドエフェクト)の実装例

画面をタッチした時にSEを鳴らす実装例です。
touch_began()の処理に追加すればタッチした時に音声を追加することができます。

BGMの実装例

BGMを流す場合の実装例です。
setup()で「looping=True」でplay_effect()を実行します。

以上、Pythonistaで音声を追加する方法でした。

Pythonistaまとめ>>Pythonistaの使い方まとめ

おすすめ記事>>Python+Open JTalkで音声を操作する方法