Чехол для портативной колонки своими руками
На самом деле никакая она неумная, грубая и не особо полезная, но зато весёлая и с характером.
За мной сама идея, программирование, железо (подбор и настройка).
От брата 3D-модель, 3D-печать, железо (подбор и электромонтаж).
Статья по-большей части описывает то, что делал я, лишь немного касаясь 3D-модели.
"Ты на самом деле хочешь дружить с роботом?"
Обсудив эту идею за пивом, принялись за работу. Брат начал делать 3D-модель, а я искать, что из электронного хлама в ящике стола можно задействовать в проекте.
В то же время вокруг буйным цветом расцветали (и продолжают расцветать сейчас) умные колонки с голосовыми ассистентами. Они вежливы (Алиса правда хамовата), достаточно много всего умеют и не работают без Интернета. И по мне достаточно скучны.
Первые попытки
Почитав о системах распознавания речи с возможностью оффлайн-распознавания, а также узнав, что ещё один хороший человек, коллега с прошлой работы, в то время писавший диплом, использует CMU Sphinx, выбор был остановлен на нём.
Создал простенькие JSGF-грамматику и программу на Яве. Взял несколько наиболее известных цитат для проигрывания(“with blackjack and hookers”, “bite my shiny metal ass”, “kill all humans” и т.п.). Пробовал изначально на достаточно мощном компьютере(MacBook Pro 13-го года), был доволен результатом производительности, но понимал, что на Галилео меня ждёт нечто другое. Но дело оказалось совсем плохо.
Вообще Галилео уже давно заброшен Интелом. Стандартный Линукс, шедший с ним мне в принципе особенно не нравился. Поэтому попробовал с последней доступной для него сборкой Дебиан.
Туда с проблемами(подробности уже честно не вспомню) был поставлен JRE. В качестве устройства ввода/вывода аудио была использована USB-гарнитура. И… Результат был крайне печален в плане производительности. Сейчас опять же не вспомню, возможно неправильную акустическую модель использовал на ней, но на реакции уходило 30-60 секунд. Плюс брат начал разрабатывать 3D-модель, и сказал, что габариты Галилео большеваты. Плюс отсутствие встроенного Wi-Fi. В общем Галилео опять отправилась в стол.
Решено было попробовать на гораздо более популярной Малинке, и выбор пал на слабую, но самую компактную версию Raspberry Pi Zero W. А также, прокачав внимательность, узнал о pocketsphinx (отличная статья для старта), перешёл на него, и переписал программу на Питоне.
При переходе на Малину, с подачи xbost’а, родилось название для проекта – Pinder (Raspberry Pi + Bender). Да, я прекрасно помню историю с Pidora в русскоязычном сегменте, но в данном случае намеренно выбрал такое лулзовое для русского уха название.
И так предыстория завершена, можно переходить непосредственно к описанию Пиндера.
Внутренняя железная часть
Перечень использованных компонентов:
Raspberry Pi Zero W – собственно основа всего.
Маленький ИБП для Малинки. Его штатный выключатель был выпаян, и к его контактам был припаян микропереключатель (см. далее по списку).
В принципе подойдёт любая, работающая в Линуксе. Подключается через OTG-кабель в единственный доступный для этого порт на Малине Зеро.
В общем тут колхозный вариант был использован. Колонки были раздербанены, взят один динамик, усилитель вытащен из корпуса. Можно было купить отдельный усилитель и динамик, но для меня самым быстрым вариантом было тогда купить эти колонки и разобрать на части.
Но во время разработки поначалу использовался микрофон от телефонной гарнитуры Philips.
Замыкается/размыкается при вставлении/вынимании "антенны" Бендера. Включает/выключает питание от UPS к Малине.
3,5мм разъём и гнездо jack. Для подключения микрофона к аудиокарте (микрофон находится наверху Бендера, в антенне).
В общем внутри всё достаточно колхозно.
Схема подключений очень простая:
Глаза сидят на отдельном пине от зубов и запараллелены между собой. Если бы делал сейчас, то включил бы глаза на одну ленту вместе с зубами, но что уже сделано, то сделано.
3D-модель, корпус
Здесь я не смогу рассказать многого, так как эта часть работы полностью брата.
3D-модель и небольшая инструкция доступны здесь.
Зубы и глаза напечатаны фотополимерной смолой на Anycubic Photon. Все остальные части PLA на Creality Ender 3.
Если будут какие-то вопросы по 3D-модели и печати можно задать мне, я их передам, либо попробовать напрямую спросить у xbost’а на thingiverse (но не уверен будет ли он на них отвечать).
Краткая схема сборки:
Фото в процессе сборки и полностью собранном виде:
Программная часть 1
В качестве ОС используется штатный Raspbian (теперь Raspberry Pi OS).
За распознавание, как уже писалось выше, отвечает pocketsphinx. В качестве аудиоподсистемы используется Alsa (Pulseaudio выпилен).
Поддерживается два языка: английский и русский. Для каждого языка своя JSGF-грамматика, набор аудио-сэмплов(сэмплов в репозитории нет, по соображениям авторских прав) и синтез речи. Русский дорабатывался(и дорабатывается) с некоторым опозданием.
Основной целью была просто возможность отвечать фановыми фразами из серий. Задаешь ему вопросы типа “Как дела?”, “Где ты родился?”, “Что думаешь о Сири?”. Ищется и воспроизводится ответ из сэмплов (в случае отсутствия сэмпла используется синтез речи, но об этом чуть позже).
Покопавшись у себя в коде, были найдены и уничтожены необязательные паузы. То же самое касалось и сэмплов (были пустые места вплоть до 1 секунды в начале файлов). А также прочитана информация о параметрах оптимизации pocketsphinx. Получилось уже получше:
Далее начал добавлять кое-какие полезные функции. Первой стала проигрывание музыки с локальной ФС или интернет-радио с помощью MPD. При этом докричаться до Бендера при проигрывании музыки на приличной громкости сложновато:
После достаточно долгого перерыва, живя на даче, была добавлена первая функция “умного дома”- управление освещением в своём углу через ModBusTCP. Вот только Бендера недостаточно иногда просто попросить включить свет, нужно обязательно сказать "пожалуйста". Работает достаточно шустро:
Программная часть 2
Потом однажды захотелось добавить читалку RSS-новостей. Это уже было невозможно без синтеза речи, но при этом хотелось, чтобы синтезатор звучал как, или хотя бы похоже на голос Бендера. Такой синтез речи на Малине Зеро представляется малореальным и поэтому в этом моменте пришлось сдаться и задействовать онлайн-сервис.
Почитав информацию и попробовав разные варианты остановился на Microsoft Azure Custom Speech.
При создании пользовательского голоса на выбор есть три варианта:
Statistical Parametric – стандартное качество, нужно небольшое количество(для английского языка) сэмплов для обучения.
Concatenative – высокое качество, нужно 6000 сэмплов для обучения.
Neural премиум-качество. По факту недоступно(доступно из США, при написании челобитной в Майкрософт зачем тебе это нужно и выкладывании 100 000$).
Более подробно по технологиям синтеза речи можно почитать например на Википедии.
У меня не было большого количества сэмплов, поэтому сначала поигрался со Statistical Parametric. Результат был неплох, голос конечно не был похож(такой тип синтеза для сильной похожести и не предназначен), но интонации передавал сносно. В итоге на основе набора данных созданного с помощью этой модели я создал оффлайновую модель для CMU Flite, используемую в случае отсутствия связи с MS Azure.
Но всё же хотелось большей похожести и я решился попробовать собрать 6000 сэмплов для Concatenative модели, использующей отрывки из сэмплов настоящего голоса. Очень помог некий хороший человек, выложивший на YouTube 7 видео The Best of Bender. Надёргав оттуда сэмплов, приплюсовав к ним те что уже были и натравив на них майкрософтовский же Text-to-Speech (здесь у меня набор тулзов вспомогательных), получил что-то около 2000 транскрибированных сэмплов. Было принято решение просто скопировать это всё три раза под разными именами, чтобы получить 6000.
В итоге всё это было залито на обучение модели, и результат получился следующим:
Да конечно не идеально, но меня результат трудов устроил.
В итоге синтез речи используется не только для чтения новостей, но и в случае отсутствия оригинального сэмпла. Сначала ищется сэмпл. Если его нет, проверяется связь с порталом MS Azure, если есть – синтезируется с помощью него. Если же связи с Azure нет – используется локальная модель Flite(а для русского языка роботизированный голос eSpeak).
В сумме периодическими волнами и рывками разработка шла с весны 2019-го по весну 2020-го, в свободное время(хорошо видно по коммитам на гитхабе). Далее уже даже не волнами, просто отдельными всплесками.
Будущее
Как таковых планов развития проекта нет. Если появляется желание и вдохновение, то добавляю что-нибудь. Так конечно напрашивается сделать режим просто болталки на нейронке, обученной на фразах Бендера. Ещё возможно добавить режим bluetooth-колонки(и чтобы зубы загорались синим в этом режиме) и приложение для смартфона, для активации схемы патриотизма.
Но для начала надо изобрести удлинитель пальца.
Заключение
Исходный код ПО и 3D-модель выложены под открытыми лицензиями, так что если у кого-то есть желание сделать своего Бендера, добавить свои функции и улучшить – буду рад.
Чехол для акустических систем Turbosound iQ12 и Turbosound iX12. Подходит для большинства АС с НЧ-динамиком 12” и максимальным размером кабинета 610 х 370 х 370 мм. Наружный слой выполнен из нейлона, внутренняя пенная прокладка.
На
Всем драйвовчанам привет. Время ночь, а мне не спится, решил написать статейку, про то, как я колоночку для работы собрал)))
В принципе ничего сложного, таких вариантов на Ютубе море))) Ну и ум и сообразительность никто не отменял.
Начиная с начала, друг по работе, заказал десять усилителей на АлиЭкспресс, по цене 146руб. за всё))) подарил одну штуку для эксперимента. Ну вот руки и дошли.
Ну а дальше пошла мысль о том, что лежит пять колонок от старого домашнего кинотеатра, без дела))) Взял под опыт центральную. Но срезав обшивку, увидел, что в ней один динамик, а усилитель расчитан на два канала. Но есть фальшзаглушка для второго. Имея руки из нужного места и строительный нож, вырезал с легкостью эту заглушку)))
Правда пришлось срезать окантовочное кольцо с другой колонки, иначе динамик не прилегал бы к корпусу))) трудов это стоило не малых)))
Вывел провод под 3,5джек и на питание на 220вольт(на будущее).
Ну и тыльная сторона. Далее забиваем синтепоном.
И получаем портативную колоночку, правда питание всё же взял от всё той же старой колонки, батарея от Нокии BL-5C.
Обшивку сделаю позже. Результат превзошел все мои ожидания. Бас глубокий и четкий))) честно не думал, что 3,7вольта и китайский усилитель на такое способны. Иначе бы не писал эту статью)))
Спасибо большое всем, кто дочитал до конца мою статейку))) Ну вдруг кому нибудь пригодится . До новых встреч.
Комментарии 12
Доброго времени суток! Случайно увидел запись. Сам планирую что-то подобное соорудить. PAM 8403 меня разочаровал. Если выставить НЧ на плеере, то усилитель кратковременно уходит в защиту. Звук прерывается на долю секунды, а потом появляется снова. К тому же у этого усилителя посредственная середина и вообще нет ВЧ. Вот, если на его место поставить PAM 8406. При питании от той же батарейки сразу почувствуете настоящее стерео. Но на высокой громкости греется. Решается установкой микрорадиатора. Поверьте, разница будет удивительная.
Согласен. Одно НО, я делал ради интереса и из того что было))) Возможно когда нибудь, в свободное время, меня посетит мысль модернизировать колонку.
Думаю, что обязательно посетит. У Вас еще много колонок незадействованных осталось)
Как сшить новый чехол на гладильную доску своими руками
Чехол на гладильной доске со временем изнашивается, как и все вещи. Но, покупать новый чехол совсем не обязательно. Новый чехол можно сшить самостоятельно. Ещё со времен, когда у меня была швейная мастерская, в моем сарайчике сохранилась гладильная доска. Обивка у неё совсем “убитая”. Доска мне срочно понадобилась я и решила сшить для неё новый чехол.
Конечно, по хорошему, этой доске нужна полная замена обивки, но я решила её пока не менять и обойтись только новым чехлом. Да и ткань я решила не покупать, а использовать почти новую простыню от спального мешка. Мешка уже давно нет, а простыня лежит без дела.
Чехол на табурет - интересная идея
Чехол на табурет - интересная идея
Эти милые трогательные заказы..)
Сегодня хочу рассказать историю создания одного простенького чехольчика, который является простеньким лишь с точки зрения техники его исполнения.
Но есть и другая сторона медали) Это очень важный эмоциональный момент. Хоть он и остался за кадром.
Иногда сошьешь сложную модель, в которую разумеется вложишь всю душу, а в ответ пустота или еще хуже. Например, я вообще не это заказывала. Когда поднимешь переписку и покажешь ее такой "заказчице", в ответ "да. а я и забыла".
Нет слов.
В этот раз не было ничего сложного (если не сказать проще некуда), а жизнь заиграла красками! Да еще и какими!
Приглашаю к просмотру видео!
Чехол из фетра для планшета своими руками
Чехол из фетра для планшета своими руками - это круто! Смотрим доступный МК. И повторяем!
Чехол для ноутбука шьем сами
Красивый и практичный чехол для ноутбука можно сшить своими руками. Чехол имеет такие размеры, чтобы соответствовать стандартному ноутбуку и карманами для телефона и записной книжки.
Стимпанк-мобильный
Сделала достойный чехольчик для любимого телефона в стиле стимпанк. Ну теперь он конечно отличается от многих других своих собратьев :)
1.
А так подбирала элементы на купленный чехол, собирала механизм: 2.
Лоскутный чехол на стул | УТИЛИТАРНОЕ РУКОДЕЛИЕ
Лоскутный чехол на стул | УТИЛИТАРНОЕ РУКОДЕЛИЕ
Лоскутный чехол на стул | УТИЛИТАРНОЕ РУКОДЕЛИЕ
Чехол для телефона и планшета своими руками
Без заголовка
…Но в одном лишь не уступай, На разрыв иди, на разлуку, Только подлости не прощай, И предательства не прощай, Никому, ни любимым, ни другу…
Без заголовка
Любить — это значит жить вечно, ибо л юбовь бессмертна. Слушать о лю бви никогда не в тягость, слышать призна ние в любви никогда не надоест. От этих слов чел овек воскресает снова и снова.
Как сшить чехол для кресла или дивана
Чехол для мебели можно сшить без выкройки всего за пару часов. В этом мастер-классе мы покажем, как это сделать.
Читайте также: