Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
174 / 0 / 0
Регистрация: 10.09.2022
Сообщений: 304
1

Как вывести речь с микрофона

30.08.2023, 11:58. Показов 1777. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
хочу чтобы программа брала звук с микрофона и выводила на экран
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.08.2023, 11:58
Ответы с готовыми решениями:

Как высести речь с микрофона на экран
как можно вывести текст читаемый в микровон на экран

Как вывести звук микрофона в дискорд?
При прослушивании микрофона через виндовс он там чистый, но когда начинаешь слушать звук с того же...

Как вывести звук чтобы друг в скайпе слышал звук из видео чата и мою речь по микрофону ?
Короч ребят. Сижу в видео чате и параллельно в скайпе с другом. Как вывести звук чтоб друг в скайпе...

Как можно вывести звук с микрофона и звук ПК на третье устройство?
Есть специфичная софтина, которая умеет работать только с один источником звука. Мне же в этой...

13
1386 / 2169 / 120
Регистрация: 28.04.2021
Сообщений: 5,869
Записей в блоге: 22
30.08.2023, 13:59 2
gdfgnggf, библиотека pyaudio есть для этого.
Примерный код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import pyaudio
p = pyaudio.PyAudio()
 
# открываем поток для чтения данных с микрофона
stream = p.open(format=pyaudio.paInt16, channels=1, rate=44100, input=True, frames_per_buffer=1024)
 
# читаем данные из потока и выводим их на экран
while True:
    data = stream.read(1024)
    print(data)
 
# останавливаем поток и завершаем работу программы
stream.stop_stream()
stream.close()
p.terminate()
0
174 / 0 / 0
Регистрация: 10.09.2022
Сообщений: 304
30.08.2023, 14:45  [ТС] 3
а как из этого текст получить выводит какие то буквы и цифры
0
1386 / 2169 / 120
Регистрация: 28.04.2021
Сообщений: 5,869
Записей в блоге: 22
30.08.2023, 14:58 4
gdfgnggf, SpeechRecognition, API Speech-to-Text от Google
0
174 / 0 / 0
Регистрация: 10.09.2022
Сообщений: 304
30.08.2023, 15:00  [ТС] 5
можете пожалуйста пример показать как это сделать
0
1386 / 2169 / 120
Регистрация: 28.04.2021
Сообщений: 5,869
Записей в блоге: 22
30.08.2023, 15:01 6
Python
1
2
3
4
5
6
7
8
9
import speech_recognition as sr
 
init_rec = sr.Recognizer()
print("Говорите!!")
with sr.Microphone() as source:
    audio_data = init_rec.record(source, duration=5) #сколько времени программа должна слушать микрофон
    print("Распознаю ваш текст...")
    text = init_rec.recognize_google(audio_data)
    print(text)
Добавлено через 18 секунд
gdfgnggf, примерно. изменения нужно будет внести
0
174 / 0 / 0
Регистрация: 10.09.2022
Сообщений: 304
30.08.2023, 15:04  [ТС] 7
выскакивает ошибка in recognize_google
if not isinstance(actual_result, dict) or len(actual_result.get("alternative", [])) == 0: raise UnknownValueError()
speech_recognition.exceptions.UnknownValueError
0
1386 / 2169 / 120
Регистрация: 28.04.2021
Сообщений: 5,869
Записей в блоге: 22
30.08.2023, 15:11 8
gdfgnggf, установи speech_recognition

Добавлено через 1 минуту
gdfgnggf, помогло?

Добавлено через 1 минуту
Чтобы использовать SpeechRecognition с API Speech-to-Text от Google, нужно установить библиотеку google-cloud-speech и настроить учётную запись Google Cloud
https://codelabs.developers.go... t-python3/

Добавлено через 4 минуты
gdfgnggf, ещё вариант с API Speech-to-Text от Google:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import speech_recognition as sr
 
r = sr.Recognizer()
 
with sr.Microphone() as source:
    print("Скажите что-нибудь...")
    audio = r.listen(source)
 
# Google Speech Recognition API для распознавания речи
try:
    print("Функция распознавания речи Google считает, что вы сказали: " + r.recognize_google(audio, language="ru-RU"))
except sr.UnknownValueError:
    print("Распознавание речи Google не может распознать звук")
except sr.RequestError as e:
    print("Не удалось запросить результаты от службы распознавания речи Google; {0}".format(e))
0
174 / 0 / 0
Регистрация: 10.09.2022
Сообщений: 304
30.08.2023, 15:16  [ТС] 9
а как сделать чтобы в без остановки говорить в микрофон и все сразу выводилось на экран
0
1386 / 2169 / 120
Регистрация: 28.04.2021
Сообщений: 5,869
Записей в блоге: 22
30.08.2023, 15:20 10
gdfgnggf, попробуй это
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import speech_recognition as sr
 
r = sr.Recognizer()
 
