[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をフォローして貰えたら嬉しいです ^ ^
最後までご覧頂きましてありがとうございました!