Pythonで音声ファイルを再生する場面は、ゲーム、アプリ、通知ツールなど意外と多いですよね。その中で、最初に目につくのが playsound というシンプルなライブラリ。しかし、実際に開発で使っていくと「これで本当に十分か?」という壁にぶつかることがあります。
本記事では、playsound の限界と、なぜ代替として pygame を使うべきなのかを具体的に解説します。
pip install playsound)from playsound import playsound
playsound('sample.mp3')
.wav と .mp3 のみpip install pygame
import pygame
import time
pygame.mixer.init()
pygame.mixer.music.load("sample.mp3")
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
time.sleep(0.1)
| 機能 | pygame | playsound |
|---|---|---|
| .mp3, .wav, .ogg 対応 | ◯ | △ |
| 非同期再生 | ◯ | ✕ |
| 再生の一時停止・再開・停止 | ◯ | ✕ |
| 音量調整・ループ再生 | ◯ | ✕ |
| エラーへの耐性 | 高い | 低い |
| クロスプラットフォーム性 | 安定 | 環境依存あり |
pygame を選んだ最大の理由は「信頼性と柔軟性」です。
当初、Pythonで簡単に音声を鳴らしたくて playsound を試しましたが、以下のようなトラブルが頻発しました:
.mp3 がmacOSで再生できないそれに比べて pygame は、
.ogg にも対応していて軽量まさに開発用途にふさわしい音声再生ライブラリです。
| 使用目的 | おすすめライブラリ |
|---|---|
| とりあえず音を鳴らしたい | playsound |
| 制御したい、安定性がほしい | pygame |
Pythonで音声ファイルを再生するだけなら playsound でもOKですが、「実用的なツール」や「ゲーム」、「アプリ」を作るなら、pygame 一択と言っても過言ではありません。
PythonでTOTP・HOTPを実装する方法|ワンタイムパスワード
Python ブラウザ指定し自動で開く!webbrowserモジュール完全ガイド
Pythonでmoricons.dllのアイコンをPNGとして抽出する方法
【Python音声再生】playsoundではなくpygameを選ぶ理由とは?
Pythonのtqdmライブラリで簡単プログレスバーを実装する方法
📡Dash × PlotlyでリアルタイムスピードテストWebアプリを作る
【Python】pyttsx3のインストール方法と使い方|音声合成で日本語を喋らせる&音声ファイルに保存
【Python入門】pydubで簡単なリズムを作ってmp3保存する方法|audioopエラー対策