Ничего не найдено :(
    В гостях у Самоделкина! » С сайтов » Спец » Голосовой помощник с Raspberry Pi

    Голосовой помощник с Raspberry Pi




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

    Инструменты и материалы:
    -3D-принтер;
    -Оранжевая,черная и белая нить PLA;
    -Петличный микрофон;
    -Компьютерные колонки;
    -Raspberry Pi Zero W;
    -Внешняя звуковая карта;
    -Адаптер OTG;
    -Разъем постоянного тока;
    -Адаптер постоянного тока 5 В;
    -Аудиоразъем;
    -Клеевой пистолет;
    -Нож;
    -Маркер белый и черный.

    Шаг первый: проектирование корпуса
    С помощью программы fusion 360 мастер спроектировал корпус устройства. Файлы STL можно скачать ниже.
    Mr minutes body.stl
    Mr minutes lid.stl



    Голосовой помощник с Raspberry Pi


    Шаг второй: 3D-печать
    Теперь нужно обработать файл в программе Cura и отправить на печать. Можно напечатать корпус одним цветом, а затем раскрасить, или напечатать корпус разными цветами.
    Слои распределяются следующим образом:
    Начальный - Оранжевая нить
    Второй слой - Черная нить
    Третий слой - Белая нить
    Четвертый слой - Черная нить
    Для печати мастер использовал PLA и сопло с диаметром 0,6 мм и высотой слоя 0,4 мм. На полную печать у этой модели ушло примерно 9 часов.






    После печати необходимо обработать детали, удалить слои поддержки и наплывы. Раскрасить "лицо" в нужную цветовую гамму.






    Шаг третий: Raspberry Pi Zero W + Google Assistant и аудио
    Поскольку 3d модель готова, можно приступить к монтажу голосового помощника.
    В устройстве будет использован raspberry pi zero w + SDK Google Assistant.
    2 года назад это было бы невозможно, потому что SDK Google Assistant не поддерживал raspberry pi zero. Но недавно они выпустили новую службу помощника Google, которая поддерживает все виды оборудования, включая raspberry pi zero w.

    К сожалению, у raspberry pi zero w нет аудиовхода или аудиовыхода.
    Чтобы исправить ситуацию мастер использовал звуковую карту USB с переходником микро-USB -USB. Звуковая карта будет принимать аудио через USB и отправлять его на соответствующие периферийные аудиоустройства.

    Для аудиовхода мастер использует петличный микрофон, потому что он отлично впишется в нос Мисс Минуты. Но при этом необходимо заменить стереоразъем 3,5 мм, который идет в комплекте с микрофоном, на другой.

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






    Шаг четвертый: настройка динамика и микрофона для Raspberry Pi Zero W
    На странице документации службы помощника Google есть руководство по оборудованию о том, как настроить динамики и микрофон.
    Сначала нужно установить на SD-карту ОС raspberry pi. После этого подключаемся по SSH к raspberry pi с помощью putty.
    Далее.

    Проверяем, обнаруживает ли Raspberry Pi звуковую карту, с помощью команды.
    lsusb 

    Проверяем подключение микрофона и динамика командой.
     arecord -l

    и командой
    aplay -l

    Записываем идентификатор карты и идентификатор устройства.
    Получив идентификатор, нужно создать новый файл с именем .arecordrc в / home / pi, используя следующую команду
    sudo nano /home/pi/.arecordrc

    вставляем код в редактор nano

      type asym
      capture.pcm "mic"
      playback.pcm "speaker"
    }
    pcm.mic {
      type plug
      slave {
        pcm "plughw:[card ID]<card number="">,[device ID]<device number="">"
      }
    }
    pcm.speaker {
      type plug
      slave {
        pcm "hw:[card ID],[device ID]"<br><card number=""><device number="">  }
    }</device></card></device></card>

    Заменяем номер карты и номер устройства на идентификатор. Затем нажмите ctrl + X, чтобы выйти, и Y, чтобы сохранить файл.
    Наконец, регулируем громкость с помощью команды
     alsamixer 




    Шаг пятый: тестирование звука
    Для тестирования динамика используем следующую команду:
    speaker-test -t wav

    Следующая команда для записи аудио:
    arecord --format=S16_LE --duration=5 --rate=16000 --file-type=raw out.raw

    И команда для воспроизведения аудио
    aplay --format=S16_LE --rate=16000 out.raw



    Шаг шестой: Настройка Google Assistant
    Чтобы использовать SDK Google Assistant, нужно перейти по этой ссылке.
    Затем нужно создать новый проект и и присвоить ему имя.

    На следующей странице прокручиваем вниз, выбираем регистрацию устройства и настраиваем. Как только это будет сделано, загружаем учетные данные.

    Переходим по этой ссылке и включаем API поддержки Google.
    Наконец, принимаем условия и все готово.







    Шаг седьмой: установка SDK Google Assistant
    В документации пакеты python устанавливаются в виртуальной среде, но в дальнейшем это может стать проблемой при запуске скрипта при включении.
    Мастер использовал следующие команды:
    обновить ОС Raspberry Pi
    sudo apt-get update 

    Установить python 3
    sudo apt-get install python3-dev

    Установить системные зависимости пакета:
    sudo apt-get install portaudio19-dev libffi-dev libssl-dev

    Установите SDK Google Assistant
    python3 -m pip install --upgrade google-assistant-sdk[samples]

    Получение кода авторизации
    <pre>google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype \
          --save --headless --client-secrets /path/to/<a rel="nofollow"></a>client_secret_client-id<a rel="nofollow"></a>.json

    Если все прошло успешно, будете ответ, подобный следующему:
    credentials saved: /path/to/.config/google-oauthlib-tool/credentials.json


    Далее клонируем репрозитарий
    Открываем файл (путь: assistant-sdk-python / google-assistant-sdk / googlesamples / assistant / grpc /) pushtotalk.py
    Удаляем строку с 456 по 465 и замените ее на
    assistant-assist()

    pushtotalk.py


    Запускаем команду
    sudo nano /etc/rc.local

    Введите следующую команду, указав место назначения файла и поставив '&' перед выходом 0.
    sudo -H -u pi python3  /[path to pushtotalk]/pushtotalk.py &


    Чтобы убедиться, что есть подключение к Интернету перед запуском помощника вводим эту команду
    sudo raspi-config

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


    После перезапуска raspberry pi он не загрузится, пока не будет подключен к сети Wi-Fi. После подключения к сети raspberry pi загружается и запускает скрипт pushtotalk.py.
    Поскольку скрипт pushtotalk.py был изменен, помощник Google будет слушать всегда, и не нужно триггерное слово для его запуска.


    Шаг восьмой: сборка
    Теперь можно собрать устройство. Сначала устанавливает разъемы. Затем raspberry pi zero w и звуковую карту. Устанавливает микрофон. Демонтирует динамик из аудиоколонки и устанавливает его внутрь корпуса голосового помощника.
    Все детали крепятся с помощью термоклея. Затем собираются две половинки корпуса.






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


    Весь процесс изготовления и тестирования такого голосового помощника можно посмотреть на видео.

    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    Устройство для удаленного мониторинга расхода электроэнергии

    Устройство удаленного мониторинга температуры воды

    10
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 10 из 10 (голосов: 3 / История оценок)

    Добавить комментарий

    1 комментарий
    Korolev

    Инструменты и материалы: ... Внешняя звуковая карта;

    Приходилось доводить до ума подобные "карты". Наши кЕтайские "друзья" совсем оборзели, вместо конденсаторов на выходе - перемычки, в результате через наушники - постоянная составляющая. yes 

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии