python

[GPT][MEETINGGPT] Cutting The Audio

으누아빠 2024. 5. 14. 12:25
반응형

pydub

 

pydub은 Python으로 오디오 처리 작업을 수행할 수 있게 하는 유용한 라이브러리 중 하나

이 라이브러리를 사용하면 오디오 파일의 생성, 변환, 조작, 재생 속도 변경, 오디오 형식 간 변환 등 다양한 작업을 수행할 수 있음

pydub에서 AudioSegment는 오디오 데이터를 나타내는 핵심 객체입

이 객체는 여러 오디오 형식(예: MP3, WAV)의 오디오 데이터를 처리하고 다양한 작업을 수행하는 데 사용

 

설치
pip install pydub

 

from pydub import AudioSegment

 

 

def cut_audio_in_chunks(audio_path, chunk_size, chunks_folder):
    if has_transcript:
        return
    track = AudioSegment.from_mp3(audio_path)
    chunk_len = chunk_size * 60 * 1000
    chunks = math.ceil(len(track) / chunk_len)
    for i in range(chunks):
        start_time = i * chunk_len
        end_time = (i + 1) * chunk_len
        chunk = track[start_time:end_time]
        chunk.export(
            f"./{chunks_folder}/chunk_{i}.mp3",
            format="mp3",
        )
 

 

AudioSegment.export(파일명, 포멧)

변환된 데이터를 내보내는 메서드

 

[예제]

from pydub import AudioSegment

# AudioSegment 객체 생성
audio = AudioSegment.from_file("input_audio.mp3")

# 내보낼 파일 형식과 경로 지정
output_format = "wav"
output_path = "output_audio.wav"

# 파일로 내보내기
audio.export(output_path, format=output_format)

 

'python' 카테고리의 다른 글

[GPT][MEETINGGPT] Refine Chain  (0) 2024.05.14
[GPT][MEETINGGPT] Whisper Transcript  (0) 2024.05.14
[GPT][MEETINGGPT] Audio Extraction  (0) 2024.05.14
[GPT][SITEGPT] Map Re Rank Chain  (0) 2024.05.13
[GPT][SITEGPT] Parsing Function  (0) 2024.05.13