─━ IT ━─

음성 인식을 통한 srt 파일 생성 방법 및 필요 도구

DKel 2024. 11. 5. 11:28
반응형
음성 인식을 활용하여 동영상이나 오디오 파일에서 srt 자막 파일을 생성하려면 몇 가지 주요 도구와 기술이 필요합니다. 이 과정에서 Python을 주로 사용하며, Google Speech-to-Text API나 다른 오픈 소스 도구를 활용할 수 있습니다. 아래 단계별로 자세히 살펴보겠습니다.

 
1. **필요한 도구 및 라이브러리 설치**
   음성 인식을 위해 Python 환경이 필요합니다. 필요한 Python 패키지를 설치하려면 터미널에서 다음 명령어를 실행하세요:
 
   ```bash
   pip install pydub speechrecognition
   ```
 
   여기서 `pydub`는 오디오 파일 처리를, `speechrecognition` 패키지는 음성 인식을 담당합니다.
 
2. **오디오 파일 준비**
   음성 인식은 오디오 파일을 입력으로 받습니다. 동영상 파일의 경우에는 오디오로 변환해야 합니다. `pydub` 라이브러리를 사용하여 mp4 파일을 mp3로 변환할 수 있습니다.
 
   ```python
   from pydub import AudioSegment
 
   # MP4 파일을 MP3로 변환
   video = AudioSegment.from_file("example.mp4", "mp4")
   video.export("converted.mp3", format="mp3")
   ```
 
3. **음성 인식 및 텍스트 추출**
   `speechrecognition` 라이브러리를 사용하여 오디오 파일의 음성을 텍스트로 변환합니다. 여기서는 Google Web Speech API를 사용합니다.
 
   ```python
   import speech_recognition as sr
 
   # Recognizer 객체 생성
   recognizer = sr.Recognizer()
 
   # 오디오 파일 읽기
   audio_file = sr.AudioFile("converted.mp3")
 
   with audio_file as source:
       audio = recognizer.record(source)
 
   # 구글 웹 음성 API를 사용하여 음성 인식
   text = recognizer.recognize_google(audio, language='ko-KR')
   print(text)
   ```
 
4. **srt 파일 생성**
   텍스트를 srt 형식으로 변환하여 저장합니다. srt 파일은 자막의 시작과 끝 시간을 지정해야 합니다. 여기서는 간단한 예제로 일정 간격으로 자막을 나누어 srt 파일로 저장하는 방법을 설명합니다.
 
   ```python
   timestamps = [(0, 5), (5, 10), (10, 15)]  # 각 자막의 시간 범위 (초 단위)
   lines = text.split('. ')  # 텍스트 분할
 
   with open("output.srt", "w", encoding="utf-8") as srt_file:
       for i, (start, end) in enumerate(timestamps):
           start_time = f"{start//60}:{start%60},000"
           end_time = f"{end//60}:{end%60},000"
           srt_file.write(f"{i+1}\n{start_time} --> {end_time}\n{lines[i]}\n\n")
   ```
 
이와 같이 적절한 도구를 설치하고 단계를 밟으면 음성 인식을 통해 동영상이나 오디오 파일의 srt 자막 파일을 손쉽게 생성할 수 있습니다. 각각의 단계에서 오류가 발생할 수 있으므로, 오류 메시지를 잘 읽고 수정하는 것이 중요합니다.

반응형