Распознавание голоса

Nadeo
Offline
Зарегистрирован: 26.03.2021

Доброго времени, есть идея организовать голосовое управление светом в квартире, способна ли на это ардуино и как выбрать устройство для собственно приема команд голосом, не через телефон или пк, некими устройствами с микрофонами которые можно развесить по комнатам, что бы система не зависела от внешних устройств, возможно с использованием интернет соединения. Понимаю что задача возможно не не для новичка, пока просто интересно, мой способ учиться это делать проекты.

rkit
Offline
Зарегистрирован: 23.11.2016

Это задача не то, что не для новичка, это задача не для команды из 5 профессионалов.

SAB
Offline
Зарегистрирован: 27.12.2016

На али когда то продавался готовый модуль управлением голосом. Только его надо было обучать. И слушаться мог только одного человека. Поищите, может уже прогресс шагнул намного дальше. По крайней мере телефоны это делают легко, и автономно. Это ещё Осипов показывал в своих роликах на ютубе.

lilik
Offline
Зарегистрирован: 19.10.2017

Ещё, как бесплатный с точки зрения ресурсов вариант, могу предложить это распознавание комбинации ритмичных стуков. У меня тут была где то тема. Стучать может каждый, степень погрешности исполнения на срабатывание регулируется. Фразу, например, "Спартак чемпион в Африке по лыжам!" каждый в состоянии запомнить :-)

Green
Offline
Зарегистрирован: 01.10.2015

lilik пишет:
Фразу, например, "Спартак чемпион в Африке по лыжам!" каждый в состоянии запомнить :-)


Нет, классика - это "дай, дай закурить").

Nadeo
Offline
Зарегистрирован: 26.03.2021

Распознавание голоса это наверное сильно сказано, замысел в том чтобы управлять включением/выключением голосовыми командами, при чем не важно кто их скажет, я думаю что должно быть чтото такое куда можно команду записать, и чтоб при получении новой оно сравнивало с оригиналом команды чтобы понять что от устройства хотят

rkit
Offline
Зарегистрирован: 23.11.2016

Nadeo пишет:
не важно кто их скажет

Это именно распознавание голоса.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

АлиЭкспресс забит модулями для распознавания команд, а сеть забита их обзорами, какого хрена спрашивать? Читайте обзоры, сравнивайте, покупайте, пробуйте. А потом нам рассказать не забудьте.

Nadeo
Offline
Зарегистрирован: 26.03.2021

Неплохо бы ссылочку, или опишите как он должен выглядеть, это плата небольших размеров, или это блок управления не связанный с ардуино и придется колхозить чтобы их подружить? Можно подробно?)

rkit
Offline
Зарегистрирован: 23.11.2016

ЕвгенийП пишет:

АлиЭкспресс забит модулями для распознавания команд, а сеть забита их обзорами, какого хрена спрашивать? Читайте обзоры, сравнивайте, покупайте, пробуйте. А потом нам рассказать не забудьте.

Это говно, они просто на звуки тренируются, а не на речь.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Nadeo пишет:
Неплохо бы ссылочку

А того, что я Вам дал в #7 недостаточно? Там до хрена ссылочек, смотрите и выбирайте.

pine73
Offline
Зарегистрирован: 25.08.2021

Можешь помучиться с uSpeech.

lilik
Offline
Зарегистрирован: 19.10.2017

Nadeo пишет:
Распознавание голоса это наверное сильно сказано, замысел в том чтобы управлять включением/выключением голосовыми командами, при чем не важно кто их скажет, я думаю что должно быть чтото такое куда можно команду записать, и чтоб при получении новой оно сравнивало с оригиналом команды чтобы понять что от устройства хотят

Именно так смартфон и работает с самописным приложением. Остаётся всего то установить связь с Ардуиной в течении каких то 30-40 секунд и всё - командуем в смартфон. У Дмитрия Осипова эта тема есть. Но большинство скажет, а зачем оно?, если проще нашарить выключатель в темноте руками в привычном месте.

rkit
Offline
Зарегистрирован: 23.11.2016

lilik пишет:

Но большинство скажет, а зачем оно?, если проще нашарить выключатель в темноте руками в привычном месте.

Большинство посмотрит резонно на затраты и поставит второй выключатель рядом с кроватью, или ночник на датчике движения.

Nadeo
Offline
Зарегистрирован: 26.03.2021

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

Nadeo
Offline
Зарегистрирован: 26.03.2021

Вы стремитесь решить проблему, я же скорее сделать чтото своими руками, сделать чтото полезное на дешевой и доступной платформе, не все же умные вытяжки да метеостанции клепать)

rkit
Offline
Зарегистрирован: 23.11.2016

Nadeo пишет:
Вы стремитесь решить проблему, я же скорее сделать чтото своими руками, сделать чтото полезное на дешевой и доступной платформе, не все же умные вытяжки да метеостанции клепать)

Для особо недоходчивых повторю:

 

rkit пишет:

Это задача не то, что не для новичка, это задача не для команды из 5 профессионалов.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Nadeo пишет:
Смартфон отмел сразу,

Когда сразу отметается единственное рациональное решение, - это, по меньшей мере, странно.

Цитата:

это не практично, быстрее конечно же до выключателя дойти чем рыться в смарте запускать приложение и тд, моя задумка в простоте, несколько модулей с микрофоном в каждой комнате,...

Дело в том, что распознавание голоса - весьма ресурсоемкое занятие. Минимальное, что на это способно, из доступного - как раз смартфон.

И не надо в нем "рыться, запускать приложение и тд", надо один раз подключить его к стационарному питанию, прикрепить в нужном месте и запустить нужное приложение.

Сколько комнат - столько смартфонов.

negavoid2
negavoid2 аватар
Offline
Зарегистрирован: 06.05.2020

rkit пишет:
Это задача не то, что не для новичка, это задача не для команды из 5 профессионалов.

Да нет, за один-два дня можно сделать в жало, основное управляющее устройство - пк, плюс микрофоны на usb-удлинителях (из  вебкамер, например) в каждую комнату, wi-fi выключатели на местах, python + speech_recognition локальный + дёргать выключатели по api локально (всё будет работать без инета). Но ардуине в этой схеме места, конечно, не нашлось.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Nadeo пишет:
Вы стремитесь решить проблему, я же скорее сделать чтото своими руками, сделать чтото полезное на дешевой и доступной платформе, не все же умные вытяжки да метеостанции клепать)

Выделено мною.

Мне кажется, Вы слишком многого хотите. Итак:

1. Своими руками.

2. Полезное.

3. Дешевое.

С моей точки зрения, для того, чтобы добиться успеха (в смысле - сделать проект), Вам нужно выбрать два пункта из трех и пожертвовать оставшимся.

rkit
Offline
Зарегистрирован: 23.11.2016

andriano пишет:

1. Своими руками.

2. Полезное.

3. Дешевое.

С моей точки зрения, для того, чтобы добиться успеха (в смысле - сделать проект), Вам нужно выбрать два пункта из трех и пожертвовать оставшимся.

Выбираю 2 и 3, лол.

rkit
Offline
Зарегистрирован: 23.11.2016

negavoid2 пишет:

rkit пишет:
Это задача не то, что не для новичка, это задача не для команды из 5 профессионалов.

Да нет, за один-два дня можно сделать в жало, основное управляющее устройство - пк, плюс микрофоны на usb-удлинителях (из  вебкамер, например) в каждую комнату, wi-fi выключатели на местах, python + speech_recognition локальный + дёргать выключатели по api локально (всё будет работать без инета). Но ардуине в этой схеме места, конечно, не нашлось.

Человека, настраивавшего несколько микрофонов на пк, видно издалека.

sadman41
Offline
Зарегистрирован: 19.10.2016

Алис ещё по комнатам напхайте - заодно будет с кем поговорить.

negavoid2
negavoid2 аватар
Offline
Зарегистрирован: 06.05.2020

rkit пишет:
Человека, настраивавшего несколько микрофонов на пк, видно издалека.

Ваш уровень знаний давно понятен, разумеется, и пятеро таких как вы "просвистианалов", не справитесь. Прекращайте докапываться до всех везде, а то остальные, знаете ли, тоже умеют и хамить, и посылать.

negavoid2
negavoid2 аватар
Offline
Зарегистрирован: 06.05.2020

Да, я ошибался. Можно сделать за пару часов.

import os
import socket
import speech_recognition as sr
import sys
import time

class Recognizer:
    def __init__(self):
        self._recognizer = sr.Recognizer()
        self._microphone = sr.Microphone()

    def mainloop(self):
        with self._microphone as source:
            self._recognizer.adjust_for_ambient_noise(source)
            self._recognizer.energy_threshold += 280

        stop_listening = self._recognizer.listen_in_background(source, callback=self.processor, phrase_time_limit=3)
        while True: time.sleep(0.1)

    def processor(self, recognizer, audio):
        try:
            statement = self._recognizer.recognize_google(audio, language="ru-RU")
            statement = statement.lower()

            if ((statement.find("включи свет в кабинете") != -1) or (statement.find("вруби свет в кабинете") != -1)):
                self.sendcommand("cabinet", "on")

        except sr.UnknownValueError:
            print("GSR could not understand audio")
        except sr.RequestError as e:
            print("Could not request results from GSR service; {0}".format(e))

    # turn on/off the lights
    def sendcommand(self, command, state):
        # requests.get(command, state)

lights = Recognizer()
lights.mainloop()

 

lilik
Offline
Зарегистрирован: 19.10.2017

Nadeo пишет:
Вы стремитесь решить проблему, я же скорее сделать чтото своими руками, сделать чтото полезное на дешевой и доступной платформе, не все же умные вытяжки да метеостанции клепать)

Ну вот и сделайте акустический ритм-выключатель. Это дёшево, доступно, полезно, познавательно.

rkit
Offline
Зарегистрирован: 23.11.2016

negavoid2 пишет:

Да, я ошибался. Можно сделать за пару часов.

Замечательный ответ не по теме. И градус безумия тоже поднят хорошо. Жду видеодемонстрации полностью работающей платформы через 15 минут.

negavoid2
negavoid2 аватар
Offline
Зарегистрирован: 06.05.2020

$100 на карту и выложу видео. Кусок кода взял из своей полностью работающей платформы, только я фигнёй с выключателями не маюсь, у меня нет таких, а так - она распознаёт голосовые команды и управляет телевизором, кондиционерами и ещё кое-чем. Градус безумия не поднимался, ибо в моём первом посте было чётко указано, что ардуины в моей схеме нет, но подобная задача вполне решаема, только более приспособленными под неё средствами.

Приведённый мной кусок кода полностью работоспособен, только надо запилить запрос под своё устройство.

# requests.get("https://" + command + "/?state=" + state)

PS для ТС - я поигрался с этой системой максимум вечер - и надоело. Классические выключатели удобнее. Возьмитесь для начала за какую-нибудь задачу попроще.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

rkit пишет:

andriano пишет:

1. Своими руками.

2. Полезное.

3. Дешевое.

С моей точки зрения, для того, чтобы добиться успеха (в смысле - сделать проект), Вам нужно выбрать два пункта из трех и пожертвовать оставшимся.

Выбираю 2 и 3, лол.

Значит, ты в числе тех 99%, которые предпочитают именно этот выбор.

 

rkit
Offline
Зарегистрирован: 23.11.2016

andriano пишет:

Значит, ты в числе тех 99%, которые предпочитают именно этот выбор.

Если бы 99% такой выбор совершали - дешево, полезно, и чужими руками, то человечество бы не выжило.

lilik
Offline
Зарегистрирован: 19.10.2017

rkit пишет:

andriano пишет:

Значит, ты в числе тех 99%, которые предпочитают именно этот выбор.

Если бы 99% такой выбор совершали - дешево, полезно, и чужими руками, то человечество бы не выжило.

:-)

Именно это стремление и является основой цивилизации, а не стада.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

rkit пишет:

andriano пишет:

Значит, ты в числе тех 99%, которые предпочитают именно этот выбор.

Если бы 99% такой выбор совершали - дешево, полезно, и чужими руками, то человечество бы не выжило.

Пожалуй, ты прав. Надо было написать 99.9% или 99.99%.

(разумеется, с учетом чисто субъективного представления о пользе)

rkit
Offline
Зарегистрирован: 23.11.2016

Видимо, я один такой - работаю каждый день своими руками, и плачу большие деньги за полезные вещи.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

rkit пишет:

Видимо, я один такой - работаю каждый день своими руками, и плачу большие деньги за полезные вещи.

У меня два замечания:

1. Головой работать не пробовал?

2. Раз вещи тебе по карману (особенно с учетом, что работаешь ты руками), значит, не такие уж большие деньги.

Upd: Три замечания.

3. Выше ты писал, что выбираешь дешевое, а сейчас пишешь о больших деньгах - сам себе противоречишь.

rkit
Offline
Зарегистрирован: 23.11.2016

andriano пишет:

3. Выше ты писал, что выбираешь дешевое, а сейчас пишешь о больших деньгах - сам себе противоречишь.

Это шутка над откровенно абсурдным предложением, если не дошло.

ВН
Offline
Зарегистрирован: 25.02.2016

На деле для хотелок ТС все уже есть https://yandex.ru/alice/smart-home

вопрос тока в деньгах.

rkit
Offline
Зарегистрирован: 23.11.2016

ВН пишет:

На деле для хотелок ТС все уже есть https://yandex.ru/alice/smart-home

вопрос тока в деньгах.

Оффлайн не работает, шпионит.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

rkit пишет:

andriano пишет:

3. Выше ты писал, что выбираешь дешевое, а сейчас пишешь о больших деньгах - сам себе противоречишь.

Это шутка над откровенно абсурдным предложением, если не дошло.

А это шутка над теми, кто отвечает на "откровенно абсурдные предложения".

Nadeo
Offline
Зарегистрирован: 26.03.2021

Действительно, это дорогой вариант к которому при должном желании я приду, но сейчас же хочется поиграться и попробовать.

Nadeo
Offline
Зарегистрирован: 26.03.2021

порылся в теме, посмотрел Осипова, странный человек, но не мне судить, вобщем решил использовать данный способ - квартира небольшая, б\у смартфоны стоят копейки, по крайней мере попробую, что из этого выйдет возможно опишу здесь)

спасибо за наводку

rkit
Offline
Зарегистрирован: 23.11.2016

Смартфоны программируются только на голос владельца. И дешевое старое дерьмо голосового управления не имеет.

lilik
Offline
Зарегистрирован: 19.10.2017

Nadeo пишет:

порылся в теме, посмотрел Осипова, странный человек, но не мне судить, вобщем решил использовать данный способ - квартира небольшая, б\у смартфоны стоят копейки, по крайней мере попробую, что из этого выйдет возможно опишу здесь)

спасибо за наводку

Правильной дорогой идёте товарищ. Дмитрий Осипов - образ настоящего Ардуинщика :-)

Смартфон распознаёт речь любого человека с автономным приложением немного хуже чем с подключением к интернету.

Есть такая штука для начинающих как "митапинвертор2".

Вот этот фрагмент работает так:

нажимаем кнопку самописного приложения и говорим команду, например "кубик", смартфон отвечает "как ты мне сказал рисую кубик". Ну а ардуина рисует кубик, получив по блютуз команду "KUB".

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

rkit пишет:

Смартфоны программируются только на голос владельца. И дешевое старое дерьмо голосового управления не имеет.


Профессионал по Андроиду. Вот прям сказал, как отрезал! ...и не пришить.

lilik
Offline
Зарегистрирован: 19.10.2017

rkit пишет:

Смартфоны программируются только на голос владельца. 

Вспомнился почему то вопрос по пчеловодству у начинающего - А как пчёлы узнают своего хозяина? :-)

Впрочем, это Ркит шутит тонко так, а может последствия переученности.

nik182
Offline
Зарегистрирован: 04.05.2015

Согласен с ркит. Нормальное распознавание возможно пока только на больших кластерах, т.е. через сеть. Локально, на сигнатурах, производительности хватает только на хозяина сигнатур, и то если пива холодного не пил. А какой то осмысленный ответ на голос, это вообще фантастика. Включать газовый котёл голосовым управлением я б не стал.

 

negavoid2
negavoid2 аватар
Offline
Зарегистрирован: 06.05.2020

Эхх. Работает оффлайн, распознаёт любой голос, русский язык поддерживается, можно добавить любой свой, даже выдуманный язык:

https://github.com/alphacep/vosk-android-demo

nik182
Offline
Зарегистрирован: 04.05.2015

Особенно, если прочитать про точность распознавания - Accuracy of modern systems is still unstable, that means sometimes you can have a very good accuracy and sometimes it could be bad.

negavoid2
negavoid2 аватар
Offline
Зарегистрирован: 06.05.2020

Это disclaimer, я ж явно попробовал сначала на себе. Всё распознаётся нормально, turn on the kettle утренним голосом как минимум.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

nik182 пишет:

Особенно, если прочитать про точность распознавания - Accuracy of modern systems is still unstable, that means sometimes you can have a very good accuracy and sometimes it could be bad.

Бредить перестань! И использовать слова "распознавание голоса" тоже перестань, такого не бывает даже в Алисе, Алексе, Сири и Гугль ассистенте. Совсем не бывает. Это иными словами называется.

ТС интересуется голосовым управлением. И с десяток команд и совершенно любыми голосами распознает даже тилипон с 4-ым Андроидом и 512К памяти, и уже готового софта для этого - как дерьма за баней. Распознавание речи придет только с искусственным интеллектом, когда нибудь, не в нашей жизни. Только вот голосовое управление и распознавание речи "рядом лежали" очень недолго.

lilik
Offline
Зарегистрирован: 19.10.2017

 Проще сделать пароль-слово, например "капуста" чтоб хозяина различать. Тогда говорим - "Включи свет пожалуйста капуста". Приложение проверяет наличие слов включи, капуста,свет и отвечает громко на всю комнату - "Да мой господин, уже включаю". А в Ардуино посылает "свет быстро!!!"

А если говорим "Быстро свет включи!" Приложение отвечает "Я не понимаю смысла слов". А в Ардуино идёт "да пошёл он нахрен..."

Вот легко и просто можно "вразумить" хозяина.

nik182
Offline
Зарегистрирован: 04.05.2015

Влад!  Объясни, что ты называешь бредом? В последнее время с хорошей точностью удаётся надиктовывать текст. Это как называется? Я понимаю как работают эти технологии. Мне хочется от тебя услышать как правильно это называть, что бы не травмировать твоё эго.

В своё время на 286 крутился Горыныч. Было прикольно видеть иногда удачные результаты перевода речи в команды.