Как стать автором
Обновить

Как уязвимость в Яндекс.Станции вдохновила меня на проект: Музыкальная передача данных

Время на прочтение3 мин
Количество просмотров25K
Всего голосов 118: ↑117 и ↓1+116
Комментарии56

Комментарии 56

Идея передачи настроек сети была у Amazon Dash. Возможно в Яндексе вдохновлялись с неё. И передача звуком была сделана для простоты и надёжности. Потому что динамик точно есть на любом, даже самом ужасном смартфоне и его точно хватит. А блютус, даже если не глючит, ещё надо спарить и настроить.

А блютус, даже если не глючит, ещё надо спарить и настроить.

NFC вроде и придумывали чтоб решить эту проблему

Но он есть не везде.

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

Ну тут все равно получается так себе. Во первых сразу отсекаются iOS пользователи, сколько не обещает Apple, но к NFC доступа так никто и не получил. Во вторых не так впечатляюще как со звуком. Плюс требует модуля NFC в колонке, а зачем он там нужен ради единственного раза сопряжения.
стоит объявить конкурс на самую приятно звучащую фразу)
Пжалста!
Ввод цитаты из поста заставил скрипт задуматься, а потом выдать недурственный трек.
Попробуйте сами
Я использую utf-8, а значит кириллические символы и даже эмодзи тоже можно передавать. Посылки с ними получаются длиннее, так как на каждый такой символ приходится больше 1 байта.
Не знаю почему, но мне очень понравилось.

Спасибо! Очень приятно)

Надо теперь пропустить стихотворения через данный способ передачи данных. И наоборот, попытаться найти такой набор символов, который будет «передаваться» какой-то знаменитой мелодией =)
НЛО прилетело и опубликовало эту надпись здесь

Подобрал пару мелодий. В ответе на комментарий выше

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

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

Передавать можно только по одной ноте за раз? Целым аккордом нельзя, случайно? Подучился бы очень мелодичный «модулятор» ;)

Интересная идея! Тоже думал про комбинации нот и аккорды, как возможное направление развития :)

Приятно звучат не любые интервалы, а консонансы, из "сигнального созвездия" много точек "выкладывается"

Аккордом из 8 нот можно будет передать 1 байт.
А ещё можно попробовать сделать более мелодично, расставив значения по, например, терциям:

image

Попробуйте?
Плюсую вопросу
Я недавно написал статью про применения: habr.com/ru/post/468951 Конечно, там у меня другой тип кодирования, не столь мелодично. Но практично. Декодирование происходит на PIC16 8MIPS, сейчас переписываю на ASM для целевого 2 MIPS контроллера. Декодер без умножения и деления. К сожалению, из за нехватки времени пока не дописал продолжение статьи. Макет — 4.1 байта / сек, Сигнал / шум 1:1. Широтно-импульсное кодирование, FM модуляция. WEB демка тоже готова. Так же «передатчик» переписывал с python на js, хоть ни то ни другое не знаю…

зашел в камменты, чтобы найти именно этот

Напомнило загрузку игр с ленты в Спектрум.

Насколько помню в ZX Spectrum и клонах использовалась именно частотная модуляция. В ПК того времени также применяли фазовую модуляцию, она эффективнее в передаче данных, но не звучит так красиво )

Ну и еще приемникам таких передач стоит всегда воспринимать такой ввод как недоверенный. А то услышит он в один прекрасный день такое приятное и мелодичное "'; DROP T ABLE users; --".

P.S. [paranoid] Воткнул пробел посреди ключевого слова… мало ли. [/paranoid]

Напомнило тональный наборы телефоне. И да, там частотная модуляция.

Можно попробовать цифры расположить по блюзовому ладу, а не только по белым клавишам. Думаю очень круто звучать будет :)
Пока эти станции по своему спектору особо и не нужны

Идея не нова. Сюжет старого фильмы про супер героя HiMen'а. Там был звуковой ключ от очень важного портала, и тот ключ враг героя злодейски уничтожил… но героя выручил школьник с синтезатором. Сумел подобрать правильные аккорды ;)

sample
тут можно пойти в сторону программирования музыки на естественном языке и вспомнить проект sonic-pi

Подбирать музыку для брендов на основе этого было бы классно. Только вот если вдруг станция услышит закодированную таким способом команду купить кукольный домик с доставкой, будет не очень :D


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


Интересно, если включить какую-нибудь музыку, приемник распознает какие-нибудь символы?
С телефона, кстати, "щёлкает" звук, не получилось до конца избавиться от эффекта

Передача данных звуком? Все уже было придумано до нас )


А чего никто азбуку морзе не вспомнил? Вполне мелодично…

