Python 은 pydub 모듈 을 사용 하여 오디 오 형식 을 변환 하고 오디 오 를 편집 합 니 다.

5311 단어 python오디 오pydub
머리말
최근 에 짧 은 동 영상 을 보 았 는데 동 영상의 배경 음악 부분 이 매우 좋다 고 생각 했 습 니 다.이 배경 음악 을 얻 으 려 고 했 습 니 다.비록 작은 편집 이 Python 파충류 로 이 음악 을 얻 을 수 있 지만 이 음악 부분 은 얻 을 수 없 을 것 입 니 다.그래서 인터넷 에서 관련 공식 문 서 를 보 았 습 니 다.python 은 정말 모듈 이 요 구 를 만족 시 킬 수 있 을 것 이 라 고 생각 하지 못 했 습 니 다.이것 은 또 나 로 하여 금 자신의 CSDN 인터페이스의 그 말 을 생각 나 게 한다."파 이 썬 앞에서 너 만 생각 하지 못 한 것,파 이 썬 이 할 수 없 는 것 은 없다."
1.다운로드 해 야 할 Python 모듈 과 ffmpeg 멀티미디어 처리 도구
필요 한 Python 모듈 은 제목 에 언급 된 pydub 입 니 다.이 모듈 은 오디 오 파일 에 대한 편집,오디 오 형식 변환 등 을 실현 할 수 있 습 니 다.pydub 는 python 의 고급 오디 오 처리 라 이브 러 리 입 니 다.자체 웨 이브 모듈 은 wav 형식의 오디 오 파일 만 처리 할 수 있 습 니 다.MP3 형식의 파일 을 처리 하려 면 ffmpeg 이나 libav 를 설치 해 야 합 니 다.pydub 는 ffmpeg 에 의존 합 니 다.여 기 는 ffmpeg 를 설치 하 는 것 을 선택 하 십시오.
명령 을 다운로드 하고 cmd 에 pip install pydub 를 입력 하면 됩 니 다.
pydub 모듈 을 다운로드 하 는 것 외 에 도 ffmpeg 이라는 멀티미디어 처리 도 구 를 다운로드 해 야 합 니 다.그렇지 않 으 면 코드 에 오디 오 파일 경 로 를 지정 하 는 데 오류 가 없 더 라 도 실행 구조 가 잘못 되 었 습 니 다.다음 과 같다.

이것 을 다운로드 한 후에 이 오 류 를 보고 하지 않 을 것 입 니 다.다운로드 사이트 주 소 는 다음 과 같 습 니 다.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')  #              
물론 독자 들 은 이 모듈 의 사용 에 대해 더 알 고 싶 어 합 니 다.공식 문 서 를 보 러 오 셔 도 됩 니 다!
문서 연결:pydub
문서 에 서 는 오디 오 통합,오디 오 중복 등에 관 한 지식 을 담 고 있 습 니 다!
최종 구현 코드:

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()방법 에는 매개 변수 bitrate 비트 레이트 율 이 있 습 니 다.바 이 두 는 이 물건 을 살 펴 보 았 습 니 다.오디 오 음질 에 어느 정도 영향 을 미 치 는 것 같 습 니 다.

3.총화
파 이 썬 이 pydub 모듈 을 사용 하여 오디 오 형식 을 바 꾸 고 오디 오 를 편집 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 이 오디 오 형식 을 바 꾸 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!

좋은 웹페이지 즐겨찾기