やりたいこと
ダミーデータを鳴らすこと
やってみた
音といえば、A(ラ)の音を使うことが多いようなので、A = 440 Hz で試してみる。
p6.py
# -*- coding: utf-8 -*-
import sys
sys.dont_write_bytecode = True
from pydub import AudioSegment
from pydub.playback import play
import Dummy as dmy
def main():
smpl = 44100 # サンプリングレートは44.1kHz
sec = 2 # 2秒分
wavA = dmy.makeWave(440, smpl, sec, 32, 0, 1)
aud = AudioSegment(
wavA.astype("int8").tobytes(),
sample_width=1,
frame_rate=smpl,
channels=1
)
play(aud)
if __name__ == '__main__':
main()
環境にもよると思いますが、Windowsで実行したところ
というエラーが出てしまいました。
ファイルの権限がない状況にも見えますが、フォルダ自体は存在していて書き込み権限もあり、
調べてみると、不可避な既知不具合っぽい謎現象で、
py -m pip install pyaudio
で pyaudio をインストールすることで回避できるようです。
ということで、無事に、ラの音を出すことができました。
補足
Dummy.pyはここにあります。
https://qiita.com/u1tym/items/3e2be5364e83df1b7792