Pythonはpydubモジュールを使ってオーディオフォーマットを変換し、オーディオを編集します。


前言
近端の時間は短いビデオを見ましたが、動画のバックグラウンドミュージックの断片はとてもいいと思います。このバックグラウンドミュージックを入手したいです。小編はPython爬虫類を使ってきっとこの音楽を手に入れることができますが、この音楽の断片はきっと得られないです。これはまた自分のCSDNインターフェースのあの話を思い出させてくれました。
1.ダウンロードが必要なPythonモジュールとffmpegマルチメディア処理ツール
必要なPythonモジュールはタイトルに記載されているもので、pydubは、このモジュールでオーディオファイルのクリップやオーディオフォーマットの変換などを行うことができます。pydubはpythonの高級なオーディオ処理ライブラリです。持っているwaveモジュールはwav形式のオーディオファイルしか処理できません。もしMP 3形式のファイルを処理するなら、ffmpegまたはlibavをインストールしなければなりません。pydubはffmpegに依存しています。ここでインストールするffmpegを選択します。
コマンドをダウンロードして、cmdにpip install pydubを入力すればいいです。
pydubというモジュールをダウンロードする以外に、ffmpegというマルチメディア処理ツールをダウンロードする必要があります。そうでなければ、コードの中でオーディオファイルのパスを指定してもエラーがなく、動作構造もエラーが発生します。以下のとおりです

これをダウンロードしたら、このエラーは報告されません。
このウェブサイトの下で自分のコンピュータシステムと同じバージョンを探してダウンロードすればいいです。ダウンロードが完了したら、解圧して、環境変数を配置しないようです。プログラムも正常に実行できますが、環境変数を設定したほうがいいです。

2.オーディオクリップを実現し、オーディオフォーマットコードを変換する
実際には、オーディオクリップを実現し、オーディオフォーマットを変換するコードは全部で何行かのコードになりますが、パラメータ値を入力する必要がありますので、コード量は相対的に多くなります。
キーコードは:

from pydub import AudioSegment
    
    sound=AudioSegment.from_file(file='./music/  .mp3',format='mp3')
    sound=sound[start:end]  # start,end             
    sound.export(out_f='./music/  .wav', format='wav')  #              
もちろん読者はこのモジュールの使用についてもっと知りたいです。公式文書を見に来てもいいです。
文書の接続は:ffmpeg
ドキュメントでは、オーディオの統合、オーディオの重複などの知識を話していますよ。
最終実現コード:

from pydub import AudioSegment
import sys

class Music(object):
    def __init__(self,file,file_type,start,end,save_file,save_file_type):
        self.sound = AudioSegment.from_file(file=file, format=file_type)
        self.start=start  #           
        self.end=end    #            
        self.save_file=save_file  #          
        self.save_file_type=save_file_type  #          

    def editedMusic(self):   #           
        #      start,end           

        ##                
        if self.start=='0' or self.start=='':  #            
            start_time=0
        elif ":" in self.start:#        
            list_1=self.start.split(":")
            start_time=int(list_1[0])*60+int(list_1[1])
        else:  #        ,    ,     
            print("             ")
            sys.exit()
        start_time*=1000   #       ,              1000
        if  start_time>=len(self.sound):   #                     
            print('                    ,         ')
            sys.exit()

        ##                
        if self.end=='':
            end_time=len(self.sound)  #           ,           
        elif ':' in self.end:
            list_2=self.end.split(':')
            end_time=int(list_2[0])*60+int(list_2[1])
        else:
            print("             ")
            sys.exit()
        end_time*=1000
        self.sound=self.sound[start_time:end_time]  #          
        self.saveFile()

    def saveFile(self):
        self.sound.export(out_f=self.save_file,format=self.save_file_type)
        #              
        print('     !')

if __name__ == '__main__':
    print('1.                  
2.
') print('='*50) file=input(' :
(1. , )
(2. , )
:') file_type=file[file.rfind('.')+1:] # mp3、wav start=input("( 0, ,(1:1,1 1 ):)
:") end=input("( ,(1:1,1 1 ):)
:") save_file=input(" :") save_file_type=save_file[save_file.rfind('.')+1:] music=Music(file,file_type,start,end,save_file,save_file_type) music.editedMusic() # 1:12 1:36
もちろん、このモジュールは音楽の音質を変える需要を満たしているようです。export()の方法にはパラメータービットレートがあります。Baiduのこれはオーディオの音質に影響があるようです。

3.まとめ
ここでPythonについてはpydubモジュールを使ってオーディオフォーマットを変換し、オーディオを編集する文章を紹介します。これまでの記事を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。