У меня была установлена версия python3.6. /var/lib/asterisk/agi-bin/ #!/usr/bin/python3.6
# -*- coding: utf-8 -*-
from asterisk.agi import AGI
import speech_recognition as sr
from pydub import AudioSegment
def main():
agi = AGI()
# Получаем информацию о входящем вызове
caller_id = agi.get_variable('CALLERID(num)')
agi.verbose(f'Incoming call from {caller_id}', 1)
# Записываем аудио в файл
audio_file = '/tmp/call_audio'
agi.record_file(audio_file, format='wav', beep=1, timeout=2000)
audio_file = '/tmp/call_audio.wav'
# Конвертируем и распознаем аудио
recognize_audio(audio_file, agi)
def recognize_audio(file_path, agi):
# Инициализируем распознаватель
recognizer = sr.Recognizer()
# Загружаем аудиофайл
with sr.AudioFile(file_path) as source:
audio_data = recognizer.record(source)
try:
# Используем Google Web Speech API для распознавания
text = recognizer.recognize_google(audio_data,