Оглавление:

Аудио ЦАП-усилитель-стример Raspberry Pi: 14 шагов
Аудио ЦАП-усилитель-стример Raspberry Pi: 14 шагов

Видео: Аудио ЦАП-усилитель-стример Raspberry Pi: 14 шагов

Видео: Аудио ЦАП-усилитель-стример Raspberry Pi: 14 шагов
Видео: Бюджетная замена сетевого проигрывателя. Экономим на покупке Hi-Fi-стримера 2024, Ноябрь
Anonim
Аудио ЦАП-усилитель-стример Raspberry Pi
Аудио ЦАП-усилитель-стример Raspberry Pi
Аудио ЦАП-усилитель-стример Raspberry Pi
Аудио ЦАП-усилитель-стример Raspberry Pi

Измените устаревшую голосовую шапку Google AIY в специальное устройство для потоковой передачи стереозвука без головы.

Теперь, когда голосовым системам Google AIY приближается двухлетний возраст, вы, возможно, обнаружили, что новинка немного устарела. Или вам может быть интересно, имеет ли реклама в вашем браузере ближайший фестиваль эпохи Возрождения какое-либо отношение к заданному вами вопросу о том, где вы можете найти хорошие скидки на кроссовки для бега под броней.

Если у вас уже есть такой, этот проект покажет вам, как использовать существующий голосовой комплект Google AIY и использовать его в качестве специального аудиостримера без наушников. Если у вас еще нет комплекта и вы живете рядом с микроцентром; вам повезло - их еще много, и я сомневаюсь, что они станут дешевле, чем текущая цена в 5 долларов. (на самом деле, по состоянию на июль 2019 года они составляют 3 доллара).

Этот проект посвящен аудио и никак не связан с искусственным интеллектом. Мы будем работать над полностью отдельной операционной системой, хранящейся на отдельной карте micro sd, что позволит вам сохранить все функции AI нетронутыми. Кроме того, мы улучшим пользовательский опыт, введя стереозвук (за несколько долларов больше), поскольку мы создадим масштабируемое устройство потоковой передачи звука. Наконец, по завершении этого проекта мы оставим голосовую шапку в состоянии, готовом к будущему расширению. Ограничения расширения будут ограничены только нашим творчеством.

Шаг 1. Закупка

Закупка
Закупка

Я напишу это руководство с той точки зрения, что у вас еще нет набора Google Voice. Если у вас уже есть установка голосового набора - необходимые дополнительные элементы отмечены * ниже. Кроме того, последнее предложение Raspberry Pi (Pi 3 A +) идеально подходит для этого проекта в зависимости от его форм-фактора, и я все равно настоятельно рекомендую купить его. Однако любой Pi должен работать, если он будет вмещать шляпу голосового набора и GPIO.

Ингредиенты:

  • Raspberry Pi (рекомендуется Pi 3 A +)
  • 5,25 В, 2,4 А, источник питания micro usb
  • Карта Micro SD (в зависимости от размера вашей музыкальной коллекции должно хватить 16 ГБ)
  • Max98357A ЦАП и усилитель (от Adafruit) *
  • Динамики). В комплекте идет один, но для стерео нам понадобится дополнительный динамик. (также Adafruit)
  • Набор Google AIY Voice
  • Заголовок - однополосный *
  • Провод динамика *

Необходимые инструменты: паяльник, припой, отвертка Philips размером 00 или 000. Инструмент для зачистки проводов, малярная или малярная лента для временной фиксации разъема во время пайки, переходник с USB на micro SD.

Шаг 2: соберите оборудование

Соберите оборудование
Соберите оборудование

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

Вы угадали: шапку будем делать на шляпе. Аппаратное обеспечение поверх Аппаратного обеспечения уже на вершине.

Используя заголовок, предоставленный набором микросхем Adafruit Max98357a, мы начинаем с припайки 7-контактного разъема к голосовой шляпе прямо под словами «AIY projects Voice Hat». Кусок малярной ленты, прикрепленный к более длинным штыревым контактам на лицевой стороне платы, может быть полезен для предотвращения соскальзывания разъемов с места, поскольку на этом этапе пайки мы будем работать с платой вверх ногами.

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

НЕ ПРИПИВАЙТЕ РАЗЪЕМ ДИНАМИКА НА ПЛАТУ MAX98357a!

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

Переверните доску лицевой стороной вверх.

Припаяйте перемычку с надписью «JP4», оставив каплю припоя на перемычке. Не забывайте эту часть, иначе у нас не будет стерео!

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

Завершите припайку штыревых контактов к синей микросхеме max98357a - и семиконтактный, и двухконтактный разъем должны надежно удерживать max98357a на месте.

Готово с пайкой!

Шаг 3. Присоедините к Pi и подключите динамики

Присоединитесь к Pi и подключите динамики
Присоединитесь к Pi и подключите динамики

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

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

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

Я обнаружил, что этот шаг был самой сложной задачей всего проекта - я не мог найти достаточно маленькую отвертку, или мой хлипкий провод динамика был слишком тонким, чтобы поглотить сжатие винта, и скорее сломался, чем держался. Я сделал модификацию, построив «наконечники» или провода меньшего размера, которые были достаточно твердыми, чтобы выдерживать сжатие, и достаточно длинными, чтобы их можно было припаять к оголенным концам провода динамика. Уродливо, да, но эффективно.

Готово с оборудованием!

Шаг 4: Загрузите Raspbian Lite

Скачать Raspbian Lite
Скачать Raspbian Lite
Скачать Raspbian Lite
Скачать Raspbian Lite

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

Последнее изменение: июнь 2020 г. для загрузки Buster Lite.

· Загрузите и установите Etcher от Balena Software

· Загрузите последнюю версию ОС Raspbian Lite с сайта raspberrypi.org

· Используя Etcher, запишите образ Raspbian на SD-карту

· После завершения, если не используется pi-ноль w - перенесите недавно созданную SD-карту на нашу Raspberry Pi. Если вы используете пи-ноль w, нам нужно внести некоторые изменения в файл WPA_Supplicant.conf в загрузочном разделе, чтобы настроить ваш Wi-Fi.

Шаг 5: настройте Pi

Настройте Pi
Настройте Pi

С нашим недавно созданным изображением давайте включим пи. Но сначала давайте позаимствуем монитор и клавиатуру, чтобы облегчить настройку. Вставьте карту micro sd и подсоедините кабель для зарядки micro usb. Если повезет, зеленый светодиод несколько раз мигнет во время загрузки. Первая загрузка может занять несколько минут, но через 5 минут мы должны быть готовы к работе над нашей конфигурацией. «Lite» Raspbian не имеет рабочего стола.

В командной строке: войдите как pi, пароль «raspberry».

· Войдите в панель конфигурации, набрав «sudo raspi-config» в командной строке.

· Немедленно измените свой пароль.

· Настройте Wi-Fi, используя параметры сети на панели конфигурации

· Измените параметры локализации и установите часовой пояс

· Включите SSH, используя опцию панели интерфейсов

· Запустите «sudo apt-get update», чтобы обновить программное обеспечение до последней версии.

Нам понадобится IP-адрес Pi. Я рекомендую приложение под названием «FING», которое можно загрузить на любое устройство Android, и в нем будут перечислены все устройства, подключенные к вашей сети. Мы будем искать устройство под названием «raspberrypi». Запишите IP-адрес.

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

Шаг 6. Используйте SSH для открытия сеанса на удаленном компьютере

Использовать SSH довольно просто. Откройте окно терминала с любого устройства в вашей сети и введите команду

ssh pi @ myipaddress

Замените «myipaddress» числовыми значениями, полученными с помощью fing.

Впервые вас могут встретить страшное предупреждение о том, что вас нет в списке приглашенных, однако есть предложение, которое должно гласить: «Чтобы удалить это…», скопируйте длинную строку символов и вставьте ее в команду. подсказка, нажмите ввод. Затем с помощью клавиши со стрелкой вверх повторите команду ssh pi @ myipaddress, выберите «Да» и введите свой пароль. Поздравляем! Теперь вы подключены к своему устройству, если видите командную строку «pi @ raspberrypi: ~ $».

Шаг 7: установите Mopidy

Установить Mopidy
Установить Mopidy

Мы собираемся установить Mopidy в качестве нашего музыкального сервера. Здесь много вариантов, но я покажу вам, как установить расширение под названием «Music Box», которое позволит вам управлять своей музыкой через веб-интерфейс, а не из командной строки.

Что такое Mopidy? Согласно веб-сайту, Mopidy - это набор громких слов, из-за которых я сейчас чувствую себя довольно неполноценным, но давайте просто скажем, что Mopidy - это платформа, с которой будет играть наша музыка. Это будет музыкальный сервер, MPD (демон музыкального проигрывателя) и веб-сервер. Надстройка PiMusic Box предложит веб-сайт, на котором мы можем переходить и управлять Mopidy. Я подумал, что, поскольку он хорошо работает с множеством популярных сервисов, таких как Spotify или Google Play Music, он подойдет для этого руководства. Плюс это круто.

Ниже приведены инструкции, беззастенчиво скопированные с Mopidy для установки из командной строки:

1. Добавьте ключ GPG архива:

sudo wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key добавить -

2. Добавьте репозиторий APT в источники пакетов:

sudo wget -q -O /etc/apt/sources.list.d/mopidy.list

Наконец, установите mopidy:

sudo apt-get update

sudo apt-get install mopidy

Конец бессовестной копии.

Шаг 8. Используйте Python Pip для установки других… Установок (расширений)

Мы только что установили простой ванильный Mopidy, но это только начало. Расширения будут нашими строительными блоками для добавления настроек к нашей простой ванильной Mopidy. Поскольку большинство расширений, которые мы добавим к базовому mopidy, написаны на python, мы будем использовать эквивалент apt, специфичный для python.

Прежде чем мы начнем использовать pip, давайте сначала убедитесь, что у нас есть все плагины gstreamer, использующие apt:

sudo apt install

python3-gst-1.0 / gir1.2-gstreamer-1.0 / gir1.2-gst-plugins-base-1.0 / gstreamer1.0-plugins-good / gstreamer1.0-plugins-ugly / gstreamer1.0-plugins-bad / gstreamer1.0-инструменты

Установка может занять несколько минут. Без Gstreamer вы не сможете транслировать музыку.

И теперь мы можем установить python pip:

sudo apt установить необходимый для сборки python3-dev python3-pip

Теперь мы можем использовать pip, чтобы добавить больше самородков. Pip - это инструмент Python, похожий на apt, но я считаю, что он работает немного быстрее, чем apt. Немного медленнее уходит с блока, но срабатывает довольно быстро.

Ниже приведены четыре, с которых можно начать:

Веб-интерфейс. Давайте использовать Iris, но при желании вы можете попробовать вместо него mopidy-musicbox-webclient:

sudo python3 -m pip установить Mopidy-Iris

Хаб интернет-радиостанций с 30 каналами:

sudo python3 -m pip установить mopidy-somafm

Еще один центр интернет-радио с еще большим количеством каналов:

sudo python3 -m pip установить mopidy-TuneIn

И еще один интерфейс для мобильного устройства. Radio Stations и Iris плохо сочетаются друг с другом, но на мобильном телефоне есть все виды интернет-станций, которые можно слушать:

sudo python3 -m pip установить Mopidy-Mobile

После завершения вы сможете получить доступ к Music Box, используя:

myipaddress: 6680 / iris / -или- https:// localhost: 6680 / musicbox_webclient

У нас по-прежнему ничего не будет из динамиков, если вы попытаетесь воспроизвести музыку.

Список других функций и расширений: Помогите себе:

sudo pip поиск mopidy

Отсюда вы можете продолжить добавлять расширения по своему усмотрению.

У меня есть образец файла конфигурации mopidy. Не стесняйтесь использовать содержимое в /etc/mopidy/mopidy.conf

судо нано /etc/mopidy/mopidy.conf

Шаг 9. Настройте Mopidy как услугу

Настроить Mopidy как услугу
Настроить Mopidy как услугу

Поскольку мы захотим запустить mopidy при запуске, две команды позволят запускать mopidy при загрузке:

sudo systemctl включить mopidy

sudo dpkg-reconfigure mopidy

Перезагрузитесь, а затем запустите

sudo systemctl status mopidy - l

чтобы проверить свой статус. Вы должны увидеть зеленый индикатор. У Mopidy есть очень полезный сайт поддержки, на котором можно найти дополнительные параметры конфигурации. Посетите сайт документации Mopidy для получения более подробной информации.

Шаг 10: Добавьте свою музыку

Добавьте свою музыку
Добавьте свою музыку

По умолчанию mopidy хочет хранить локальную музыку в папке в / var / lib / mopidy / media. Скопируйте туда свою музыкальную коллекцию. Я считаю, что проще всего просто удалить sd-карту из pi (после безопасного выключения) и, используя адаптер micro sd-usb, подключить адаптер к вашему устройству хранения и скопировать / вставить туда. (это может занять некоторое время, в зависимости от размера вашей коллекции). После завершения верните SD-карту в пи, загрузите ее, подключите повторно и введите:

sudo mopidyctl локальное сканирование

Это добавит вашу музыку в локальную медиатеку в Music Box. Вы можете заметить, что файлы.wma не распознаются как аудио, а файлы.ogg пропускаются во время сканирования. Однако с файлами Mp3 не должно быть проблем.

Шаг 11: Файл конфигурации звуковой карты - Asound.conf

У вас еще не должно быть ничего в /etc/asound.conf, но если вы это сделаете, замените содержимое указанным ниже или создайте его, используя:

sudo nano /etc/asound.conf

и вставьте:

параметры snd_rpi_googlehat_soundcard index = 0

pcm.softvol {type softvol slave.pcm dmix control {name Master card 0}} pcm.! default {type asym plays.pcm "plug: softvol"} ctl.! default {type hw card 0}

ctrl-x и Y, чтобы сохранить вышеуказанное как новый файл asound.conf.

Шаг 12: Убедитесь, что мы используем правильный оверлей для Configure.txt в / boot

тип

судо нано /boot/config.txt

Последние несколько строк должны выглядеть примерно так, как показано ниже. Мы хотим убедиться, что стандартный звук закомментирован вместе с любым предыдущим оверлеем, таким как мой цап hifiberry, при реализации наложения шляпы Google Voice. Наконец, мы хотим проинструктировать pi использовать отображение i2s. Индикатор # указывает системе игнорировать линию.

# Включить аудио (загружает snd_bcm2835)

# dtparam = audio = on # dtoverlay = hifiberry-dac dtoverlay = googlevoicehat-soundcard dtoverlay = i2s-mmap

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

Шаг 13: наслаждайтесь музыкой

Если вы слушаете стерео добро, миссия выполнена!

Одна из замечательных особенностей использования Raspberry Pi в качестве автономного музыкального сервера, подключенного к Wi-Fi, заключается в том, что он работает, не занимая много ресурсов. Да, мы выкачиваем всего 3 Вт на канал, но этого, вероятно, достаточно для прослушивания с близкого расстояния. Аккумулятор вашего телефона скажет вам спасибо.

Также есть очень важный экологический фактор - мы потребляем всего 5,25 вольт энергии. И по сравнению с Bluetooth, мы можем настроить радиопоток и не быть привязанным к 30-футовому диапазону Bluetooth. Что касается нашего телефона, мы можем принимать вызовы, играть в игры и немного более свободно перемещаться, не прерывая поток музыки. Мы только поцарапали поверхность. Существует множество доступных расширений mopidy для изучения, и mopidy имеет растущую базу разработчиков, поскольку это открытый исходный код. Я позволю вам самостоятельно изучить интересующие вас функции.

Шаг 14: Заключение

Заключение
Заключение

Одна из самых выдающихся особенностей этого проекта заключается в том, что мы не ограничиваем наш пи, блокируя доступ к GPIO. Это позволяет нам получить доступ ко многим дополнительным опциям, потому что голосовая шляпа была спроектирована так хорошо. Например, моим следующим проектом будет добавление кнопочного переключателя мгновенного действия в качестве кнопки выключения. Это должно быть легко, и я уже знаю, где должны приземлиться штифты: им ничто не препятствует. Оттуда? Что ж, в этом проекте мы полностью проигнорировали микрофон - может быть, пи-караоке? Возможно, светодиодное световое шоу или добавление мотора для вращающегося музыкального автомата? Все пины по-прежнему доступны и доступны. Возникает вопрос: а почему бы и нет? И на всякий случай, если вы захотите вернуться к ИИ, просто вставьте старую SD-карту и пусть Google отвечает в стереорежиме.

Рекомендуемые: