파이썬으로 오디오 파일 전사하는 방법

Find AI Tools in second

Find AI Tools
No difficulty
No complicated process
Find ai tools

파이썬으로 오디오 파일 전사하는 방법

목차

  1. 프로젝트 소개
  2. 파이썬에서 음성 인식하는 방법
  3. 어셈블리 인공지능 API 토큰 생성
  4. 파일 업로드
  5. 음성 전사 시작
  6. 자동 인식 폴링
  7. 전사 결과 저장
  8. 결론
  9. 자주 묻는 질문
  10. 참고 자료

프로젝트 소개

이 프로젝트에서는 파이썬을 사용하여 음성 인식을 수행하는 방법을 배우게 됩니다. 이 방법은 매우 간단합니다. 우리가 할 일은 이전 프로젝트에서 녹음한 오디오 파일을 가져와서 텍스트 파일로 변환하는 것입니다. 이 프로젝트는 어떻게 작동하는지를 보여줍니다. 이전 프로젝트에서 녹음한 오디오 파일은 다음과 같습니다.

hi i'm patrick this is a test123

스크립트를 실행하면 우리는 이 오디오 파일의 텍스트 전사를 얻습니다.

hi i'm patrick this is a test one two three

이제 이를 파이썬에서 구현하는 방법을 알아보겠습니다. 이 프로젝트에는 주로 두 가지가 필요합니다. 어셈블리 인공지능 API를 사용하여 음성 인식을 수행하는 데 사용되는 "requests" 라이브러리입니다. 먼저 어셈블리 인공지능에서 API 토큰을 가져와야 합니다. 어셈블리 인공지능 웹사이트에 가입한 후 API 키를 복사하면 됩니다. 그런 다음 이 API 키를 사용하여 파일을 업로드하고 음성을 전사하는 방법을 설정할 수 있습니다. 이제 다음 단계에 대해 알아보겠습니다.

파이썬에서 음성 인식하는 방법

이 프로젝트의 메인 파일에는 다음과 같은 코드가 포함되어야 합니다.

import requests

def upload(file_name):
    # 파일 업로드 코드 작성

def transcribe(audio_url):
    # 음성 전사 코드 작성

def polling(job_id):
    # 폴링 코드 작성

def save_transcript(data, file_name):
    # 전사 결과 저장 코드 작성

def main(file_name):
    audio_url = upload(file_name)
    transcribe_url = transcribe(audio_url)
    job_id = transcribe_url['id']
    data = polling(job_id)
    save_transcript(data, file_name)

if __name__ == '__main__':
    file_name = input("파일 이름을 입력하세요: ")
    main(file_name)

이 코드를 사용하여 오디오 파일을 업로드하고 음성 전사 결과를 텍스트 파일로 저장할 수 있습니다. 다음 몇 단계에서는 이 코드를 구체적으로 작성하는 방법을 알아보겠습니다.

어셈블리 인공지능 API 토큰 생성

어셈블리 인공지능 API를 사용하기 위해 API 토큰을 생성해야 합니다. 어셈블리 인공지능 웹사이트에 가입한 후 무료 계정을 생성하고 로그인하면 API 키를 얻을 수 있습니다. 그런 다음 이 API 키를 코드에 붙여넣어야 합니다.

API_KEY = '여기에_당신의_API_키를_입력하세요'

이렇게 API 키를 설정한 후에는 해당 키로 언제든지 인증할 수 있습니다.

파일 업로드

파일을 어셈블리 인공지능 API에 업로드하는 것은 매우 간단합니다. 다음과 같은 코드를 작성하면 됩니다.

def upload(file_name):
    url = 'https://api.assemblyai.com/v2/upload'
    headers = {
        'authorization': API_KEY
    }
    with open(file_name, 'rb') as file:
        response = requests.post(url, headers=headers, data=file)
    audio_url = response.json()['upload_url']
    return audio_url

이 코드는 주어진 파일을 업로드하고 업로드된 오디오의 URL을 반환합니다. 그런 다음 이 URL을 다음 단계에서 사용할 수 있습니다.

음성 전사 시작

음성 전사를 시작하기 위해 다음 코드를 작성해야 합니다.

def transcribe(audio_url):
    url = 'https://api.assemblyai.com/v2/transcript'
    headers = {
        'authorization': API_KEY,
        'content-type': 'application/json'
    }
    json_data = {
        'audio_url': audio_url
    }
    response = requests.post(url, headers=headers, json=json_data)
    return response.json()

이 코드는 오디오 URL을 사용하여 음성 전사 작업을 시작합니다. 응답에서 전사 작업 ID를 반환하므로 다음 단계에서 사용할 수 있습니다.

자동 인식 폴링

음성 전사 작업의 상태를 확인하기 위해 폴링을 사용해야 합니다. 다음과 같은 코드를 작성하면 됩니다.

import time

def polling(job_id):
    while True:
        url = f'https://api.assemblyai.com/v2/transcript/{job_id}'
        headers = {
            'authorization': API_KEY
        }
        response = requests.get(url, headers=headers)
        data = response.json()
        status = data['status']
        if status == 'completed':
            return data
        elif status == 'error':
            return None
        else:
            print("아직 전사 작업이 완료되지 않았습니다. 30초 후 다시 확인합니다.")
            time.sleep(30)

이 코드는 주어진 전사 작업 ID를 사용하여 음성 전사 작업의 상태를 확인합니다. 전사가 완료되거나 에러가 발생하면 해당 결과를 반환합니다. 그렇지 않은 경우 30초 후 다시 확인합니다.

전사 결과 저장

마지막으로 전사 결과를 텍스트 파일로 저장해야 합니다. 다음 코드를 사용하면 됩니다.

def save_transcript(data, file_name):
    transcript = data['text']
    output_file_name = file_name + '.txt'
    with open(output_file_name, 'w') as file:
        file.write(transcript)
    print("전사가 저장되었습니다.")

# 함수 호출 예시
save_transcript(data, 'output.12')

이 코드는 전사 결과를 받아와서 출력 파일 이름을 생성하고, 해당 파일에 전사를 저장합니다. 저장이 완료되면 메시지를 출력합니다.

결론

이렇게 하면 파이썬을 사용하여 음성 인식을 수행하는 프로젝트를 완성할 수 있습니다. 파일을 어셈블리 인공지능 API에 업로드하고 음성을 전사하며 전사 결과를 텍스트 파일로 저장할 수 있습니다. 이를 통해 음성 데이터를 효과적으로 활용할 수 있습니다. 다음 프로젝트에서는 이 코드를 활용하여 더 많은 기능을 구현해 볼 수 있습니다.

자주 묻는 질문

Q: 어셈블리 인공지능 API 토큰을 어디에서 얻을 수 있나요?

A: 어셈블리 인공지능 웹사이트에 가입하고 무료 계정을 생성하면 API 토큰을 얻을 수 있습니다.

Q: 음성 전사 작업이 오래 걸리는 이유는 무엇인가요?

A: 음성 전사 작업은 오디오의 길이에 따라 시간이 다소 소요될 수 있습니다. 긴 녹음 파일일수록 전사하는 데 더 많은 시간이 걸릴 수 있습니다.

Q: 전사 결과를 다른 형식으로 저장할 수 있나요?

A: 네, 가능합니다. 코드를 수정하여 원하는 형식으로 결과를 저장할 수 있습니다.

참고 자료

Most people like

Are you spending too much time looking for ai tools?
App rating
4.9
AI Tools
100k+
Trusted Users
5000+
WHY YOU SHOULD CHOOSE TOOLIFY

TOOLIFY is the best ai tool source.