Pythonは音の再生と録音を実現します。
Python言語はもう何でもできます。今日はPythonを使ってオーディオファイルを録音したり、再生したりします。
以下はオーディオを再生して録音できるPythonの第三者ライブラリです。 plysoundは、MP 3とWAVをサポートしています。今は簡単な再生だけをサポートしています。 simpleaudioはWAVをサポートし、ファイルがまだ再生されているかどうかを確認する機能を提供します。 windsound、WAVを支持して、windowsだけを支持します。 python-sounddeviceとpyaudioは、プラットフォームを越えてWAVファイルを再生するためにPortAudioライブラリにバインディングを提供する。 pydubは、pyaudioでオーディオを再生する必要がありますが、ffmpegをインストールした後、いくつかのコードを使って各種オーディオフォーマットを再生することができます。
一、オーディオファイルを再生する
プレースアウトライブラリを使う
1、据え付け
1、据え付け
Windowsを使用すると、内蔵のwindsoundモジュールを使って基本的なサウンド再生機構にアクセスできます。WAVファイルを再生するには、いくつかの行のコードがあります。
1、据え付け
1、据え付け
1、据え付け
しかし、pyaudioはより低レベルな制御を提供するので、入出力装置のパラメータを取得して設定し、CPU負荷と入出力遅延を確認することができます。
また、音声の再生と録音も可能です。コールバックモードでは、新しいデータの再生や利用可能なデータの記録が必要な場合には、指定されたコールバック関数を呼び出します。あなたのオーディオに必要なのが簡単な再生だけではないなら、これらのオプションはpyaudioを適切なライブラリにします。
多くの異なるライブラリを使ってオーディオを再生する方法が分かりましたので、Pythoonを使って自分でオーディオを録音する方法を確認してみます。
レコーディング
Python-sounddeviceとpyaudioライブラリは、Pythonでオーディオを録音する方法を提供します。
1、python-sounddeviceを使って録音する
1、pydubを使ってオーディオを保存する
以上がPythonの再生と録音機能の詳細です。pythonの再生と録音に関する資料は他の関連記事に注目してください。
以下はオーディオを再生して録音できるPythonの第三者ライブラリです。
プレースアウトライブラリを使う
1、据え付け
$ pip install playsound
2、オーディオを再生する
from playsound import playsound
playsound('myfile.wav')
シンプルライブラリを使う1、据え付け
$ pip install simpleaudio
2、オーディオを再生する
mport simpleaudio as sa
filename = 'myfile.wav'
wave_obj = sa.WaveObject.from_wave_file(filename)
play_obj = wave_obj.play()
play_obj.wait_done() # Wait until sound has finished playing
win soundライブラリを使うWindowsを使用すると、内蔵のwindsoundモジュールを使って基本的なサウンド再生機構にアクセスできます。WAVファイルを再生するには、いくつかの行のコードがあります。
import winsound
filename = 'myfile.wav'
winsound.PlaySound(filename, winsound.SND_FILENAME)
python-sounddeviceライブラリを使用する1、据え付け
$ pip install sounddevice
2、オーディオを再生する
import sounddevice as sd
import soundfile as sf
filename = 'myfile.wav'
# Extract data and sampling rate from file
data, fs = sf.read(filename, dtype='float32')
sd.play(data, fs)
status = sd.wait() # Wait until file is done playing
pydubライブラリを使う1、据え付け
$ pip install pydub
2、オーディオを再生する
from pydub import AudioSegment
from pydub.playback import play
sound = AudioSegment.from_wav('myfile.wav')
play(sound)
デフォルトでは、pydubはwav形式のオーディオしか再生できません。他のフォーマットのオーディオファイルを再生したいなら。ffmpeg-pythonをインストールしたいです。
$ pip install ffmpeg-python
ffmpegをインストールした後、MP 3ファイルを再生するには、私達の前のコードの中で小さな修正をする必要があります。
from pydub import AudioSegment
from pydub.playback import play
sound = AudioSegment.from_mp3('myfile.mp3')
play(sound)
pyaudioライブラリを使う1、据え付け
$ pip install pyaudio
2、オーディオを再生する
import pyaudio
import wave
filename = 'myfile.wav'
chunk = 1024
wf = wave.open(filename, 'rb')
p = pyaudio.PyAudio()
stream = p.open(format = p.get_format_from_width(wf.getsampwidth()),
channels = wf.getnchannels(),
rate = wf.getframerate(),
output = True)
data = wf.readframes(chunk)
while data != '':
stream.write(data)
data = wf.readframes(chunk)
stream.close()
p.terminate()
前に見たライブラリを使って音を再生するよりも、pyaudioを使って音を再生する方が複雑だということに気づいたかもしれません。これは、Pythonアプリケーションで音声効果を再生するだけであれば、あなたの優先順位ではないかもしれません。しかし、pyaudioはより低レベルな制御を提供するので、入出力装置のパラメータを取得して設定し、CPU負荷と入出力遅延を確認することができます。
また、音声の再生と録音も可能です。コールバックモードでは、新しいデータの再生や利用可能なデータの記録が必要な場合には、指定されたコールバック関数を呼び出します。あなたのオーディオに必要なのが簡単な再生だけではないなら、これらのオプションはpyaudioを適切なライブラリにします。
多くの異なるライブラリを使ってオーディオを再生する方法が分かりましたので、Pythoonを使って自分でオーディオを録音する方法を確認してみます。
レコーディング
Python-sounddeviceとpyaudioライブラリは、Pythonでオーディオを録音する方法を提供します。
1、python-sounddeviceを使って録音する
import sounddevice as sd
from scipy.io.wavfile import write
fs = 44100 # Sample rate
seconds = 3 # Duration of recording
myrecording = sd.rec(int(seconds * fs), samplerate=fs, channels=2)
sd.wait() # Wait until recording is finished
write('output.wav', fs, myrecording) # Save as WAV file
2、pyaudioで録音する
import pyaudio
import wave
chunk = 1024 # Record in chunks of 1024 samples
sample_format = pyaudio.paInt16 # 16 bits per sample
channels = 2
fs = 44100 # Record at 44100 samples per second
seconds = 3
filename = "output.wav"
p = pyaudio.PyAudio() # Create an interface to PortAudio
print('Recording')
stream = p.open(format=sample_format,
channels=channels,
rate=fs,
frames_per_buffer=chunk,
input=True)
frames = [] # Initialize array to store frames
# Store data in chunks for 3 seconds
for i in range(0, int(fs / chunk * seconds)):
data = stream.read(chunk)
frames.append(data)
# Stop and close the stream
stream.stop_stream()
stream.close()
# Terminate the PortAudio interface
p.terminate()
print('Finished recording')
# Save the recorded data as a WAV file
wf = wave.open(filename, 'wb')
wf.setnchannels(channels)
wf.setsampwidth(p.get_sample_size(sample_format))
wf.setframerate(fs)
wf.writeframes(b''.join(frames))
wf.close()
三、保存と書式変換1、pydubを使ってオーディオを保存する
from pydub import AudioSegment
sound = AudioSegment.from_wav('myfile.wav')
sound.export('myfile.mp3', format='mp3')
2、pydubを使ってフォーマット変換を完了する。
from pydub import AudioSegment
sound = AudioSegment.from_wav('myfile.wav')
sound.export('myfile.mp3', format='mp3')
内容がいいと思ったら、もっと多くの友達に分けてプログラミングのスキルをアップします。以上がPythonの再生と録音機能の詳細です。pythonの再生と録音に関する資料は他の関連記事に注目してください。