Алексей, Спасибо вам за видео, за вложенные силы в эксперимент и в съёмку всего процесса. Очень интересная тема. Я хотел бы внести только одно важное замечание-уточнение. Адресовано оно в первую очередь "новичкам" в области цифрового звука, ресемплинга из одной частоты в другую и тд. Для начала дам пару отметок в тайминге видео для понимания вопроса. 05:40 - здесь сначала показан вариант работы ЦАПа на 8000Гц, когда всё линейно, оцифровали в 8000, и так звук и идёт по всему звуковому тракту. Частота дискретизации не подвергается изменениям. 06:45 - далее даётся отрицательная оценка этому звуку - "мы слышим всякие цифровые искажения" и так далее. "Не понравилось". 08:40 - Предложено решение поднять на приёмном модуле частоту с 8000 Гц до 16000, отдельно добавлено, что "самым простым образом" ("тупым копированием байтов" - повторено также на 10:35 ) 11:01 - дана положительная оценка - "стало гораздо лучше", создаётся однозначное впечатление, что результат подан, как "безусловный плюс" и как пример, "делайте также" (?) Здесь упущен и никак не оговорен достаточно важный момент работы с цифровым звуком и с ресемплингом, важный как раз особенно для новичков. Имя ему АЛИАСИНГ (в комментариях всего один человек упомянул это, то есть действительно мало кто знает). Во втором случае как раз присутствует алиасинг при ресемплинге из более низкой частоты дискретизации в более высокую, и не бесследно. То есть, получается как раз наоборот - в первом варианте у вас звук более правильный, на смотря на то что он "глухой" по высоким частотам и субьективно "не нравится" нам. А второй "приукрашен артефактами", но больше понравился. Тут надо пояснить, что глухость его обусловлена теми условиями, в которые он поставлен (частота дискретизации = 8000 Гц), само собой, при такой частоте АЧХ (амплитудно-частотная характеристика) изначально очень сильно урезана, до 4 кГц (всегда равняется половине ЧД), о чём к слову рассказано в видео на отметке 09:11 , и за это вам спасибо. Отдельно хотел бы повторить, что данный звук не смотря на свои явные отличия от идеала, является "правдивым" и "правильным" в рамках тех условий, в которые он поставлен. При варианте с 16000 Гц как раз-таки наоборот, добавляется множество "цифровых артефактов" и нежелательных искажений. Именно из-за алиасинга. Звук начал как бы "звенеть", и субьективно может показаться, что он приобрёл обратно больше высоких частот, но это ошибка, и этот "звон" в высокочастотной части звукового спектра никак не является ПОЛЕЗНЫМ сигналом, и в некоторых случаях даже может МЕШАТЬ разборчивости речи, а не помогать... "Правдивым" как раз этот вариант назвать нельзя. Но видео этот момент показался поданным, как БЕЗУСЛОВНЫЙ плюс... то есть мы подняли приёмную часть до 16000Гц вместо 8000 "тупым копированием байтов" - и мы молодцы, "стало лучше", так и требуется. Позвольте, это всё таки чуть чуть не так. Возможно как раз "закомментированный" вариант алгоритма был бы правильней, но не факт, что этот алгоритм олицетворяет собой непосредственно антиалиасинг (но если да - то он точно правильней). Тот факт, что сам ЦАП может действительно ЛУЧШЕ может отрабатывать на более высокой частоте дискретизации (рассказано в видео на 09:30 ) - я не оспариваю (это вопрос к конкретному ЦАПу и его производителю). Но у нас же в итоге получается, что, пытаясь улучшить один недостаток - мы добавляем другой нежелательный "баг", никак об этом не предупреждая. Понятно, что для "понимания азов" и так сойдёт, но всё же, добавить всего одну фразу, что с "прямым ресемплом вверх по частоте есть свои нюансы, я на них в этом видео распространяться не стану, просто не забывайте об этом в будущем, если придётся столкнуться с такой темой", стоило). Без этой фразы будет гораздо больше заблуждений, если кто-то в эту тему углубится. Всем интересующимся рекомендую изучить, что такое антиалиасинг в цифровом звуке и почему важно "правильно" апскейлить сигнал, если уж апскейлить для чего-то потребовалось (без надобности лучше не апскейлить, уже обрезанную АЧХ вы таким образом никак назад не восстановите). Повторить и изучить опыт ресемплинга звука можно ещё например так - в Sound Forge или другом звуковом редакторе открываем любой звуковой файл, звуку которого мы "доверяем" и который нам знаком и звучит без дефектов (например песня с CD-диска в wav). делаем его из 44100 в 8000 Гц. А потом разными способами пробуем повышать обратно из 8000 в другие частоты повыше. Там всегда есть галочка With Anti-aliasing filter, соответственно нужно включить её и послушать результат (на слух ничего не должно измениться, останется таким как 8000 первоначальный), а потом галочку снять (это как раз вариант, названный Алексеем "тупым копированием байтов"), снова отресемплить из 8000 и тоже послушать - звук заметно начнёт как бы "звенеть", и вот это вот - "баг, а не фича". Повторюсь, даже здесь в видео это слышно - сравните 05:40 и 11:01, и это никак не преимущество, это звуковой дефект. Во всём остальном отличная тема, прекрасно снятый ролик, спасибо вам за трудовложения и за такой контент!!!
Отличный эксперимент! Благодарю! Можно сделать переговорное устройство через домашний WiFi, особенно для дачи шикарный вариант между сараем-гаражом-домом
Микрофоны кстати, которые по мемс технологии сделаны, довольно качественные. АЧХ полностью линейная, только динамический диапзон небольшой. Есть даже стерео, два стоят в одном корпусе.
Давно давно занимался цифровыми фильтрами. Пользовал Matlab. Удобная штука. Задаешь характеристики фильтра, а получаешь графически алгоритм фильтра со всеми кэффициентами. Использовали фильтры для обработки сигналов в АСУТП .
С одной стороны познавательно, с другой приятно удивляет диапазон интересов и компетенций автора. Я сейчас в процессе освоения ардуино мне передача звука не очень актуальна, но в любом случае всё что касается темы ардуино интересно.
@@ПетрП-и3й , поверьте, в одном из своих проектов Вы обязательно захотите сделать аудио сопровождение с минимальными затратами. Вот тут Вам и пригодятся уроки по выводу звука.
Вот это прям круто. Сам давно задумываюсь над подобной концепцией, всё железо уже у меня в наличии но руки никак не доходят сделать прототип. За фильтры отдельный респект! Удачи в дальнейшей разработке!
Очень понравился Ваш эксперимент в данной тематике с этими модулями. Первая мысль, которая пришла в голову, это применение этого устройства для привлечения молодых людей, у которых еще нет позывного, для. первых экспериментов с антеннами, простой установки связи между модулями, с получением стабильного соединения, и передача и прием голосовых сообщений. Удачи в дальнейших экспериментах, доброго здоровья, крепости духа! И спасибо за то, что делитесь наработанным опытом с другими!
Хотя в цифровой телефонии передается 8 бит, но благодаря кодировке uLaw или aLaw удается с небольшими потерями 8 битами кодировать 12бит реального звука!
Совершенно верно. Кофидеки в телефонии используют сжатие динамического диапазона по характеристики А13 (13-ти сегментная) с частотой дискретизации 8 кГц при 8-ми битной передачи и качеством 12бит.
Интересный проект. Ждём продолжения. Какой кодек планируете использовать? Почему, кстати, на гитхаб исходники не кладёте? там их и смотреть удобнее и в целом проект вести...
В открытом доступе есть не много кодеков с таким низким битрейтом, и чтобы есп их тянул, один из них военных, другой платный, есть опенсорс проект CODEC 2 думаю будет его использовать. туда как раз надо 8khz дискретизации и он влезет в лору по ширине канала
@@TheBjat может имелся в виду аппаратный какой-нибудь кодек. Я тут рискую надиванить как эксперт, но должны ж быть такие кодеки. Вот mp3 кодек в виде микросхемы бывает, может и такие есть для низкого битрейта.
Спасибо за видео, особенно за фильтры. На диплом делал умную колонку на esp32-S3 (клиент-сервер) передача речи на сервер по UDP, а прием ТТS или музыки по Web-socket.
Спасибо за видео!!! Хорошая тема с esp32. Я хотел построить репитер вот по этой же идее. Две моторолы gm300 1я на прием, 2я на передачу. Между ними вот такой вот WiFi мост на базе esp32 или подобных. Таким образом можно разнести прием и передачу репы на 100 - 400 метров, а если применить направленные антенны то и на более дальние дистанции. Не бросайте проект.
У ESP32 есть хитрый режим long range на частоте 2.4ГГц (говорят, до километра пробивает) и режим ESP-NOW (очень простая установка связи). Рекомендую попробовать.
@@trapwalker В документации заявляется 1-2 мегабита. А для голоса хватит и в 10 раз меньшей скорости (даже если добавить избыточность/ретрансмиты), особенно если взять кодек вроде opus.
можно использовать esp-now, это peer to peer соединения, без точки доступа. интересна сторона легализации, так как чирп модуляция, которую использует лора иммет ограничения по времени включения на диапазонах 433 и 898
I²C это "Inter IC": интерфейс для МежМикроСхемной связи - именно поэтому "I" в квадрате. На русском можно было бы написать М²С. На английском I²C звучит как "eye squared C" и как бы описывает букву "Си" в очках - прикольно, в общем, звучит. 🙂 "АйТуСи" это на Руглише - сленг малограмотных русскоязычных кулхацкеров. Обычно приводят в пример московских панков советских времен - "в шопе на стриту вайн дают. Задринчим?" 😂
Дополню: "Inter Integrated Circuit" это "IIC". Если представить это в виде математической формулы, а инженер сразу так видит, то получится "I*I*C", а по правилам "I*I*C=I²C". Вот так и получилось название I²C. 😊
Самое простое для реализации попугая - это копеечная плата диктофона с алиэкспресса, и через ардуинку управление ею с подключением к какому-нибудь баофенгу. На рации настраивается разница в частотах приёма и передачи (если надо) и получается эхо-репиттер. Вроде бы даже можно вовсе без контроллера, если ориентироваться на отпирание шумоподавителя рации.
Судя по содержанию ролика напрашиваются следующие умозаключения. Выход микрофона напрямую подаётся на вход АЦП без участия ФНЧ. Для эксперимента с частотой дискретизации АЦП == 8 кГц и выходом микрофона без ФНЧ, то есть со спектральными составляющими явно превышающими 4 кГц (максимальная допустимая частота входного сигнала согласно теореме Котельникова) осуществляется оцифровка как более низких (< 4кГц), так и более высокочастотных (> 4кГц) спектральных составляющих сигнала. В результате это приводит к наложению спектров высокочастотных составляющих на низкочастотные, что есть зеркальное относительно частоты 4 кГц отражение спектров высокочастотных компонент (aliasing). То же самое происходит и для частоты дискретизации 16 кГц, но ощутимо в меньшей степени. Это обусловлено конечным спектром голоса, его неравномерной формой, а также формой АЧХ микрофона. Проще говоря, для голосового сигнала мощность спектральных компонент превышающих половину частоты дискретизации (8 кГц для второго эксперимента) намного меньше чем для первого (8 кГц). По данной причине голос во втором эксперименте явно слышится лучше. В целом, материал ролика очень интересный! Алексей, попробуйте всё же поставить ФНЧ на выходе микрофона. Уверен, что можно достичь с данными платами очень высокого качества звука для частоты дискретизации 8 кГц и разрядности АЦП 8 бит.
@@alexandrmironov7460 изначально микрофон устройство аналоговое и между ним и интерфейсом i2c стоит АЦП. Речь о том, что между микрофоном и самим АЦП установить ФНЧ, тогда в шину i2c будут передаваться речевые данные с вполне вменяемым спектром частот.
@@АлександрНевский-е4д Шина не I2C, а I2S. Этот микрофон в интегральном исполнении со своим встроенным АЦП. В данной конструкции делать доработки это лишние затраты времени.
Спасибо , интересный проект. Я в свое время используя эти же i2s модули пытался связать две стмки через модули nrf24 , но не хватило знаний ... Так и не понял как точно синхронизировать данные между приемником и передатчиком , если они отправляются в виде пакетов , а скорость ограничена
Там надо делать так называемый пинг-понг буфер. То есть двойную буферизацию и менять указатели. Это называется пинг-понг. Пока буфер пин передаёшь, буфер пок записываешь, и потом они меняются местами. Я такое делал с nrf24l01 на каких-то очень слабеньких микроконтроллерах типа ат-тини. Работала идеально просто.
а не может это быть связано с big-endian или little-endian кодировками? вроде бы при передаче через сеть используется другая кодировка, чем в i2s, если не ошибаюсь
Более круто, на мой вкус, делать и передавать по UDP MP3-поток, который адаптирован под особенности человеческого слуха. На входе MP3-кодера звук максимального качества, битрейт достигается степенью сжатия MP3. На выходе MP3-декодера получаем звук максимального качества -- это важно для узнаваемости "оппозиционных голосов" в эпоху зажима свободы распространения информации :)
Алексей, добрый день. Если использовать только приёмник в качестве Интернет-радио, то какая частота дискретизации доступна будет? Идея из ESP32+Max98357 сделать интернет радио :)
В телефонии использовалось 12 бит с компрессией в 8 бит по A-закону и без перегрузок. Частота дискретизации 8 кГц. Если нет переприёмов, то качество очень хорошее.
Добрый день! Я эксперементировал с STM32 - там сигнал должен буферизироваться и воспроизводиться по кругу с помощью DMA.На частоте 8кГц артефакты отсутствовали - внешний ЦАП на плате (он же УНЧ) имеет встроенный цифровой фильтр, ПРи записи и сжэмплировании 8КГц на вход АЦП не должно приходить сигналов с частотой более 4 кГц. Иначе будут артефакты
8:14 -- могу рекомендовать делать константами или даже constexpr неизменяемые данные, а так же выделять память через new хотябы... -- а еще лучше через использование std::vector и подобное.
Вообще компрессор не делает тихие звуки громче. Он делает громкие тише. А вот прибор под названием левеллер делает тихие звуки громче, а громкие тише. Это можно называть АРУ.
Смысл через вай-фай передачи, есть. можно создавать аналог Скайпа или Дискорда, если на одной из сторон "белый" айпи, или через сервер с "белым" айпи. То есть можно сделать общение вообще между любой точкой мира.
Идея, Вашей разработки понятна, но она не может быть массовой, ёмкость яЛоры мала, она для телеметрии, для, устройств, передающих единицы байт в час. В пустом канале Вы что-то сможете, но неколько станций будут иметь слишком много коллизий. Просто оцените пропускную способность всей Лоры и трафик одной рации.
Проверьте микрофон , по даташиту он вроде только 24 бита выдаёт , переключение в 16 не предусмотрено , поэтому у Вас искажения появляются . В теории WS фронт отрежет лишнее, но как это воспримет контроллер микрофона непонятно . Такие вещи надо осцилографом поглядеть , или хотябы дамп фреймов с передатчика проанализировать , сгенерировав синусоиду .
Алексей, здравствуйте! Может сейчас достучусь до Вас. Тема: сравнение ft 3000 c ft 101, как всегда через тумблер. Интересно будет не только мне, но и всей нашей братии.Скоро на пенсию. "Кот в мешке"мне не нужен. Благодарю.
Эти эксперименты не дают точно понять ,что хуже работает. Усилитель или микрофон. Нужно использовать на одной стороне что то проверено качественное, эталон.
Внимательно слежу за Вашей работой. Для меня актуальна задача передача голоса на несколько км в диапазоне 2,4 GHz. В сети появилось видео, в котором на базе чипа NRF24 данные передаются на несколько км с битрейтом 250 kbps, 1 kbps и 2 kbps. О размере буфера ничего не говорится, (задам вопрос автору), но мне кажется, если увязать Вашу разработку с возможностями этих модулей, то должен получиться весьма неплохой результат. Интересует Ваше мнение. Большое спасибо за видео! Да, и видео: (задал Вам вопрос по нему в другом Вашем видео) th-cam.com/video/HMkH7Mvk6C8/w-d-xo.html
Телефон в качестве точки доступа. Рация на ESP32 коннетится через Wireguard на внешний сервер(например микротик), передача ведётся между теми узлами, которые маршрутизируются на микроте... это просто офигеть как удобно. Связь можно намутить на любом расстоянии, в любой точке мира где есть wifi. канал зашифрован, прослушать невозможно. Трафика жрёт копейки
Народ, как изолировать телефон от радиоволн???? Пробовал в толстостенной кастрюле с заземлением, ни хера не получается, волна проходит хоть и немного падает. У кого-то есть такая практика, а не теория???
Так много объяснений... всё видео можно было в 5 минуту сделать, кто программы писать не умеет, тот и не научится сколько не обясняй, а кто шарит тем вообще так разжёвывать ненужно...
Ой, вот вечно все эти недовольные. Поставьте двойную скорость. "кто программы писать не умеет, тот и не научится сколько не обясняй" - а вы прямо с рождения умели, или научились со временем?
Алексей, Спасибо вам за видео, за вложенные силы в эксперимент и в съёмку всего процесса.
Очень интересная тема.
Я хотел бы внести только одно важное замечание-уточнение. Адресовано оно в первую очередь "новичкам" в области цифрового звука, ресемплинга из одной частоты в другую и тд.
Для начала дам пару отметок в тайминге видео для понимания вопроса.
05:40 - здесь сначала показан вариант работы ЦАПа на 8000Гц, когда всё линейно, оцифровали в 8000, и так звук и идёт по всему звуковому тракту. Частота дискретизации не подвергается изменениям.
06:45 - далее даётся отрицательная оценка этому звуку - "мы слышим всякие цифровые искажения" и так далее. "Не понравилось".
08:40 - Предложено решение поднять на приёмном модуле частоту с 8000 Гц до 16000, отдельно добавлено, что "самым простым образом" ("тупым копированием байтов" - повторено также на 10:35 )
11:01 - дана положительная оценка - "стало гораздо лучше", создаётся однозначное впечатление, что результат подан, как "безусловный плюс" и как пример, "делайте также" (?)
Здесь упущен и никак не оговорен достаточно важный момент работы с цифровым звуком и с ресемплингом, важный как раз особенно для новичков. Имя ему АЛИАСИНГ (в комментариях всего один человек упомянул это, то есть действительно мало кто знает). Во втором случае как раз присутствует алиасинг при ресемплинге из более низкой частоты дискретизации в более высокую, и не бесследно.
То есть, получается как раз наоборот - в первом варианте у вас звук более правильный, на смотря на то что он "глухой" по высоким частотам и субьективно "не нравится" нам. А второй "приукрашен артефактами", но больше понравился. Тут надо пояснить, что глухость его обусловлена теми условиями, в которые он поставлен (частота дискретизации = 8000 Гц), само собой, при такой частоте АЧХ (амплитудно-частотная характеристика) изначально очень сильно урезана, до 4 кГц (всегда равняется половине ЧД), о чём к слову рассказано в видео на отметке 09:11 , и за это вам спасибо.
Отдельно хотел бы повторить, что данный звук не смотря на свои явные отличия от идеала, является "правдивым" и "правильным" в рамках тех условий, в которые он поставлен.
При варианте с 16000 Гц как раз-таки наоборот, добавляется множество "цифровых артефактов" и нежелательных искажений. Именно из-за алиасинга. Звук начал как бы "звенеть", и субьективно может показаться, что он приобрёл обратно больше высоких частот, но это ошибка, и этот "звон" в высокочастотной части звукового спектра никак не является ПОЛЕЗНЫМ сигналом, и в некоторых случаях даже может МЕШАТЬ разборчивости речи, а не помогать...
"Правдивым" как раз этот вариант назвать нельзя. Но видео этот момент показался поданным, как БЕЗУСЛОВНЫЙ плюс... то есть мы подняли приёмную часть до 16000Гц вместо 8000 "тупым копированием байтов" - и мы молодцы, "стало лучше", так и требуется. Позвольте, это всё таки чуть чуть не так. Возможно как раз "закомментированный" вариант алгоритма был бы правильней, но не факт, что этот алгоритм олицетворяет собой непосредственно антиалиасинг (но если да - то он точно правильней).
Тот факт, что сам ЦАП может действительно ЛУЧШЕ может отрабатывать на более высокой частоте дискретизации (рассказано в видео на 09:30 ) - я не оспариваю (это вопрос к конкретному ЦАПу и его производителю). Но у нас же в итоге получается, что, пытаясь улучшить один недостаток - мы добавляем другой нежелательный "баг", никак об этом не предупреждая.
Понятно, что для "понимания азов" и так сойдёт, но всё же, добавить всего одну фразу, что с "прямым ресемплом вверх по частоте есть свои нюансы, я на них в этом видео распространяться не стану, просто не забывайте об этом в будущем, если придётся столкнуться с такой темой", стоило). Без этой фразы будет гораздо больше заблуждений, если кто-то в эту тему углубится.
Всем интересующимся рекомендую изучить, что такое антиалиасинг в цифровом звуке и почему важно "правильно" апскейлить сигнал, если уж апскейлить для чего-то потребовалось (без надобности лучше не апскейлить, уже обрезанную АЧХ вы таким образом никак назад не восстановите).
Повторить и изучить опыт ресемплинга звука можно ещё например так - в Sound Forge или другом звуковом редакторе открываем любой звуковой файл, звуку которого мы "доверяем" и который нам знаком и звучит без дефектов (например песня с CD-диска в wav). делаем его из 44100 в 8000 Гц. А потом разными способами пробуем повышать обратно из 8000 в другие частоты повыше. Там всегда есть галочка With Anti-aliasing filter, соответственно нужно включить её и послушать результат (на слух ничего не должно измениться, останется таким как 8000 первоначальный), а потом галочку снять (это как раз вариант, названный Алексеем "тупым копированием байтов"), снова отресемплить из 8000 и тоже послушать - звук заметно начнёт как бы "звенеть", и вот это вот - "баг, а не фича".
Повторюсь, даже здесь в видео это слышно - сравните 05:40 и 11:01, и это никак не преимущество, это звуковой дефект.
Во всём остальном отличная тема, прекрасно снятый ролик, спасибо вам за трудовложения и за такой контент!!!
Ни один канал на тему esp32 такой полезной инфы про i2s не даёт. Спасибо, я узнал много интересного.
Я даже начал кое-что понимать )
Алексей Александрович, спасибо вам за опыт, 73! С нетерпением жду продолжения.
С большим удовольствием посмотрел. Очень наглядный и показательный эксперимент. Спасибо автору!
Мало чего понимаю, но всегда смотрю и ставлю лайк!👍
Отличный эксперимент! Благодарю! Можно сделать переговорное устройство через домашний WiFi, особенно для дачи шикарный вариант между сараем-гаражом-домом
Спасибо за видео. Лаконично, ёмко, интересно.
Микрофоны кстати, которые по мемс технологии сделаны, довольно качественные. АЧХ полностью линейная, только динамический диапзон небольшой. Есть даже стерео, два стоят в одном корпусе.
Давно давно занимался цифровыми фильтрами. Пользовал Matlab. Удобная штука. Задаешь характеристики фильтра, а получаешь графически алгоритм фильтра со всеми кэффициентами. Использовали фильтры для обработки сигналов в АСУТП .
Спасибо! Как раз собрался подключать I2S микрофон к esp32. Ваше видео очень поможет.
Там есть ещё протокол esp-now, там можно без всякого предварительного соединения передавать и принимать.
Да и по дальности должно быть получше
С одной стороны познавательно, с другой приятно удивляет диапазон интересов и компетенций автора. Я сейчас в процессе освоения ардуино мне передача звука не очень актуальна, но в любом случае всё что касается темы ардуино интересно.
@@ПетрП-и3й , поверьте, в одном из своих проектов Вы обязательно захотите сделать аудио сопровождение с минимальными затратами. Вот тут Вам и пригодятся уроки по выводу звука.
Спасибо Алексей Александрович, за долгожданные лабораторные работы! )) 73!
Вот это прям круто. Сам давно задумываюсь над подобной концепцией, всё железо уже у меня в наличии но руки никак не доходят сделать прототип. За фильтры отдельный респект! Удачи в дальнейшей разработке!
Очень понравился Ваш эксперимент в данной тематике с этими модулями. Первая мысль, которая пришла в голову, это применение этого устройства для привлечения молодых людей, у которых еще нет позывного, для. первых экспериментов с антеннами, простой установки связи между модулями, с получением стабильного соединения, и передача и прием голосовых сообщений.
Удачи в дальнейших экспериментах, доброго здоровья, крепости духа! И спасибо за то, что делитесь наработанным опытом с другими!
Хотя в цифровой телефонии передается 8 бит, но благодаря кодировке uLaw или aLaw удается с небольшими потерями 8 битами кодировать 12бит реального звука!
Совершенно верно. Кофидеки в телефонии используют сжатие динамического диапазона по характеристики А13 (13-ти сегментная) с частотой дискретизации 8 кГц при 8-ми битной передачи и качеством 12бит.
adpcm. Голые сэмплы неплохо жмутся даже алгоритмом Хаффмана. Но смысла мало, esp32 может потянуть кодирование даже кодеком Opus
@@alexandrmironov7460 кофидек - узнаю связиста :)
@@alexloktionoff6833 ТЭИС, МЭС факультет 1995г выпуск ;)
Иначе a и u законы компандирования
Даже и не думал по i2c передавать звук а теперь есть идея, по этой шине можно и несколько микрофонов повесить, нужно пробовать, благодарю
Это не i2c, это i2S. Щас сам глянул, он спецом только для звука.
Интересный проект. Ждём продолжения. Какой кодек планируете использовать?
Почему, кстати, на гитхаб исходники не кладёте? там их и смотреть удобнее и в целом проект вести...
Очень хороший результат..😊😊😊
Очень интересные опыты.СПАСИБО!
В открытом доступе есть не много кодеков с таким низким битрейтом, и чтобы есп их тянул, один из них военных, другой платный, есть опенсорс проект CODEC 2 думаю будет его использовать. туда как раз надо 8khz дискретизации и он влезет в лору по ширине канала
@@TheBjat может имелся в виду аппаратный какой-нибудь кодек. Я тут рискую надиванить как эксперт, но должны ж быть такие кодеки. Вот mp3 кодек в виде микросхемы бывает, может и такие есть для низкого битрейта.
Есть свободный GSM кодек, он весьма неплохо сжимает.
Спасибо за видео, особенно за фильтры. На диплом делал умную колонку на esp32-S3 (клиент-сервер) передача речи на сервер по UDP, а прием ТТS или музыки по Web-socket.
Где то можно увидеть Ваши наработки?
Спасибо за видео!!!
Хорошая тема с esp32. Я хотел построить репитер вот по этой же идее. Две моторолы gm300 1я на прием, 2я на передачу. Между ними вот такой вот WiFi мост на базе esp32 или подобных. Таким образом можно разнести прием и передачу репы на 100 - 400 метров, а если применить направленные антенны то и на более дальние дистанции.
Не бросайте проект.
У ESP32 есть хитрый режим long range на частоте 2.4ГГц (говорят, до километра пробивает) и режим ESP-NOW (очень простая установка связи). Рекомендую попробовать.
Не слишком ли медленным он будет этот long range для потоковой передачи звука?
@@trapwalker В документации заявляется 1-2 мегабита. А для голоса хватит и в 10 раз меньшей скорости (даже если добавить избыточность/ретрансмиты), особенно если взять кодек вроде opus.
@@m0Ray79 так же можно попробовать speex, но думаю потери будут слишком большие, интересно посмотреть с LoRA
Предполагаю нужно использовать что-то типа DRM связи, так как специально разрабатывалась для дальней связи с защитой от помех.
можно использовать esp-now, это peer to peer соединения, без точки доступа.
интересна сторона легализации, так как чирп модуляция, которую использует лора иммет ограничения по времени включения на диапазонах 433 и 898
Здравствуйте. Сможете снять видео, как вы сделали этот аппарат. Как соединили Элементы и так далее. Заранее спасибо.
Марина Марина Марина, прием!
Нифига вы крутой. 😎
Алексей, было бы интересно когда-нибудь замерить, что с диапазоном по блокированию у одночиповых цифровых трансиверов (RFMxx, CC1101, SI4460 итп)
отличное видео, познавательные эксперименты. с нетерпением жду продолжения. p.s. i2c - ай ту си
I2s !!!
Не надо путать i2c и i2s
I²C это "Inter IC": интерфейс для МежМикроСхемной связи - именно поэтому "I" в квадрате. На русском можно было бы написать М²С.
На английском I²C звучит как "eye squared C" и как бы описывает букву "Си" в очках - прикольно, в общем, звучит. 🙂
"АйТуСи" это на Руглише - сленг малограмотных русскоязычных кулхацкеров. Обычно приводят в пример московских панков советских времен - "в шопе на стриту вайн дают. Задринчим?" 😂
Дополню: "Inter Integrated Circuit" это "IIC". Если представить это в виде математической формулы, а инженер сразу так видит, то получится "I*I*C", а по правилам "I*I*C=I²C".
Вот так и получилось название I²C. 😊
Класный эксперемент. Я все хочу сделать попугая для проверки рации. Решения которые есть более сложные а переделать эту схему прям вариант.
Самое простое для реализации попугая - это копеечная плата диктофона с алиэкспресса, и через ардуинку управление ею с подключением к какому-нибудь баофенгу. На рации настраивается разница в частотах приёма и передачи (если надо) и получается эхо-репиттер. Вроде бы даже можно вовсе без контроллера, если ориентироваться на отпирание шумоподавителя рации.
плата диктофона попугая есть уже. Народ на ней делает с 555 таймером. Но мне проще бы на ардуиде сделать. Надо подумать как их обьеденить
А не попробовали с DRA818V на пример? Или они хуже Лора будут
Судя по содержанию ролика напрашиваются следующие умозаключения.
Выход микрофона напрямую подаётся на вход АЦП без участия ФНЧ.
Для эксперимента с частотой дискретизации АЦП == 8 кГц и выходом микрофона без ФНЧ, то есть со спектральными составляющими явно превышающими 4 кГц (максимальная допустимая частота входного сигнала согласно теореме Котельникова) осуществляется оцифровка как более низких (< 4кГц), так и более высокочастотных (> 4кГц) спектральных составляющих сигнала. В результате это приводит к наложению спектров высокочастотных составляющих на низкочастотные, что есть зеркальное относительно частоты 4 кГц отражение спектров высокочастотных компонент (aliasing).
То же самое происходит и для частоты дискретизации 16 кГц, но ощутимо в меньшей степени. Это обусловлено конечным спектром голоса, его неравномерной формой, а также формой АЧХ микрофона. Проще говоря, для голосового сигнала мощность спектральных компонент превышающих половину частоты дискретизации (8 кГц для второго эксперимента) намного меньше чем для первого (8 кГц). По данной причине голос во втором эксперименте явно слышится лучше.
В целом, материал ролика очень интересный!
Алексей, попробуйте всё же поставить ФНЧ на выходе микрофона. Уверен, что можно достичь с данными платами очень высокого качества звука для частоты дискретизации 8 кГц и разрядности АЦП 8 бит.
Выход микрофона уже цифровой I2S.
@@alexandrmironov7460 изначально микрофон устройство аналоговое и между ним и интерфейсом i2c стоит АЦП.
Речь о том, что между микрофоном и самим АЦП установить ФНЧ, тогда в шину i2c будут передаваться речевые данные с вполне вменяемым спектром частот.
@@АлександрНевский-е4д Шина не I2C, а I2S. Этот микрофон в интегральном исполнении со своим встроенным АЦП. В данной конструкции делать доработки это лишние затраты времени.
спасибо вам ) Единственный комментарий, где "не забыли" про aliasing при ресемплинге👍
Скоро у нас будет Лора рация!
Спасибо , интересный проект. Я в свое время используя эти же i2s модули пытался связать две стмки через модули nrf24 , но не хватило знаний ... Так и не понял как точно синхронизировать данные между приемником и передатчиком , если они отправляются в виде пакетов , а скорость ограничена
Там надо делать так называемый пинг-понг буфер. То есть двойную буферизацию и менять указатели. Это называется пинг-понг. Пока буфер пин передаёшь, буфер пок записываешь, и потом они меняются местами. Я такое делал с nrf24l01 на каких-то очень слабеньких микроконтроллерах типа ат-тини. Работала идеально просто.
а не может это быть связано с big-endian или little-endian кодировками? вроде бы при передаче через сеть используется другая кодировка, чем в i2s, если не ошибаюсь
А есть ли микросхемы преобразования аудио аналогового микрофона в i2s?
Более круто, на мой вкус, делать и передавать по UDP MP3-поток, который адаптирован под особенности человеческого слуха. На входе MP3-кодера звук максимального качества, битрейт достигается степенью сжатия MP3. На выходе MP3-декодера получаем звук максимального качества -- это важно для узнаваемости "оппозиционных голосов" в эпоху зажима свободы распространения информации :)
это называется Shoutcast
Микрофоны есть аналоговые модули с полной обвязкой. Где стоит специализированная микросхема с программой задачей усиления и АРУ
Алексей, добрый день.
Если использовать только приёмник в качестве Интернет-радио, то какая частота дискретизации доступна будет?
Идея из ESP32+Max98357 сделать интернет радио :)
интересно, а готовые модули с Али на 433мГц если использовать для передачи ? получится ли сделать простую цифровую радиостанцию ?
получится, даже чуть лучше, без задержек на wi-fi
@@stm32f Да вроде в видосе задержек заметных и не заметно
@@ELFMEDIA наверно да, тут скорее неудобство в установке соединения, а ISM модуль сразу готов к работе
В телефонии использовалось 12 бит с компрессией в 8 бит по A-закону и без перегрузок.
Частота дискретизации 8 кГц.
Если нет переприёмов, то качество очень хорошее.
Добрый день! Я эксперементировал с STM32 - там сигнал должен буферизироваться и воспроизводиться по кругу с помощью DMA.На частоте 8кГц артефакты отсутствовали - внешний ЦАП на плате (он же УНЧ) имеет встроенный цифровой фильтр, ПРи записи и сжэмплировании 8КГц на вход АЦП не должно приходить сигналов с частотой более 4 кГц. Иначе будут артефакты
8:14 -- могу рекомендовать делать константами или даже constexpr неизменяемые данные, а так же выделять память через new хотябы... -- а еще лучше через использование std::vector и подобное.
а dsp преобразователя не было?
В ESP32 есть пара АНАЛОГОВЫХ ЦАПов типа R2R, так что не надо выдумывать, что там ЦАПы сделаны на ШИМе. Это вам не AVRка.
Вообще компрессор не делает тихие звуки громче. Он делает громкие тише. А вот прибор под названием левеллер делает тихие звуки громче, а громкие тише. Это можно называть АРУ.
а можно исходники на гитхаб?
Наскольео понимаю, в результате получится что то похожее на станции системы "волновая сеть"
Игонин решил подвинуть конкурентов?))))))
Это типа сип телефон?
Качество ужасное, как по мне, как будто микрофон пальцем прижали.
А есть возможность снять чистое аудио с микрофона?
😊
Смысл через вай-фай передачи, есть. можно создавать аналог Скайпа или Дискорда, если на одной из сторон "белый" айпи, или через сервер с "белым" айпи. То есть можно сделать общение вообще между любой точкой мира.
Можно и без белых айпи, можно через NAT, можно даже p2p пробивая NAT через STUN-сервер
@@trapwalker Я про сервер и говорил, но если у обоих NAT и нет сервера, то не получится.
👍
Я понял, а может не понял...
4кгц=(Ч.Д.=8кгц)=4кбит/сек;
8кгц=(Ч.Д.=16кгц)=8кбит/сек; Скорость передачи Max
Навороченная радионяня? :)
Идея, Вашей разработки понятна, но она не может быть массовой, ёмкость яЛоры мала, она для телеметрии, для, устройств, передающих единицы байт в час. В пустом канале Вы что-то сможете, но неколько станций будут иметь слишком много коллизий. Просто оцените пропускную способность всей Лоры и трафик одной рации.
А какая информационная ёмкость радиочастоты, скажем, 433 мГц по максимуму без сжатия?
433 мГц === 430 кбит/сек или 4300 кбит/сек ???
@@gc4mvпри этом пострадает чувствительность. Так что при такой скорости связь будет на 100м.
@@wirtdonners4212 Да. И ещё надо будет расширять полосу частот, как у Вай-Фая 2,4гГц = 20÷40÷80 мГц. А места нетути.
Радиофакультет МАИ это очень мощно!
Тест дальности связи планируется?
Был тест с анализом потерянных пакетов
...нужен эксперимент передачи аудио сигнала с выхода трансивера на наушники с блютуз при помощи разных блютуз трансмиттеров...
Проверьте микрофон , по даташиту он вроде только 24 бита выдаёт , переключение в 16 не предусмотрено , поэтому у Вас искажения появляются . В теории WS фронт отрежет лишнее, но как это воспримет контроллер микрофона непонятно . Такие вещи надо осцилографом поглядеть , или хотябы дамп фреймов с передатчика проанализировать , сгенерировав синусоиду .
Нет компрессии и нет от знаний выхлопа в виде готового прибора и поэтому товарищи строили шарашки чтобы был выхлоп в виде прибора
Сжатие надо, такое, чтобы ESP32 потянула.
Чем сжимать mpeg или aac по Вашему? 😁😁😁
Алексей, здравствуйте! Может сейчас достучусь до Вас. Тема: сравнение ft 3000 c ft 101, как всегда через тумблер. Интересно будет не только мне, но и всей нашей братии.Скоро на пенсию. "Кот в мешке"мне не нужен. Благодарю.
Эти эксперименты не дают точно понять ,что хуже работает. Усилитель или микрофон. Нужно использовать на одной стороне что то проверено качественное, эталон.
Внимательно слежу за Вашей работой. Для меня актуальна задача передача голоса на несколько км в диапазоне 2,4 GHz. В сети появилось видео, в котором на базе чипа NRF24 данные передаются на несколько км с битрейтом 250 kbps, 1 kbps и 2 kbps. О размере буфера ничего не говорится, (задам вопрос автору), но мне кажется, если увязать Вашу разработку с возможностями этих модулей, то должен получиться весьма неплохой результат.
Интересует Ваше мнение.
Большое спасибо за видео!
Да, и видео: (задал Вам вопрос по нему в другом Вашем видео) th-cam.com/video/HMkH7Mvk6C8/w-d-xo.html
Телефон в качестве точки доступа. Рация на ESP32 коннетится через Wireguard на внешний сервер(например микротик), передача ведётся между теми узлами, которые маршрутизируются на микроте... это просто офигеть как удобно. Связь можно намутить на любом расстоянии, в любой точке мира где есть wifi. канал зашифрован, прослушать невозможно. Трафика жрёт копейки
Причем здесь микротик?
@@tree-service Это его идеей осенило. =)
Если у вас есть телефон то не нужно раздавать с него wifi, можно программу прямо на нем.
Тут идея а отдельном устройстве независимом
@@xaxaphone именно идея в отдельном устройстве, телефон для таких целей при определенных типах работ показал себя не с лучшей стороны
@@tree-service Удобный же)
У некоторых ютуберов и без ESP32 такой голос.
На 10:20 опять Алексей повторяется. Да что ж такое? Мы что склерозники или у нас проблемы с памятью? Как это уже надоело....
Это уже он склерозник, похоже.
Голос как в микро сдикс, трансивере
Даже на видео слышен высокочастотный свист (возможно, как раз16кГц).
слышен, но это, скорее, восемь
"We are the robots"
Такие тембры интересные. Просто находка для синти-поп вокала.
Народ, как изолировать телефон от радиоволн???? Пробовал в толстостенной кастрюле с заземлением, ни хера не получается, волна проходит хоть и немного падает. У кого-то есть такая практика, а не теория???
Кастрюля должна быть из не магнитного материала. Алюминий,медь.
Нужно нагреть телефон в микроволновке...
@@sergeirepin7420 кастрюля была алюминиевая.
@@user-xz4all "бороду то я сброю, а умище куда деть"?
@@gribnaypolyna9833 наплодили вас нейроботов...
Так много объяснений... всё видео можно было в 5 минуту сделать, кто программы писать не умеет, тот и не научится сколько не обясняй, а кто шарит тем вообще так разжёвывать ненужно...
Ой, вот вечно все эти недовольные. Поставьте двойную скорость.
"кто программы писать не умеет, тот и не научится сколько не обясняй" - а вы прямо с рождения умели, или научились со временем?
Канал тональной частоты 0,3 - 3,4 кГц