with sr.Microphone() as source:
    r.adjust_for_ambient_noise(source)
    print("Скажите что-нибудь...")
    while True:
        audio = r.listen(source)
        try:
            print("Функция распознавания речи Google считает, что вы сказали: " + r.recognize_google(audio, language="ru-RU"))
        except sr.UnknownValueError:
            print("Распознавание речи Google не может распознать звук")
        except sr.RequestError as e:
            print("Не удалось запросить результаты от службы распознавания речи Google; {0}".format(e))
1
174 / 0 / 0
Регистрация: 10.09.2022
Сообщений: 304
30.08.2023, 15:47  [ТС] 11
а можно как то ускорить , очень медленно реагирует но работает последний код
0
1386 / 2169 / 120
Регистрация: 28.04.2021
Сообщений: 5,869
Записей в блоге: 22
30.08.2023, 16:15 12
Лучший ответ Сообщение было отмечено nikulin_artyom1 как решение

Решение

gdfgnggf, попробуй на vosk.
1 вариант:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import pyaudio
from vosk import Model, KaldiRecognizer
 
model = Model("model")
rec = KaldiRecognizer(model, 16000)
 
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True, frames_per_buffer=8000)
stream.start_stream()
 
while True:
    data = stream.read(4000)
    if len(data) == 0:
        break
    if rec.AcceptWaveform(data):
        print(rec.Result())
    else:
        print(rec.PartialResult())
 
print(rec.FinalResult())
2 вариант:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import pyaudio
from vosk import Model, KaldiRecognizer
 
model = Model("model")
rec = KaldiRecognizer(model, 16000)
 
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True, frames_per_buffer=8000)
stream.start_stream()
 
while True:
    data = stream.read(4000)
    if len(data) == 0:
        break
    if rec.AcceptWaveform(data):
        result = rec.Result()
        print(result)
Добавлено через 11 секунд
gdfgnggf, только vosk надо установить

Добавлено через 8 минут
gdfgnggf, на AssemblyAI. Ещё вариант.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import pyaudio
import assemblyai
 
#Замените на свой API-ключ AssemblyAI
assemblyai_api_key = 'YOUR_ASSEMBLYAI_API_KEY'
 
client = assemblyai.Client(assemblyai_api_key)
 
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 16000
 
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                frames_per_buffer=CHUNK)
 
print("Начало записи...")
 
while True:
    data = stream.read(CHUNK)
    response = client.transcribe(data)
    if response.get('text'):
        print(response['text'])
 
stream.stop_stream()
stream.close()
p.terminate()
Добавлено через 41 секунду
gdfgnggf, надо зарегистрироваться на Assembly AI
0
174 / 0 / 0
Регистрация: 10.09.2022
Сообщений: 304
30.08.2023, 16:17  [ТС] 13
ошибка Exception: Failed to create a model в обоих случаях
0
1386 / 2169 / 120
Регистрация: 28.04.2021
Сообщений: 5,869
Записей в блоге: 22
30.08.2023, 17:06 14
Лучший ответ Сообщение было отмечено nikulin_artyom1 как решение

Решение

gdfgnggf, модель распознавания установи https://alphacephei.com/vosk/models

Добавлено через 40 секунд
gdfgnggf, https://alphacephei.com/vosk/m... u-0.42.zip

Добавлено через 1 минуту
gdfgnggf, потом обнови путь модели
Python
1
model = Model(r"полный путь пропиши")
Добавлено через 41 секунду
gdfgnggf, Vosk автономный инструмент

Добавлено через 1 минуту
https://vc.ru/dev/247450-oflay... oteka-vosk

Добавлено через 36 минут
gdfgnggf, Если хочется с Google распознавателем. Я немного подправил код.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import pyaudio
import speech_recognition as sr
r = sr.Recognizer()
p = pyaudio.PyAudio()
 
stream = p.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True, frames_per_buffer=1024)
 
while True:
    audio_data = stream.read(1024)
    audio = sr.AudioData(audio_data, 16000, 2)
    try:
        text = r.recognize_google(audio, language='ru-RU')
        print(text)
    except sr.UnknownValueError:
        pass
1
30.08.2023, 17:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.08.2023, 17:06
Помогаю со студенческими работами здесь

Как речь с ролика YouTube
Три года назад я создавал такую же тему, но тогда ничего реально работоспособного не обнаружилось....

Как просто распознать речь?
Добрый день. Подскажите, каким наиболее простым способом возможно реализовать распознавание...

Как научиться понимать английскую речь?
Здравствуйте! Недавно я начал учиться понимать английскую речь на слух, но прошло три месяца и без...

Как заставить телефон распознавать русскую речь?
В общем долгое время пытаюсь приучить мобилу работать с голосом (ее преобразование в текст). ...

Как в Word VBA преобразовать текст в речь?
Уважаемые VBAпликаторы. Подскажите, как из Word VBA запустить TTS т.е. текст ту спич. 6. ИТОГО ...

Как заставить распознавать речь, не указывая грамматик?
Всем привет! хочу сделать свою программу самообучающуюся Choices numbers = new Choices(); ...

Как перейти с Linux на Windows. Речь о самом подходе
Надеюсь, что кто-то ответит. Меня всегда интересовал переход на Linux. Я не такой продвинутый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru