음성 인식 (Speech Recognition)

yeomm·2024년 5월 7일

졸업 프로젝트

목록 보기
2/4

STT (Speech To Text)

  • STT는 음성을 입력받아 그에 해당하는 구문(문자열)을 얻는 기술
  • SpeechRecognition을 이용하면 모델을 학습시키지 않고도 구현 가능

Speech Recognition 설치

!pip install SpeechRecognition

SpeechRecognition 객체 생성

import speech_recognition as sr
r = sr.Recognizer()
  • recognize_google() - Google Web Speech API
  • recognize_google_cloud() - Google Cloud Speech
  • recognize_bing() - Microsoft Bing Speech
  • recognize_houndify() - SoundHound Houndify
  • recognize_ibm() - IBM Speech to Text
  • recognize_wit() - Wit.ai
  • recognize_sphinx() - CMU Sphinx (Sphinx는 오프라인으로 동작)

음성 파일 불러오기

import librosa
import IPython.display as ipd
import matplotlib.pyplot as plt
plt.style.use('seaborn-white')

fig = plt.figure(figsize=(14, 4))
korean_wav, rate = librosa.core.load('data.wav')
plt.plot(korean_wav)
plt.xlabel('Sample')
plt.ylabel('Amplitude')
plt.title('Waveform')
plt.show()

ipd.Audio(korean_wav, rate=rate)

음성인식 결과

korean_audio = sr.AudioFile('data.wav')

with korean_audio as source:
  audio = r.record(source)

r.recognize_google(audio_data=audio,language='ko-KR')

결론

recognize_google() 모델을 사용하여 음성 인식을 진행했는데 1분 미만의 음성파일만 가능했다. 음성 파일의 대부분을 정확하게 인식하여 텍스트로 변환했다.

0개의 댓글