[python] 파이썬을 이용한 특정 음성 인식 키워드 추출하기

음성 인식 기술은 현대 통신 시스템과 인공 지능의 중요한 부분으로, 음성 명령을 사용하여 기기를 제어하거나 특정 단어나 문장을 자동으로 인식하는 기능을 제공합니다. 이번 블로그에서는 파이썬음성 인식 라이브러리를 사용하여 음성에서 특정 키워드를 추출하는 방법에 대해 알아보겠습니다.

1. 음성 녹음하기

먼저, 원하는 음성을 녹음해야 합니다. 이를 위해 파이썬에서는 pyaudiosounddevice와 같은 라이브러리를 사용하여 음성을 녹음할 수 있습니다.

import sounddevice as sd
import soundfile as sf

duration = 5  # 녹음 시간 설정 (초)
fs = 44100    # 샘플링 주파수

print("음성을 녹음하세요...")
audio = sd.rec(int(duration * fs), samplerate=fs, channels=1)
sd.wait()
sf.write('output.wav', audio, fs)

위 코드는 sounddevice를 사용하여 5초 동안 음성을 녹음하고 output.wav 파일로 저장하는 예제입니다.

2. 음성 파일로부터 키워드 추출하기

음성 파일에서 특정 키워드를 추출하는 것은 신경망(딥러닝) 기술을 사용하여 음성 데이터를 분석하고 특정 단어를 식별하는 과정을 포함합니다. 이에 파이썬에서는 음성 인식 엔진을 이용하여 특정 키워드를 추출할 수 있습니다.

import speech_recognition as sr

r = sr.Recognizer()

def extract_keyword_from_audio_file(file_path, keyword):
    with sr.AudioFile(file_path) as source:
        audio_data = r.record(source)
        text = r.recognize_google(audio_data, language='ko-KR', keyword_entries=[(keyword, 1.0)])
        return text

file_path = 'output.wav'
keyword = '안녕'
result = extract_keyword_from_audio_file(file_path, keyword)
print(f'음성 파일에서 키워드 "{keyword}"을 발견했습니다: {result}')

위 코드는 speech_recognition 라이브러리를 사용하여 음성 파일에서 ‘안녕’이라는 키워드를 추출하는 예제입니다.

3. 마치며

파이썬을 사용하여 음성에서 특정 키워드를 추출하는 방법에 대해 알아보았습니다. 음성 인식 기술은 현재 다양한 분야에서 활발하게 연구되고 있으며, 파이썬을 통해 이를 구현하는 것은 매우 흥미로운 주제입니다. 앞으로 더 많은 기술적 발전이 있을 것으로 기대됩니다.

참고 문헌: