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 모듈 을 사용 하여 오디 오 형식 을 바 꾸 고 오디 오 를 편집 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 이 오디 오 형식 을 바 꾸 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.