python pydubの使い方(1)
4016 ワード
AudioSegment()クラス
2つのオーディオファイルが接続されている場合、AudioSegment objectsはchannels、frame rate、sample rate、bit depthなどが一致しているかどうかを確認し、一致していない場合は、品質の低いオーディオをより高いオーディオと一致させるように修正します.
オーディオの読み込み
AudioSegment(…).from_file(path/handle,format)
AudioSegmentインスタンスとしてオーディオファイルを開く
formatパラメータ:デフォルトMP 3.「wav」と「raw」を同時にサポートし、その他のフォーマットはffmpegサポートが必要である.
「raw」には追加の3つのパラメータが必要です.sample_width, frame_rate, and channels,
sample_width:1 8-bitオーディオ、2 16-bit(CD quality)、4 32-bit.
channels:1モノラル、2ステレオ.
frame_rate:通常サンプリングレート44100(44.1 kHz-CD audio)、または48000(48 kHz-DVD audio)
オーディオのエクスポート
AudioSegment.export(path/handle,format)
AudioSegmentオブジェクトをファイルにエクスポートし、ファイルハンドルに戻ります.
exportの最初のパラメータは、ファイル出力パスまたはハンドルです.
format:デフォルトはmp 3です.「wav」、「raw」をサポートし、その他のフォーマットにはffmpegが必要です.
codec:オーディオフォーマットによっては、追加のデコーダが必要な場合があります.ここで必要なデコーダを定義できます.例えば、OGGフォーマットは、通常、「libVorbis」デコーダ(ffmpegが必要)を用いる.
bitrate:デコーダが使用するビットレート(例えば「128 k」が圧縮フォーマットに用いられる)を決定するビットレート(ffmpegが必要)である.各codecに要求するビットレートは異なる(ffmpeg documentation参照)(bitrateは通常-b,-ba or-a:bを用いる).
tags:オーディオにラベルを追加できます.たとえば、「album」:「1989」、「artist」:「Taylor Swift」}(ffmpegが必要です).すべてのオーディオフォーマットがtag(MP 3フォーマットサポート)をサポートするわけではない.
parameters:ffmpegを呼び出すときの追加パラメータ;リスト形式である必要があります.たとえば、[-ac],[2]].
id3v2_バージョン:デフォルト「4」で、ffmpegのID 3 v 2バージョンffmpegを設定して出力ファイルにラベルを追加します.If you want Windows Exlorer to display tags, use "3"here (source).
cover:オーディオの表紙を設定できます.現在はMP 3形式しかサポートされていません.画像形式はpng、bmp、tiffです.例:「/path/to/imgfile.png」
AudioSegment.empty()
空のAudioSegmentを作成します.
#
from pydub import AudioSegment
sound1 = AudioSegment.from_file("/path/to/sound.wav", format="wav")
sound2 = AudioSegment.from_file("/path/to/another_sound.wav", format="wav")
#
louder = sound1 + 6
quieter = sound1 - 3.5
# sound2 sound1
combined = sound1 + sound2
# sound1 3
repeated = sound1 * 3
#
duration_in_milliseconds = len(sound1)
# sound1 5
beginning = sound1[:5000]
# sound1 5
end = sound1[-5000:]
# :
sound = AudioSegment(
# raw audio data (bytes)
data=b'…',
# 2 byte (16 bit) samples sample
sample_width=2,
# 44.1 kHz frame rate
frame_rate=44100,
# stereo
channels=2
)
2つのオーディオファイルが接続されている場合、AudioSegment objectsはchannels、frame rate、sample rate、bit depthなどが一致しているかどうかを確認し、一致していない場合は、品質の低いオーディオをより高いオーディオと一致させるように修正します.
オーディオの読み込み
AudioSegment(…).from_file(path/handle,format)
AudioSegmentインスタンスとしてオーディオファイルを開く
from pydub import AudioSegment
# wave and raw don’t use ffmpeg
wav_audio = AudioSegment.from_file("/path/to/sound.wav", format="wav")
raw_audio = AudioSegment.from_file("/path/to/sound.raw", format="raw",
frame_rate=44100, channels=2, sample_width=2)
# all other formats use ffmpeg
mp3_audio = AudioSegment.from_file("/path/to/sound.mp3", format="mp3")
# use a file you've already opened (advanced …ish)with open("/path/to/sound.wav", "rb") as wav_file:
audio_segment = AudioSegment.from_file(wav_file, format="wav")
formatパラメータ:デフォルトMP 3.「wav」と「raw」を同時にサポートし、その他のフォーマットはffmpegサポートが必要である.
「raw」には追加の3つのパラメータが必要です.sample_width, frame_rate, and channels,
sample_width:1 8-bitオーディオ、2 16-bit(CD quality)、4 32-bit.
channels:1モノラル、2ステレオ.
frame_rate:通常サンプリングレート44100(44.1 kHz-CD audio)、または48000(48 kHz-DVD audio)
オーディオのエクスポート
AudioSegment.export(path/handle,format)
AudioSegmentオブジェクトをファイルにエクスポートし、ファイルハンドルに戻ります.
from pydub import AudioSegment
sound = AudioSegment.from_file("/path/to/sound.wav", format="wav")
# simple export
file_handle = sound.export("/path/to/output.mp3", format="mp3")
# more complex export
file_handle = sound.export("/path/to/output.mp3",
format="mp3",
bitrate="192k",
tags={"album": "The Bends", "artist": "Radiohead"},
cover="/path/to/albumcovers/radioheadthebends.jpg")
exportの最初のパラメータは、ファイル出力パスまたはハンドルです.
format:デフォルトはmp 3です.「wav」、「raw」をサポートし、その他のフォーマットにはffmpegが必要です.
codec:オーディオフォーマットによっては、追加のデコーダが必要な場合があります.ここで必要なデコーダを定義できます.例えば、OGGフォーマットは、通常、「libVorbis」デコーダ(ffmpegが必要)を用いる.
bitrate:デコーダが使用するビットレート(例えば「128 k」が圧縮フォーマットに用いられる)を決定するビットレート(ffmpegが必要)である.各codecに要求するビットレートは異なる(ffmpeg documentation参照)(bitrateは通常-b,-ba or-a:bを用いる).
tags:オーディオにラベルを追加できます.たとえば、「album」:「1989」、「artist」:「Taylor Swift」}(ffmpegが必要です).すべてのオーディオフォーマットがtag(MP 3フォーマットサポート)をサポートするわけではない.
parameters:ffmpegを呼び出すときの追加パラメータ;リスト形式である必要があります.たとえば、[-ac],[2]].
id3v2_バージョン:デフォルト「4」で、ffmpegのID 3 v 2バージョンffmpegを設定して出力ファイルにラベルを追加します.If you want Windows Exlorer to display tags, use "3"here (source).
cover:オーディオの表紙を設定できます.現在はMP 3形式しかサポートされていません.画像形式はpng、bmp、tiffです.例:「/path/to/imgfile.png」
AudioSegment.empty()
空のAudioSegmentを作成します.
from pydub import AudioSegment
empty = AudioSegment.empty()
len(empty) == 0
#This is useful for aggregation loops:
from pydub import AudioSegment
sounds = [
AudioSegment.from_wav("sound1.wav"),
AudioSegment.from_wav("sound2.wav"),
AudioSegment.from_wav("sound3.wav"),
]
playlist = AudioSegment.empty()for sound in sounds:
playlist += sound