MrSyabro
генерировать raw в 1 квадратике :) смешивать в 4-ом
Основной Вопрос, как раз, в генерации звука
MrSyabro
Я же в raw не кину 1 и Бетховен не заиграет
romanetz
ёёё..... буфер для i2s -это массив отсчётов для двух стереоканалов по-очерди
romanetz
LRLRLR... формат обычно int16
Andy
Основной Вопрос, как раз, в генерации звука
Хочется именно генерацию, кусок во flash пойдет? https://github.com/espressif/esp-adf/tree/master/examples/player/pipeline_flash_tone
romanetz
ну и соответственно {MAX_SHORT,0,MAX_SH0RT,0,MIN_SHORT,0,MIN_SHORT,0} в левом канале выдаст меандр частоой Fs/4
MrSyabro
Хочется именно генерацию, кусок во flash пойдет? https://github.com/espressif/esp-adf/tree/master/examples/player/pipeline_flash_tone
Просто не хочу обычным писком забивать несколько килобайт памяти флешки, если его можно обычной формулой сгенерировать
romanetz
ну так генери формулой ) синус, хотя бы
romanetz
или меандр
romanetz
меандр проще всего получить из синуса, взяв его знак
Andy
Просто не хочу обычным писком забивать несколько килобайт памяти флешки, если его можно обычной формулой сгенерировать
Тут от задачи зависит, если есть резерв cpu, то можно и генерировать, но возни не меньше чем с куском из flash
romanetz
синус - если оптимизированный - по LUT таблице берётся плюс интерполяция по трём соседним точкам, там точность довольно высокая
romanetz
в библиотеке math оно уже всяко-разно хитромудро считается
MrSyabro
меандр проще всего получить из синуса, взяв его знак
Я до сих пор не понимаю, что из себя представляет raw буфер, и как мне в него записать циферку, что бы получить звук
romanetz
можно квадратурным осциллятором, там две цифры посчитать, потом 2 разностных уравнение - тоже много не съест
MrSyabro
Это для меня новая тема, так что не сердитесь 😅
MrSyabro
Ого, я там мозг сломаю
romanetz
на стмке и линуксах делал, а тут - хз
romanetz
но принцип тот же
MrSyabro
Кстати.. разве esp_periph_stop(wifi_handle) не должен остановить вайфай? 🤔
MrSyabro
но принцип тот же
Все просто до безобразия и сложно, одновременно, во всяком случае для мен
MrSyabro
Я понимаю как выглядит синусоида, как ее получить и т.д., понимаю, как пропихнуть буфер данных в dac, но пока в этих знаниях четкой связи не вижу 🙄
Andy
Кстати.. разве esp_periph_stop(wifi_handle) не должен остановить вайфай? 🤔
https://docs.espressif.com/projects/esp-adf/en/latest/api-reference/peripherals/esp_peripherals.html?highlight=esp_periph_stop#_CPPv415esp_periph_stop19esp_periph_handle_t
Andy
Я понимаю как выглядит синусоида, как ее получить и т.д., понимаю, как пропихнуть буфер данных в dac, но пока в этих знаниях четкой связи не вижу 🙄
Возможно имеет смысл сначала научится кусок из flash или еще откуда смикшировать с основным потоком, затем уже взяться а генератор
MrSyabro
Ничего там страшного не вижу 🤷‍♂
MrSyabro
Пример то есть, мне этого достаточно
MrSyabro
Дьявол кроется в деталях :)
Например разные частоты дескретизации a2dp, raw и downmix?
Andy
Например разные частоты дескретизации a2dp, raw и downmix?
Возможно, тут надо конкретную архитектуру программы смотреть :)
MrSyabro
Вообще в основе пример a2dp_pipeline_sink
MrSyabro
С вырезанным HFP
MrSyabro
Чи как там его
MrSyabro
HPF 🤔
MrSyabro
Как поменять протокол с sbc на aac?
MrSyabro
Там инициализация a2dp в 3 строчки проходит
MrSyabro
Все остальное в фоне библиотеки, а как ей сказать, что бы она aac использовала, не нашел
MrSyabro
Собственно вот мое средотчие говнокода: https://gitlab.com/MrSyabro/syabrospeaker/-/blob/ota/main/main.c
MrSyabro
В этот "проект" я хочу добавить звуки
MrSyabro
и вместо sbc - aac
MrSyabro
В смысле добавить читалку в квадратик 2?
Нет, использовать AAC для передачи звука по блютузу
Andy
Нет, использовать AAC для передачи звука по блютузу
нипонятно :(. Куда конкретно в конвейере?
MrSyabro
посмотри A2DP пример, там не такой конвейер
MrSyabro
там a2dp -> i2s
Andy
посмотри A2DP пример, там не такой конвейер
конечно не такой, это чисто для примера. Какой конкретно смотреть надо, но это время, а я типа на работе :)
MrSyabro
Почему в стандартных аппи esp-adf с ее системой переферии нет функций, оторые отключают wi-fi?
MrSyabro
А мне требуется всего то при отключении от блютуза устройства, проверить, можно ли подключится к wifi роутеру и, если можно, бновиться, а, если нельзя - отключить wifi до следующего переотключеия bt
Dr Zlo
потому что esp-adf занимается только звуком (audio development framework) и базируется на esp-idf (IoT development framework) в котором эти функции есть
Dr Zlo
не мешай апельсины и свиней
MrSyabro
не мешай апельсины и свиней
Тогда нахрена у свиней апельсиновые сиськи?
MrSyabro
Зачем в ESP-ADF фенкции для старта wifi?
MrSyabro
но нет функций для его остановки?
Dr Zlo
но нет функций для его остановки?
потому что упрощениями обмазано, наверное
MrSyabro
Ага
MrSyabro
Вот об этом я и говорю
MrSyabro
Есть упрощения что бы запустить
MrSyabro
Но нет, что бы остановить
MrSyabro
Хотя остановить уже получилось, но не уверен, что он дальше стартует после этого 🤔
MrSyabro
esp_periph_stop(wifi_handle); esp_periph_destroy(wifi_handle);
MrSyabro
Вроде так останавливается
Andy
esp_periph_stop(wifi_handle); esp_periph_destroy(wifi_handle);
Товарищ вот так можно в документации искать:
MrSyabro
Товарищ вот так можно в документации искать:
Я в курсе, но это прекращение мониторинга
MrSyabro
А не остановка переферии
Andy
Я в курсе, но это прекращение мониторинга
эмм, что ты привел в вопросе то я и скопировал :) Почему ты решил что это остановка wifi мне не понято
MrSyabro
Потому, что оно так работает
Andy
Потому, что оно так работает
Без понятия :) Если написано мониторинг, то я им импользуюсь. А если нужно управлять wifi идем сюда: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html
SAEID
8-Layer PCB
Dr Zlo
А подскажите как проще всего сделать приложение на телефоны (android + ios) для управления еспшкой?
Dr Zlo
Блинк знаю, оно платное
romanetz
Qt?
romanetz
)
Андрей
Android Studio + Kotlin