Jump to content

Аудио ЦОС для микроконтроллеров, С-С++, найти библиотеки


VIP-DIP
 Share

Recommended Posts

Нужны библиотеки языка "C"-"C++" для "ЦОС" (цифровой обработки сигналов или DSP). Подойдут любые доступные в интернете (как пропатченные платные, так и бесплатные). Так-как в широких пределах "ЦОС" применяется не только для аудио, уточню, что я ищу именно специализированные по аудио сигналам. Ознакомился с "MPLAB Harmony" и не обнаружил в нем искомых фильтров. Действительно ли их там нету? Ищу, например: декодер из стерео в многоканальный звук 7.1, виртуальное позиционирование динамика, временная задержка, вращение фазы, фазовый эквалайзер, фазовая инверсия.  

1. Какие для этого есть фреймворки, SDK, отдельные библиотеки?

В библиотеке "Advanced Audio Coding" (AAC) есть некоторые обработчики для многоканального звука. Но нашел только платную версию.

2. Где бы взять AAC бесплатную или пропатченную платную?

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

Работал в C++ на начальном уровне под виндовс. ЦОС до этого не программировал. 

Английские ученые доказали что аудио-филы быстро начинают быковать.

Link to comment
Share on other sites

Официальный источник просит деньги: The AAC Decoder Library is a premium product and is not included in the standard release of MPLAB Harmony and must be purchased separately: https://ww1.microchip.com/downloads/en/DeviceDoc/Decoder Libraries_v111.pdf . Что делать, - бросать затею? Может быть, напишите совет по "CMSIS DSP" - почему не обнаружил в нем декодера "Dolby"?

Не знаю почему в теме молчание, неужели никто не писал код для DSP?

Английские ученые доказали что аудио-филы быстро начинают быковать.

Link to comment
Share on other sites

08.11.2021 в 16:04, VIP-DIP сказал:

Нужны библиотеки языка "C"-"C++" для "ЦОС" (цифровой обработки сигналов или DSP).

Для начала опиши, как именно ЦОС нужна.

 

08.11.2021 в 16:04, VIP-DIP сказал:

декодер из стерео в многоканальный звук 7.1, виртуальное позиционирование динамика, временная задержка, вращение фазы, фазовый эквалайзер, фазовая инверсия.

На микроконтроллере? Серьезно? А вообще есть понимание, что такое микроконтроллер? Да и смысл делать 7,1 из стерео? С реальностью оно никак не будет связано. Да и чем не устраивают готовые аудиопроцы?

 

08.11.2021 в 16:04, VIP-DIP сказал:

Работал в C++ на начальном уровне под виндовс.

Оно и видно.

Link to comment
Share on other sites

Приглашаем на вебинар «Необычное в обычном. Сравнительный анализ современных решений Recom» (27.01.2022)

Приглашаем 27/01/2022 всех желающих посетить вебинар, посвященный двум наиболее растущим сегментам интегрированных источников питания – AC/DC малой мощности (1-20Вт) и сегменту решений PoL без изоляции. На вебинаре рассмотрим проблему выбора AC/DC в бюджетном сегменте и концепцию тестирования ускоренного старения, проведем сравнительный анализ подходов к интеграции AC/DC модулей. Сделаем обзор решений концепции POL с доисторических времен до современных технологий и средств для разработки и тестирования.

Подробнее

9 минут назад, BARS_ сказал:

Для начала опиши

Описал ЦОС, которые хочу получить. И еще к ним компрессор. 

08.11.2021 в 15:04, VIP-DIP сказал:

Ищу, например: декодер из стерео в многоканальный звук 7.1, виртуальное позиционирование динамика, временная задержка, вращение фазы, фазовый эквалайзер, фазовая инверсия.

 

18 минут назад, BARS_ сказал:

А вообще есть понимание, что такое микроконтроллер?

MCU - не микроконтроллер? Производитель предоставляет библиотеки для работы со звуком, значит применение уместно. https://www.microchip.com/en-us/solutions/consumer/audio-and-speech/audio-solutions/aac-mp3-flac-wave-opus-wma-adpcm-and-speex-decoders

Смысл: как минимум это распространено. Готовые аудио-процессоры без тех обработчиков что я ищу. 

Английские ученые доказали что аудио-филы быстро начинают быковать.

Link to comment
Share on other sites

Решения Infineon для беспроводного электроинструмента с бесщеточными электродвигателями

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

Подробнее

21 минуту назад, VIP-DIP сказал:

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

Ну вообще-то по ссылке либы декодеров сжатого аудио. Никакого отношения к ЦОС они не имеют

 

22 минуты назад, VIP-DIP сказал:

Смысл: как минимум это распространено. Готовые аудио-процессоры без тех обработчиков что я ищу. 

Ну а МК этого не потянет. Даже простой вывод аудиопотока на 8 ЦАПов вряд ли будет работать. Ставь одноплатный ПК и качай софтовые обработчики звука. Только будь готов к задержкам в обработке.

Link to comment
Share on other sites

Стандарт LoRaWAN и его использование в России с контроллерами STM32WL

Стандарт сетевого уровня LoRaWAN технологии LoRa одобрен для применения в России и отвечает требованиям региональных сетевых операторов. Компания STMicroelectronics выпустила линейку беспроводных однокристальных контроллеров серии STM32WL c поддержкой модуляции LoRa. Серия STM32WL имеет цифровые и аналоговые периферийные устройства для приложений, требующих высокой энергоэффективности и возможностей связи на достаточно большие расстояния, подходя для широкого спектра промышленных и потребительских приложений.

Подробнее

@VIP-DIP С такой постановкой вопросов у вас сейчас всего 3 пути.

- Найти и купить готовое

- Найти человека седлающего это за вас.

- Подтягивать теорию и матчасть. Сейчас у вас ее КАТАСТРОФИЧЕСКИ недостаточно.

25 минут назад, VIP-DIP сказал:

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

Вы видимо "привыкли кодить" на больших компьютерах, в микроконтроллерах вам ПРИДЕТСЯ учитывать ресурсоемкость алгоритмов.

Жизнь не белая или чёрная, а в мелкую серенькую полосочку...

Link to comment
Share on other sites

Разработка преобразователей на основе карбид-кремниевых приборов с помощью симулятора SpeedFit 2.0

Компания Wolfspeed разработала бесплатный онлайн симулятор SpeedFit 2.0, позволяющий разработчикам быстро и всесторонне оценить параметры основных процессов, происходящих в силовой части импульсных преобразователей электрической энергии, и сравнить между собой различные варианты реализации поставленного технического задания.

Подробнее

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Сообщения

    • Даже здесь на форуме где то темы о электронных транформаторах, их переделках, доработках.
    • Эстрада широкополосная она не бассит а панчит. 
    • с такой как на схеме частотозадающей обвязкой (1к+1к+10нФ) максимальный Кзап на выходе 555 не превысит 0,66, выходное напряжение в режиме непрерывного тока дросселя, будет 5,8/(1-0,66)=17В. Моделирование это подтверждает. 
    • Мне тут иногда пишут по поводу решения этой задачи. Поэтому Апну тему: Научился я работать с обычными приемниками . Нужно просто грамотно подойти к решению задачи. Микроконтроллер должен определять наличие старт последовательности (если попали в интервал) . После обрабатывать битовый поток (если попадаем в интервал). Моя реализация очень хорошо работает , и принимает команды на довольно большой дальности. Ложных срабатываний нету, и плохого обучения команд. Все обработки команд и их прием работает четко!  Пример фиксации старт последовательности (алгоритм работает с любыми пультами на 433мГц ) : switch(state) { case 0: timer_cnt=TIMER->CNT=0; DATA_RX[0]=0; if((RX_IN)==0)// считаем первый захват . Предположительно это стартовый сигнал низкого уровня {state=1;} break; case 1: // если насчитали подходящее число - фиксируем старт условие if(RX_IN) { if(TIMER->CNT>2000 || timer_cnt) // если больше 2мс. то словили старт условие { timer_cnt=TIMER->CNT=0; state=2; code=1; } else { code=2; state=0; // если не попали в интервал - сброс } } break; case 2: ... ... Пример обработки битового потока (работает на любых пультах 433мГц) : case 2: if((RX_IN)==0) { if(TIMER->CNT>90 && TIMER->CNT<1800 && timer_cnt==0) // ограничиваем диапазон 90мкс - 1800мкс { BIT_TIME[0] = TIMER->CNT; timer_cnt=TIMER->CNT=0; state=3; code=3; } else { //BIT_TIME[5]=state; //BIT_TIME[6]=TIMER->CNT; code=4; state=0; // если не попали в интервал - сброс } } break; case 3: if(RX_IN) { if(TIMER->CNT>90 && TIMER->CNT<1800 && timer_cnt==0) // ограничиваем диапазон 90мкс - 1800мкс { BIT_TIME[1] = TIMER->CNT; if(BIT_TIME[0] > (BIT_TIME[1]+BIT_TIME[1])) DATA_RX[0] |=(1<<25); DATA_RX[0]>>=1; timer_cnt=TIMER->CNT=0; state=4; code=5; } else { //BIT_TIME[5]=state; //BIT_TIME[6]=TIMER->CNT; timer_cnt=TIMER->CNT=0; code=6; state=0; // если не попали в интервал - сброс } } break; default: if(TIMER->CNT>90 && TIMER->CNT<1800 && timer_cnt==0) // ограничиваем диапазон 90мкс - 1800мкс { if((RX_IN)==0) { BIT_TIME[2] = TIMER->CNT; timer_cnt=TIMER->CNT=0; state++; } else { if(TIMER->CNT > (BIT_TIME[2]+BIT_TIME[2])) DATA_RX[0] |=(1<<25); DATA_RX[0]>>=1; timer_cnt=TIMER->CNT=0; state++; code++; } if(state>48) // если набрали нужное количество бит { DATA_RX[1] = DATA_RX[0]; BIT_TIME[3] = BIT_TIME[0]; BIT_TIME[4] = BIT_TIME[1]; code=250; } if(state>35) { if(RX_IN){LED_ON;} else{ LED_OFF;} } } else { BIT_TIME[5]=state; BIT_TIME[6]=TIMER->CNT; state=0; // если не попали в интервал - сброс code1++; } if(state>48) // если набрали нужное количество бит { DATA_RX[1] = DATA_RX[0]; BIT_TIME[3] = BIT_TIME[0]; BIT_TIME[4] = BIT_TIME[1]; code++; } break; } Универсальный протокол обработки команд с ДУ . С функцией обучения пультов.   Полный работчий код для микроконтроллера STM32F030F4P6:    
    • Дубовые, чуйка тормозная, ЗЯ и D с ИИП немного ускоряют, но не достаточно для монолитного звуковового в Дб. Есть исключения - "лопухи" с легким подвесом, тот же ширик можно до 5000
  • Similar Content

    • By akva
      Народ помогите разобратся с выводом изображения на цветной дисплей от видеоискателя видеокамеры панасоник NVR 2000, схема есть куда припаять питание и виеовход
      NV-R50_NV-R500.pdf
    • By Evgeny_VG
      Добрый день,
       
      Подскажите, пожалуйста, есть ли известные алгоритмы для восстановления выпрямленного сигнала обратно в синусоидальный? (скрин во вложении).
      Сигнал дальше идет на цифровой фильтр для сглаживания, частота стандартная 50 Гц, амплитуда от 20 мВ до 3 В.
       
      Буду очень признателен за советы.

    • Guest mrRobot
      By Guest mrRobot
      Добрый день! Был бы признателен, если бы кто нибудь подкинул любые источники информации на тему жизненного цикла микроконтроллеров. Книги, статьи, что угодно - лишь бы освещались данные пункты:
      Описание этапов жизненного цикла изделия (микроконтроллеров) и средств автоматизации, применяемых на данных этапах. Анализ взаимодействия средств автоматизации внутри каждого этапа и между этапами. Заранее спасибо!
    • By DFRobot
      Что может быть проще Arduino IDE!
      Для разработки под ESP32 (ESP-WROOM-32) есть множество различных платформ. Но, если в некоторых ситуациях использование Linux или cygwin под Windows может отпугнуть новичков, то простой и дружественный интерфейс Arduino IDE окажется как нельзя кстати. Ниже рассмотрим по шагам, как её адаптировать для программирования ESP32.
      1. Добавляем URL-адрес платы в Arduino IDE .
      Открываем Arduino IDE (у меня версия 1.8.0). Если у вас она не установлена, то инструкцию по установке можно найти здесь. 
      Далее выбираем Файл -> Настройки и нажимаем на кнопку “Дополнительные ссылки для менеджера плат”, как показано ниже.

       
      В появившемся окне вводим адрес:   https://git.oschina.net/dfrobot/FireBeetle-ESP32/raw/master/package_esp32_index.json и видим :

      После завершения нажимаем ОК.
      2. Обновляем список плат.
      Когда URL платы ESP32 (ESP-WROOM-32) добавлен, обновим список плат, чтобы через Arduino IDE загрузить необходимые библиотеки ESP32 (ESP-WROOM-32).
      Открываем Инструменты -> Плата: “Имя платы” -> Менеджер плат,

       
      и их список должен автоматически обновиться:

       
      3. Установка ESP32 (ESP-WROOM-32).
      Как только обновление завершится, найдём свойства платы FireFly-ESP32 Mainboard.

       
      Выбираем “FireBeetle-ESP32 Mainboard” и жмём “Установить”. Менеджер автоматически скачает необходимые библиотеки.


       
      4. Компилируем программу мигания светодиодом.
      Когда библиотеки установлены, можем, наконец, загрузить тестовую программу. Открываем Инструменты -> Плата, выбираем из списка Firefly-ESP32:

      Внимание: проверьте, что Вы выполнили все шаги, описанные выше. Если Вы не установили плату ESP32 (ESP-WROOM-32), то в списке её не окажется!
      Открываем Файл -> Примеры -> Basics -> Blink:

       
      И жмём  , чтобы запустить компиляцию.

      Готово!
       
      У DFRobot есть много других обучающих статей по ESP32 и готовых проектов на основе ESP32.
    • By Leonids Dislovojs
      Здравствуйте уважаемые техники, мой вопрос может показаться многим глупым, но я учусь в Латвии на мехатроника, знаю необходимые формулы и умею проводить расчеты, но я не понимаю, по моему, самого важного, при построении печатных плат с микроконтроллерами (в основном atmega328) я не знаю по какому принципу, где, когда и почему нужно добавлять конденсаторы, зачеты сдавал только благодаря копированию конденсаторов с платы Ардуино на свою, все работает но долго схемы копировать я не смогу.
      Можете, пожалуйста, посоветовать какую нибудь литературу или хотя бы простой принцип что бы понять принцип добавления конденсаторов (да и резисторов) в схему при том, что в схеме есть микроконтроллеры, например: сейчас я проектирую схему с участием atmega328 и sx1278, программу написать могу, плату развести могу, но куда и какие элементы ставить, мне не понятно. 
      Спасибо.
       
×
×
  • Create New...