У меня уже давно есть идея по созданию приложения, которое могло бы транслировать звук (тот самый, который выводится на динамики) с одного компьютера на другие в сети. И нужно решить проблему с синхронизацией и устранением задержки. Скорее всего, решу эту проблему через звуковые сигналы, так как задержка звука меньше, чем сети (наверное). Но я вспомнил одно приложение, у honor есть аналог. Оно позволяет сонхронизировать воспроизведение музыки на нескольких устройствах. Работает это через nfc, через него передаются данные WiFi сети, а дальше классика: сервер, поток аудио. Так вот, если на устройстве нет nfc, то приложением пользоваться нельзя. Но можно же передавать информацию, например, звуком, раз уж такая технология есть.


Возможно, можно передавать информацию таким образом на фоне музыки… Будет звучать ещё лучше

vldF, имеет смысл имхо только для мощной акустики.
микрофоном контролировать синхронность прихода звуковых волн
с разных колонок в точке, где требуется лучшее звучание.
А если Вы расставляете колонки в ряд, то
К1 — М1 — К2 — М2 — К3
то будет еще неопределенная задержка между съемом показаний M1 и M2

Звукорежиссёры в залах с распределённой акустикой обычно банальной рулеткой измеряют расстояние до вторых порталов и считают задержку.
Кириллица как раз лучше звучит чем латиница, ибо из-за повторяющегося тона больше похоже на музыку. :) Введите короткое предложение и наслаждайтесь музыкой. :) Можно таким образом в музыкальные произведения закладывать смысл.
Впрочем у именитых известных фирм, данный метод используется для защиты авторских прав на контент. Включаешь фильм или музыку, оно проигрывается несколько минут, а потом звук пропадает с характерной надписью на экране. :D
НЛО прилетело и опубликовало эту надпись здесь
А можно как нить скачать?
Хочу мелодию на звонок поставить =)
R2D2, ты ли это?
Как вариант, можно использовать такой вид передачи под водой.
Для большей благозвучности можно использовать пентатонику — например только чёрные клавиши фортепиано.

Тоже подумал про пентатонику, про мне так мелодичнее звучит. Пока до коммита руки не дошли, но можно вручную подменить массив частот на главной странице и оценить звучание :) Диезы с До-диез первой октавы до До-диез четвёртой:


freqs = {
    '0': 277.18,
    '1': 311.13,
    '2': 369.99,
    '3': 415.30,
    '4': 466.16,
    '5': 554.36,
    '6': 622.26,
    '7': 739.98,
    '8': 830.60,
    '9': 932.32,
    'a': 1108.70,
    'b': 1244.50,
    'c': 1480.00,
    'd': 1661.20,
    'e': 1864.60,
    'f': 2217.40
}
Здравствуйте! А вы не подскажите где можно ознакомиться с данной реализацией для встраиваемых систем. Я не сильно владею DSP функциями. Но мне необходимо было реализовать что-то подобное на Cortex M3 вот моя реализация youtu.be/IrZgZ6v8QrQ
кодирую все одной частотой 8500кГц, пробовал и на 11кГц, но на одном из старых телефонов были проблемы с 11кГц. Звук конечно так себе, хочется не двоичное кодирование применить, но у микроконтроллера не хватает мощи в режиме онлайн обрабатывать несколько полос частот. При частоте дискретизации 44кГц и применении программного ПФ 24 порядка ресурса на еще одну полосу частот не остается. Возможно вместо фильтров можно преобразования фурье применить, но я не понял как устроены быстрые преобразования фурье в CMSIS библиотеке
А мне подумалось про озвучку для слепых. Но… Внимание, Осторожно, Свободно, Стоп…
Звучит очень похоже, надо видимо «один и тот же байт адресации» как-то упразднять или разносить гласные и согласные по разным октавам, терциям, чтобы появились явные различи я в мелодиях.
Krupnikas
Интересная идея)
Но я думаю, что для такой задачи лучше подойдет Text To Speech.
так мы же в рамках «сделай мне красиво» :), если нам это интересно слепым это может быть более актуально у них слуховой аппарат лучше развит и лучше под это заточен. Мелодия может быть более универсальной и на слух может её будет проще воспринять чем текст, чтобы продолжить песню нам достаточно пары аккордов и дальше мы сами выстраиваем её в голове. Так ключевые фразы в полне могут быть заменены, но по хорошему это исследовать надо ). Вместо зумера на светофорах слышать мелодичные уведомления ))) будут более приятно.
А мне вот интересно стало… Насколько реально научиться читать такое на слух? )
Честно говоря, пока я отлаживал демку, научился отличать некоторые «фразы» на слух. Так что думаю, вполне реально — вопрос времени и мотивации)

"Non-wireless", думаю, относится только к проводной передаче.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации