Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Хор невольниц из оперы «Князь Игорь» разпознает FPGA плата. Без микропроцессора, DSP и FFT. Вообще без программирования

Математика *FPGA *Программирование микроконтроллеров *Учебный процесс в IT Электроника для начинающих

Сегодня молодой ученый из МФТИ Виктор Прутьянов отлаживал с преподавательницей флейты Марией Беличенко электронную схему, которая распознает мелодии. Упражнения по проектированию таких схем будут выполнять в среду старшие школьники и младшие студенты на проходящей в Сколково "Школе синтеза цифровых схем".

Это не программирование - на плате, которая видна на видео, вообще нет микропроцессора который мог бы выполнять программу. На ней стоит микросхема ПЛИС, матрица реконфигурируемых логических элементов. ПЛИС используют для обучения, например в курсе 6.111 от Массачуссетского Технологического Института, который выпускает будущих разработчиков чипов в смартфонах, автомобильной и космической электронике. Виктор Прутьянов вместе с студентов Сколтеха Владиславом Молодцовым Поставили такой курс в МФТИ.

Если вы хотите познакомиться с математикой музыки, или методами проектирования электроники на уровне регистровых передач (Register Transfer Level - RTL) с помощью синтеза схем, описанных на яхыке описания аппаратуры Verilog, вы можете бесплатно присоединиться к занятиям онлайн (офлайн места в Сколково уже все разобраны к сожалению).

Если вы при этом еще и пройдете роснановский онлайн-курс "Как работают создатели умных наночипов", то вам пришлют вот такую плату как в видео бесплатно (это предложение касается только школьников, преподавателей и руководителей кружков).

Как распознавать музыку голым железом:
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 2.7K
Комментарии 14

Голосовое управление: цифровая обработка сигналов на 8-битном AVR при помощи жесткого ассемблера

DIY или Сделай сам
Итак, пришло время рассказать кое-что поинтереснее простых поделок на АВРках. В этой статье я расскажу, как собрать на АВР устройство, выполняющее достаточно серьезную обработку аудио-сигнала с целью распознания голосовых команд.
Читать дальше →
Всего голосов 99: ↑96 и ↓3 +93
Просмотры 16K
Комментарии 30

Distortion (waveshaping) эффекты в Max/MSP

Звук
Из песочницы
Дисторшены используются для добавления гармоник к исходному звуку. В большинстве случаев для этого используются вэйвшэйперы, Я говорю «в большинствe», потому что гармоники можно добавлять еще с помощью, например, кольцевой модуляции (ring modulation). Итак, суть waveshaping-а заключается в преобразовании сигнала с помощью специально подобранной передаточной функции. Звучит сложно? Вовсе нет. По сути, возведение сигнала в квадрат – это тоже передаточная функция. Это вся теория, которую нам нужно знать. Приступим к патчингу!
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 3.6K
Комментарии 5

Apple приобрела Anobit

Я пиарюсь
Корпорация Apple купила израильскую стартап-компанию Anobit, которая занимается разработкой уникальной технологии флеш-памяти (DSP), за 500 млн. долларов.

Подробнее о технологии здесь.

Кроме того, на днях Apple заявила о намерении открыть в Израиле первый за пределами США центр исследований и разработок, который будет располагаться в городе Хайфа, поближе к ведущему израильскому технологическому институту — Техниону.
Всего голосов 22: ↑12 и ↓10 +2
Просмотры 442
Комментарии 4

Многоядерный процессор для беспилотников

Высокая производительность *
Перевод
За последние 10 лет беспилотные летательные аппараты (БПЛА) окончательно перешли из разряда лабораторных образцов в разряд технологий, проверенных в полевых условиях. Недавно проведенные Teal Group исследования показали, что общие сметные расходы на БПЛА удвоятся за следующую декаду с 5 млрд. долл. США в год до 11,3 млрд. в год. Ожидается, что за следующие 10 лет будет потрачено более 94 млрд. долларов. Помимо военного применения (основная ожидаемая область применения), БПЛА применяются в таких областях, как наблюдение за общественной безопасностью, контроль границ, пожаротушение, мониторинг автотрафика. Ожидается коммерческое применение БПЛА в системах связи.
Под катом тизер многоядерного DSP TMS320C6678 от TI
Всего голосов 14: ↑9 и ↓5 +4
Просмотры 3.9K
Комментарии 7

Мел-кепстральные коэффициенты (MFCC) и распознавание речи

Программирование *Алгоритмы *
Из песочницы
Недавно я наткнулся на интересную статью, опубликованную rgen3, в которой описан DTW-алгоритм распознавания речи. В общих чертах, это сравнение речевых последовательностей с применением динамического программирования.

Заинтересовавшись темой, я попробовал применить этот алгоритм на практике, но на этом пути меня поджидало некоторое количество граблей. Прежде всего, что именно нужно сравнивать? Непосредственно звуковые сигналы во временной области — долго и не очень эффективно. Спектрограммы — уже быстрее, но не намного эффективнее. Поиски наиболее рационального представления привели меня к MFCC или Мел-частотным кепстральным коэффициентам, которые часто используются в качестве характеристики речевых сигналов. Здесь я попытаюсь объяснить, что они из себя представляют.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 65K
Комментарии 9

Вейвлет-сжатие «на пальцах»

Обработка изображений *
Tutorial


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

Попробуем на простых примерах разобраться, откуда же вообще берутся вейвлеты и как их можно использовать при сжатии. Предполагается, что читатель знаком с основами линейной алгебры, не боится слов вектор и матрица, а также умеет их перемножать. (А во второй части даже попробуем что-то запрограммировать.)

Читать дальше →
Всего голосов 169: ↑168 и ↓1 +167
Просмотры 162K
Комментарии 58

IP-телефония: от медных проводов до цифровой обработки сигнала

Блог компании Promwad Разработка систем связи *Производство и разработка электроники *


Если в один прекрасный день вам придется на скорую руку разобраться, что есть VoIP (voice over IP) и что значат все эти дикие аббревиатуры, надеюсь, эта методичка поможет. Сразу замечу, что вопросы конфигурирования дополнительных видов обслуживания телефонии (такие как перевод вызова, голосовая почта, конференц-связь и т.п.) здесь не рассматриваются.



Итак, с чем мы будем разбираться под катом:
  1. Базовые понятия телефонии: типы аппаратов, схемы подключения
  2. Связка SIP/SDP/RTP-протоколов: как это работает
  3. Как передается информации о нажатых кнопках
  4. Как происходит передача голоса и факсов
  5. Цифровая обработка сигналов и обеспечение качества звука в IP-телефонии

Читать дальше →
Всего голосов 28: ↑25 и ↓3 +22
Просмотры 70K
Комментарии 11

Использование DSP звуковой платы SB Live! на пользу радиолюбителей (KX Driver's) — Часть [1/2]

Звук

Эксперименты по обработке звука аппаратными средствами SB Live и их возможное применение для работы в эфире. Заметка включает в себя инструкцию по применению альтернативных драйверов KX-Project, примеры применения и выводы по возможности реального применения. Период написания статьи 2006-2007 год, размещена была на страничке ныне уже не существующей коллективной радиостанции (RK3MXH). Авторство мое.

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

Под катом очень много текста и рисунков.
Читать дальше →
Всего голосов 41: ↑38 и ↓3 +35
Просмотры 79K
Комментарии 24

Использование DSP звуковой платы SB Live! на пользу радиолюбителей (KX Driver's) — Часть [2/2]

Звук


Первая часть: Использование DSP звуковой платы SB Live! на пользу радиолюбителей (KX Driver's) — Часть [1/2]

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

Под катом много видео.
Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Просмотры 15K
Комментарии 3

Микрокомпьютер Module MB 77.07 — русский ответ Raspberry Pi

Блог компании Promwad Open source *Системное программирование *Производство и разработка электроники *


Читая новости о запрете на поставку электронной компонентной базы из США для отдельных производителей в РФ, мы решили рассказать об одноплатном микрокомпьютере Module МВ 77.07, который был разработан в российском научно-техническом центре «Модуль» на базе одного из наиболее производительных российских процессоров архитектуры ARM. Также мы рассмотрим установку Linux-дистрибутива Debian на этот микрокомпьютер.
Читать дальше →
Всего голосов 119: ↑106 и ↓13 +93
Просмотры 108K
Комментарии 194

Создание аудиоплагинов, часть 1

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Этот пост — первый из серии переводов руководства Мартина Финке о написании собственных аудиоплагинов.
Отличительной особенностью этого материала является отсутствие зависимости от формата плагина и платформы его использования. Внимание сфокусировано на общей структуре аудиоплагина. Затем алгоритмы оборачиваются в слой абстракции для сборки в форматы VST, VST3, AU, RTAS, AAX или в отдельное приложение.
Сам Мартин больше работает на Маке, но руководство содержит и все необходимые шаги для разработки на Windows.
Интересно? Тогда под кат!
Всего голосов 25: ↑24 и ↓1 +23
Просмотры 68K
Комментарии 5

Создание аудиоплагинов, часть 2

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Давайте получше рассмотрим наш тестовый проект. Самые важные файлы — resource.h, MyFirstPlugin.h и MyFirstPlugin.cpp. На данный момент плагин представляет собой простой регулятор громкости звука.
Читать дальше →
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 14K
Комментарии 0

Создание аудиоплагинов, часть 3

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



В этом посте мы завершим необходимую настройку среды разработки и подготовим вспомогательное окружение.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 12K
Комментарии 0

Создание аудиоплагинов, часть 4

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Пора приступать к написанию нашего первого плагина. Это будет грязный цифровой дисторшн. Если говорить точнее, плагин будет просто обрезать пики амплитуды звукового сигнала.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 9.4K
Комментарии 0

Создание аудиоплагинов, часть 5

Интерфейсы *Звук
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Давайте добавим несколько предустановок для плагина и создадим [относительно] симпатичный интерфейс.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 8.8K
Комментарии 0

Создание аудиоплагинов, часть 6

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



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

Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 8.7K
Комментарии 0

Создание аудиоплагинов, часть 7

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Пока что мы генерировали только постоянную звуковую волну, которая просто звучала на заданной частоте. Давайте посмотрим, как можно реагировать на MIDI сообщения, включать и выключать генерацию волны на нужной частоте в зависимости от получаемой ноты.
Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Просмотры 6.8K
Комментарии 0

Создание аудиоплагинов, часть 8

Интерфейсы *Звук
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Настройка виртуальной клавиатуры в REAPER не так очевидна, к тому же хост пользователя может вообще не иметь такой функциональности. Давайте добавим свою маленькую экранную клавиатуру в GUI.
Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 5.8K
Комментарии 10

Создание аудиоплагинов, часть 9

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Звук интересен тогда, когда в нем происходят какие-то изменения. Давайте сделаем генератор огибающей (envelope), которая будет менять громкость звука.
Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Просмотры 5.2K
Комментарии 7