[Python] ビープ音を鳴らす(Windows/Mac対応)
こんにちは、@yoheiMuneです。
Pythonのお仕事でビープ音を鳴らす実装をしたので、今日はそれをブログに書きたいと思います。
なお、
34.4. winsound — Windows 用の音声再生インタフェース — Python 3.6.4 ドキュメント
また、Macの
最後になりますが本ブログでは、Python、フロントエンド、Swift、PHP、Node.js、Linux、Java、インフラ、Go言語、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時の、解決の糸口に!」そんな目標でブログを書き続けています。ぜひ、本ブログのRSSやTwitterをフォローして貰えたら嬉しいです ^ ^
最後までご覧頂きましてありがとうございました!
Pythonのお仕事でビープ音を鳴らす実装をしたので、今日はそれをブログに書きたいと思います。
ビープ音を鳴らす実装
さっそくですが、ビープ音を鳴らす実装です。ビープ音はWindowsとMacでそれぞれ実現方式が違うので、platform.system()で環境別に実装します。
def beep(freq, dur=100):
"""
ビープ音を鳴らす.
@param freq 周波数
@param dur 継続時間(ms)
"""
if platform.system() == "Windows":
# Windowsの場合は、winsoundというPython標準ライブラリを使います.
import winsound
winsound.Beep(freq, dur)
else:
# Macの場合には、Macに標準インストールされたplayコマンドを使います.
import os
os.system('play -n synth %s sin %s' % (dur/1000, freq))
// 2000Hzで500ms秒鳴らす
beep(2000, 500)
このようにWindowsとMacで実装を分けることで、ビープ音を鳴らすことができます。なお、
winsound.Beepは、WindowsのPCでビープ音が搭載されていない場合やスピーカーを鳴らせない場合には、RuntimeErrorが発生します。参考情報
各種利用技術の詳細は、以下をご確認ください。34.4. winsound — Windows 用の音声再生インタフェース — Python 3.6.4 ドキュメント
また、Macの
playコマンドの詳細は、以下で確認できます。$ man play
最後に
今回はMatplotlibのグラフに対するインタラクションで、ビープ音を鳴らすために実装しました。Pythonは色々な用途に使えて楽しいですね。最後になりますが本ブログでは、Python、フロントエンド、Swift、PHP、Node.js、Linux、Java、インフラ、Go言語、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時の、解決の糸口に!」そんな目標でブログを書き続けています。ぜひ、本ブログのRSSやTwitterをフォローして貰えたら嬉しいです ^ ^
最後までご覧頂きましてありがとうございました!






