インストール
pip install git+https://github.com/jiaaro/pydub.git@master
pip install simpleaudio
コード
from pydub import AudioSegment
from pydub.silence import split_on_silence
from pydub import silence
from pydub.playback import play
sound = AudioSegment.from_file("prec.wav", format="wav")
#chunks = split_on_silence(sound, min_silence_len=1000, silence_thresh=-16,seek_step=1, keep_silence=100)
chunks = split_on_silence(sound, min_silence_len=2000, silence_thresh=-40, keep_silence=600)
for i, chunk in enumerate(chunks):
chunk.export("dat/"+"output" + str(i) +".wav", format="wav")
play(chunk)
print(silence.detect_nonsilent(sound, min_silence_len=1000, silence_thresh=-16,seek_step=1))
min_silence_len
: |デフォルト:1000 サイレント・セクションの最小長 (ミリ秒単位)。オーディオセグメントの長さよりも長い場合は、空のリストが返されます。
silence_thresh
: |デフォルト: -16 静粛性の上限は dBFS の無音です。
seek_step
デフォルト:1 無音性をチェックするためのステップのサイズ (ミリ秒単位)。小さいほど正確です。正の整数である必要があります。
keep_silence
|デフォルト:100 msまたはboolで保持する沈黙の量。チャンクの最初と最後に沈黙を残します。音が突然途切れたように聞こえないようにします。 無音の長さがkeep_silenceデュレーションよりも短い場合は、前後の無音でないセグメントに均等に分割されます。 True が指定されている場合、すべての無音部分が保持され、False が指定されている場合、何も保持されません。