Pythonオーディオ処理ライブラリpydubの使い方
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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

Pytorch GPUアクセラレーションを有効にすることで、CentOSシステムでは、PytorchのCUDA、CUDNN、およびGPUバージョンのインストールが必要です。次の手順では、プロセスをガイドします。CUDAおよびCUDNNのインストールでは、CUDAバージョンの互換性が決定されます。NVIDIA-SMIコマンドを使用して、NVIDIAグラフィックスカードでサポートされているCUDAバージョンを表示します。たとえば、MX450グラフィックカードはCUDA11.1以上をサポートする場合があります。 cudatoolkitのダウンロードとインストール:nvidiacudatoolkitの公式Webサイトにアクセスし、グラフィックカードでサポートされている最高のCUDAバージョンに従って、対応するバージョンをダウンロードしてインストールします。 cudnnライブラリをインストールする:

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

MINIOオブジェクトストレージ:CENTOSシステムの下での高性能展開Minioは、Amazons3と互換性のあるGO言語に基づいて開発された高性能の分散オブジェクトストレージシステムです。 Java、Python、JavaScript、Goなど、さまざまなクライアント言語をサポートしています。この記事では、CentosシステムへのMinioのインストールと互換性を簡単に紹介します。 Centosバージョンの互換性Minioは、Centos7.9を含むがこれらに限定されない複数のCentosバージョンで検証されています。

Pytorchの分散トレーニングでは、Centosシステムでトレーニングには次の手順が必要です。Pytorchのインストール:PythonとPipがCentosシステムにインストールされていることです。 CUDAバージョンに応じて、Pytorchの公式Webサイトから適切なインストールコマンドを入手してください。 CPUのみのトレーニングには、次のコマンドを使用できます。PipinstalltorchtorchtorchvisionTorchaudioGPUサポートが必要な場合は、CUDAとCUDNNの対応するバージョンがインストールされ、インストールに対応するPytorchバージョンを使用してください。分散環境構成:分散トレーニングには、通常、複数のマシンまたは単一マシンの複数GPUが必要です。場所

PytorchをCentosシステムにインストールする場合、適切なバージョンを慎重に選択し、次の重要な要因を検討する必要があります。1。システム環境互換性:オペレーティングシステム:Centos7以上を使用することをお勧めします。 Cuda and Cudnn:PytorchバージョンとCudaバージョンは密接に関連しています。たとえば、pytorch1.9.0にはcuda11.1が必要ですが、pytorch2.0.1にはcuda11.3が必要です。 CUDNNバージョンは、CUDAバージョンとも一致する必要があります。 Pytorchバージョンを選択する前に、互換性のあるCUDAおよびCUDNNバージョンがインストールされていることを確認してください。 Pythonバージョン:Pytorch公式支店

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。
