import soundfile, os
import speech_recognition as sr
from aiogram import Bot, Dispatcher, executor, md, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters.state import State, StatesGroup
from config import TOKEN
bot = Bot(TOKEN parse_mode='HTML')
dp = Dispatcher(bot, storage=MemoryStorage())
@dp.message_handler(content_types=['audio', 'voice', 'video_note'])
async def speech(message: types.Message):
filename = f'{message.chat.id}_{message.message_id}.wav'
if message.audio:await message.audio.download(filename)
if message.voice:await message.voice.download(filename)
if message.video_note:await message.video_note.download(filename)
data, samplerate = soundfile.read(filename)
soundfile.write(filename, data, samplerate, subtype='PCM_16')
r = sr.Recognizer()
with sr.AudioFile(filename) as source:
audio = r.record(source)
command = r.recognize_google(audio, language='ru-RU')
await message.reply(command)
os.remove(filename)
executor.start_polling(dp, skip_updates=False)
Всё работает, но во время работы функции
r.recognize_google(audio, language='ru-RU')
бот перестает отвечать на другие сообщения, ждет окончание этой функции. Как можно ее запустить, чтобы бот продолжал работать?