1. インストール
pip を使用してインストールします (ffmpeg の依存関係もインストールする必要があります。インストールには conda コマンドを使用することをお勧めします)。環境を設定する必要はありません):
pip install pydub
2. 音声ファイルのインポートと読み取り
from pydub import AudioSegment audio = AudioSegment.from_file("path/to/file")
3. 音声の再生
from pydub.playback import play play(audio)
4. 音声の長さ
duration = audio.duration_seconds # 单位为秒
5. 音声のカット
# 前10秒 audio = audio[:10000] # 后10秒 audio = audio[-10000:] # 从第10秒开始到第20秒结束 audio = audio[10000:20000] # 从第10秒开始到结尾 audio = audio[10000:] # 从开始到第10秒audio = audio[:10000]
6. 音声の結合
audio1 = AudioSegment.from_file("path/to/file1") audio2 = AudioSegment.from_file("path/to/file2") audio_combined = audio1 + audio2
7. 音声変換
audio.export("path/to/new/file", format="mp3")
8. 音量の調整
# 增加10分贝 louder_audio = audio + 10 # 减小10分贝 quieter_audio = audio - 10
9. 音声の分割
# 等分分割,按大概每三分钟进行分割 for i in range(1, 1000): if 3.3 >= (audio.duration_seconds / (60 * i)) >= 2.8: number = i break chunks = audio[::int(audio.duration_seconds / number * 1000 + 1)] # 切割 # 保存分割后的音频 for i, chunk in enumerate(chunks): chunk.export("path/to/new/file{}.wav".format(title,i), format="wav")
10. 完全なコード
次は、前後のオーディオを切り取り、保存するために適切な長さの小さなセグメントにオーディオを分割するために使用される完全なコードです。
from pydub import AudioSegment # 读取音频文件 audio = AudioSegment.from_file("path/to/file") # 输出视频时长 print('视频时长:', audio.duration_seconds / 60) # 前后切割 start = int(input('前切割n秒,不切割输入0'))*1000 end = int(input('后切割n秒,不切割输入0'))*1000 if start: audio = audio[start:-end] # 计算合适的分割长度 for i in range(1, 1000): if 3.3 >= (audio.duration_seconds / (60 * i)) >= 2.8: number = i break chunks = audio[::int(audio.duration_seconds / number * 1000 + 1)] # 保存分割后的音频 for i, chunk in enumerate(chunks): print('分割后的时长:', chunk.duration_seconds / 60) chunk.export("path/to/new/file{}.wav".format(i), format="wav")
アプリケーションケース
1. オーディオ ファイルを指定された形式に変換します
from pydub import AudioSegment # 读取音频文件 audio = AudioSegment.from_file("path/to/file") # 转换为mp3格式并保存 audio.export("path/to/new/file.mp3", format="mp3")
2. 複数のオーディオ ファイルを 1 つのファイルに結合します
from pydub import AudioSegment # 读取音频文件 audio1 = AudioSegment.from_file("path/to/file1") audio2 = AudioSegment.from_file("path/to/file2") # 合并音频文件并保存 combined_audio = audio1 + audio2 combined_audio.export("path/to/new/file", format="wav")
3 . Make着信音
from pydub import AudioSegment # 读取音频文件 audio = AudioSegment.from_file("path/to/file") # 切割并保存 start = 10000 end = 15000 ringtone = audio[start:end] ringtone.export("path/to/new/file", format="mp3")
4. オーディオの音量を調整します
from pydub import AudioSegment # 读取音频文件 audio = AudioSegment.from_file("path/to/file") # 增加10分贝 louder_audio = audio + 10 # 减小10分贝 quieter_audio = audio - 10 # 保存调整后的音频 louder_audio.export("path/to/new/file", format="wav") quieter_audio.export("path/to/new/file", format="wav")
ケース: 空の音を識別してオーディオ内の曲を分割します
from pydub import AudioSegment from pydub.silence import split_on_silence # 读取音频文件 audio = AudioSegment.from_file("audio.mp3", format="mp3") # 设置分割参数 min_silence_len = 700 # 最小静音长度 silence_thresh =-10 # 静音阈值,越小越严格 keep_silence = 600 # 保留静音长度 # 计算分割数量 num_segments = int(audio.duration_seconds/60/3) # 每首歌曲大概三分钟,计算歌曲数量 # 分割音频文件 for i in range(-10, 0): segments = split_on_silence(audio, min_silence_len=min_silence_len, silence_thresh=i, keep_silence=keep_silence) if len(segments) <= num_segments: print(f"分割成功,共分割出 {len(segments)} 段") break else: print(f"当前阈值为 {i},分割出 {len(segments)} 段,继续尝试")
最初に、AudioSegment を使用します。 from_file() メソッドを使用してオーディオ ファイルを読み取り、最小無音長、無音しきい値、保持される無音長をそれぞれ表すセグメンテーション パラメーター min_silence_len、silence_thresh、および keep_silence を設定します。このうち、無音閾値が小さいほど、より多くの小さなセグメントが切り出されますが、切り落としが発生する可能性があり、逆に、無音閾値が大きいほど、切り出されるセグメントは少なくなりますが、切り出し漏れが発生する可能性があります。
次に、分割数 num_segments、つまりオーディオ ファイルが何つのセグメントに分割されているかを計算します。ここでは1曲を約3分として、何分割する必要があるかを計算してみます。
最後に、split_on_silence() メソッドを使用してオーディオ ファイルを分割し、分割パラメータを設定し、セグメント化されたセグメントの数が期待を満たすまでループを通じて無音のしきい値を継続的に調整します。分割が成功した場合はループから抜け出し、そうでない場合は試行を続けます。
つまり、pydub は、オーディオ処理、変換、結合などの操作を簡単に実行できる、非常に実用的なオーディオ処理ライブラリです。同時に、pydub には、着信音の作成、音量の調整などの豊富なアプリケーション シナリオもあります。 pydub を使用する場合は、オーディオ形式の互換性の問題に注意する必要があることに注意してください。
さらに、pydub を通じてオーディオのエンコード、デコード、ミキシング、リサンプリングなどの操作を実行することもできます。以下に、一般的な操作の例をいくつか示します。
コーディング、ミキシング、リサンプリング
1. コーデック
from pydub import AudioSegment # 读取音频文件 audio = AudioSegment.from_file("path/to/file") # 编码 encoded_audio = audio.set_frame_rate(16000).set_sample_width(2).set_channels(1) # 解码 decoded_audio = encoded_audio.set_frame_rate(44100).set_sample_width(4).set_channels(2)
2. ミキシング
from pydub import AudioSegment # 读取音频文件 audio1 = AudioSegment.from_file("path/to/file1") audio2 = AudioSegment.from_file("path/to/file2") # 混音 mixed_audio = audio1.overlay(audio2) # 保存混音后的音频 mixed_audio.export("path/to/new/file", format="wav")
3. リサンプリング
from pydub import AudioSegment # 读取音频文件 audio =AudioSegment.from_file("path/to/file") # 重采样为44100Hz resampled_audio = audio.set_frame_rate(44100) # 保存重采样后的音频 resampled_audio.export("path/to/new/file", format="wav")
pydub を通じて、オーディオのエンコード、デコード、ミキシング、リサンプリングなどの操作を簡単に実行でき、pydub のアプリケーション シナリオをさらに拡張できます。オーディオ ミキシング操作を実行するときは、2 つのオーディオ ファイルのサンプリング レート、サンプリング ビット数、チャンネル数が同じであることを確認する必要があることに注意してください。
最後に、pydub のメリットとデメリットをまとめます。
利点:
軽量: pydub は、インストールと使用が簡単な軽量のオーディオ処理ライブラリです。
豊富な機能: pydub は、カット、マージ、変換、ボリューム調整、エンコードとデコード、ミキシング、リサンプリングなどを含む、豊富なオーディオ処理機能を提供します。
幅広い用途: pydub には、オーディオ処理、着信音の作成、オーディオ形式の変換、音声認識など、幅広いアプリケーション シナリオがあります。
欠点:
形式との互換性が制限されている: pydub は音声形式との互換性が制限されており、すべての音声形式をサポートしているわけではありません。音声は処理する前にサポートされている形式に変換する必要があります。
平凡なパフォーマンス: pydub が大きなファイルを処理する場合、そのパフォーマンスは平均的になる可能性があり、ある程度の時間とコンピューティング リソースが必要になります。
ストリーミング処理をサポートしていません: pydub はストリーミング処理をサポートしていません。オーディオ ファイル全体をメモリに読み込む必要があるため、メモリ フットプリントが大きくなります。
要約すると、pydub は機能が豊富で広く使用されているオーディオ処理ライブラリです。 pydub を使用する場合は、オーディオ形式の互換性の問題に注意し、大きなファイルを処理するときのパフォーマンスとメモリ使用量に注意する必要があります。より複雑なオーディオ タスクを処理する必要がある場合は、他のより専門的なオーディオ処理ライブラリの使用を検討できます。
以上がPythonオーディオ処理ライブラリpydubの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...

正規表現を使用して、最初の閉じたタグと停止に一致する方法は? HTMLまたは他のマークアップ言語を扱う場合、しばしば正規表現が必要です...

Investing.comの反クラウリング戦略を理解する多くの人々は、Investing.com(https://cn.investing.com/news/latest-news)からのニュースデータをクロールしようとします。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1
使いやすく無料のコードエディター

ホットトピック



