Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Проблема настройки звукового ввода на ноутбуке через библиотеки sounddevice и vosk

Максим Жеребцов Ученик (127), открыт 2 недели назад
Столкнулся с проблемой формирования микрофона на python через библиотеку sounddevice.

Ошибка происходит в одном куске кода:

with sd.RawInputStream(samplerate=samplerate, blocksize=16000, device=device[0], channels=1, callback=callback) as stream:

До выполнения данного кода(настройка):

device = sd.default.device
samplerate = int(sd.query_devices(device[0], 'input')['default_samplerate']

Пожалуйста помогите исправить данную ошибку. Также могу сказать что проект у меня на двух устройствах: ПК и ноутбук. На ПК всë отлично, а на ноутбуке уже появляются проблема в формировании микро при том факте что раньше всë работало хорошо и программа считывала голос. Я пробовал менять blocksize, брал разные микро, менял samplerate, давал разрешение проекту на работу с микрофоном, обновлял драйвера, менял device[0] = 1, очень многое перепробовал, но всë бестолку. Помогите пожалуйста, как можно это исправить? Вот мой примерный код:

import sounddevice as sd
import vosk
import queue
import json

q = queue.Queue()
model = vosk.Model('vosk-model')

# Вывод списка доступных устройств для определения индекса нужного микрофона
print(sd.query_devices())

device_index = 1 # Замените на индекс вашего микрофона
samplerate = 44100 # или 48000
blocksize = 4096 # или 2048

def callback(indata, frames, time, status):
q.put(bytes(indata))

try:
with sd.RawInputStream(samplerate=samplerate, blocksize=blocksize, device=device_index,
dtype="int16", channels=1, callback=callback) as stream:
recognizer = vosk.KaldiRecognizer(model, samplerate)
while True:
data = q.get()
if recognizer.AcceptWaveform(data):
result = json.loads(recognizer.Result())['text']
print(result)
except Exception as e:
print(f"Произошла ошибка: {e}")


Что выводит: Произошла ошибка: Error opening RawInputStream: Unanticipated host error [PaErrorCode -9999]: 'Системной функции передан неправильный параметр.' [MME error 11]
1 ответ
Oliva Dozier Профи (981) 2 недели назад
Привіт! Як справи? Чим можу допомогти або просто поговорити?
Похожие вопросы