Комментарии 21
Потрясающе, великолепный проект! FM-синтезатор DX7 - прародитель и старший брат знаменитых звуковых карт Adlib, Sound Blaster, а также 16-битных приставок Sega Genesis (Megadrive) и большинства аркадных машин (игровых автоматов) конца 80-х - начала 90х. Но при этом возможности DX7 в плане синтеза намного превышают возможности чипов OPL2, OPL3 и других, стоявших на звуковых картах и приставках. В звуке DX7 все еще слышится "теплое, ламповое" FM, но этот звук гораздо богаче и разнообразнее.
А как насчет достоверности эмулятора Dexed - достаточно ли точно он эмулирует звук DX7?
Я видел обзоры на ютубах, авторы сравнивали - на некоторых примерах звук существенно отличается.
В коде проекта предусмотрена возможность зашить свои звуки. Ну или любые другие из доступных. Достоверность высокая. Устройство простое, можно собрать за один вечер и послушать, чтоб оценить самому, инвестиции минимальные. Так же тут для вывода звука используется ЦАП, а не PWM что на борту RP2040. Так что качество звука в плане чистоты и отсутствия шумов- на высоте. Ну и главное- это не ромплер. Это не wav файлы он воспроизводит, а реально эмулирует, используя MIDI sysex дампы с реального инструмента.
Так как код открытый, можно это устройство дополнить экраном, для удобства.
Добавлю. Yamaha DX7 был очень популярен в музыке середины 80х - начала 90х. Его использовало множество профессиональных музыкантов. Также профессионалами были созданы богатые библиотеки тембров ("пресетов", "патчей") для DX7.
А поиск красивых тембров для FM-синтезатора - трудная задача, требующая развития особых навыков. Большинство музыкантов этим не занимались - не было времени, и научиться было трудно. Использовали, как правило, небольшой набор "заводских" тембров, разработанных специалистами Yamaha. Ну и еще можно было докупить картриджи с библиотеками тембров от других авторов, которые специализировались на создании тембров.
А на сегодняшний день имеются богатые коллекции патчей для DX7, которые можно скачать бесплатно. Пополнение этих библиотек продолжается энтузиастами. Так что эмуляция именно этого ретро-синтезатора дает музыканту больше всего возможностей.
Супер. А где взять за 1$ корпус и клавиши, чтоб точно такой же был?
Ссылки то нету.
Я могу вам рассказать как за 1$ собрать настоящую Ferrari. Идем и покупаем гайку на М10. Ею крепится клемма аккумулятора. На оставшиеся деньги салфетка для протирания салона вашей новенькой Феррари.
У многих синтезаторов есть рековая версия, скажем так, мозги. Коробка со звуками управляемая по MIDI. Это устройство так и нужно воспринимать. Как модуть. У Korg Triton, есть рековая версия, у Roland Fantom, итд. Устройство получилось очень компактное, как корпус можно использовать пластиковую коробку из строительного магазина. Мне она обошлась в 1.5$. если есть 3d принтер- можно напечатать. Будет ещё дешевле.




Вот что конкретно получилось у меня. Корпус- коробочка из строительного магазина. Кривенький навесной монтаж на скорую руку. Сейчас добрые люди насыпят мне не менее добрых коментариев про качество монтажа ;) Фото привел просто для понимания минималистичности всей конструкции и трудозатрат, при более чем приемлемом результате.
Вот что конкретно получилось у меня.
И как на этой коробочке сыграть "Мурку"?
Добрый вечер! Нужно подключить MIDI клавиатуру, они БУ не дорогие, в качестве MIDI клавиатуры можно использовать детский синтезатор с MIDI выходом 5-din. Почти любая старая детская клавиатура от Yamaha, Casio имеет MIDI выход. Глянуть на Авито, спросить у соседей может валяется не нужная. Есть 100500 проектов самодельных MIDI клавиатур на arduino. Там все сводится к самому arduino и от него проводки к клавишам. Если клавиш много, есть копеечные микросхемы расширяющие порты. Можно взять с авито муз клавиатуру за копейки и вставить туда arduino. и получится не плохая MIDI клавиатура. Это все можно решить за копейки при желании. Тут главное желание.
в качестве MIDI клавиатуры можно использовать детский синтезатор
То есть, вы хотите сказать, что 1) берём с Али любую более-менее приличную клавиатуру, 2) выбрасываем родные внутренности, 3) вставляем вашу схему, 4) получаем Ямаху? Пишите инструкцию с фото — станете звездой на Хабре.
Вот эта штука стоит примерно 750 рублей

Это не совсем так. Этот проект является клоном DX7. Управление не с кнопок на панели а только посредством MIDI. Чтобы переключать пресеты по MIDI нужен MIDI контроллер, ну и клавиши нужны чтоб играть. Схема контроллера переключающего банки и пресеты приведена в статье. Но что толку если мы переключили банки и пресеты но у нас нет клавиатуры? Для этого нужна муз клавиатура. Есть несколько вариатнов устройства музыкальных клавиатур. Всех инструкций на все возможные детские синтезаторы не написать. Если есть не большой объем знаний по электронике и чуть-чуть в программировании, ну и конечно терпение, можно адаптировать любую. Вот пример на основе детской клавиатуры Casio. http://www.codetinkerhack.com/2012/11/how-to-turn-piano-toy-into-midi.html
И вот к этой клавиатуре подключается клон DX7. Ну либо можно вставить его внуть корпуса детского синтезатора, как кому легче.
Либо за 2-3к покупается старая БУ MIDI клавиатура, и не нужно ничего переделывать. Либо покупаем за 3-5к MIDI клавиатуру с крутилками и слайдерами, тогда и банки с пресетами переключать и играть- все на одном устройстве.
Поделюсь своим опытом. Есть желание исполнить Мурку или любую другую мелоди на "рояльно-пионном", то достаточно смартфона или пк) Я вот пробовал играть на встроенном в игру "Magic Awakened "(андроид), там неожиданно они в гостиных стоят. Игра бесплатная, но весит много. Звук богатый и на планшете с большой диагональю получалось музицировать без насилия над собой. Но мой максимум -"next to you" или что-то подобное.
//Интересно, а где автор достал такие дешёвые RP2040?
Google поиск. И нахожу ;)
Aliexpress, если от 10шт будет еще на много дешевле, alibaba то же самое.
194р. 1шт. Доставка бесплатная. RP2040. Мне кажется это не дорого.
Можно на локальных торговых площадках поискать. Будет на 5-10% дороже, но не нужно 2 недели ждать доставку.
Вот на али- 167рублей. Доставка бесплатная. 1шт. Но это RP2040 Zero. Думаю на ней тоже должно работать. Если что может код минимально поправить, пины переназначить.
Если задаться целью- можно найти :)
Но если вам просто поиграть- на барахолках можно глянуть БУ синтезатор. Авито?
Конкретно этот клон из статьи больше для тех кому интересен именно DX7. У кого этот инструмент когда-то был, для тех кто о нем наслышан, для тех кто увлекается FM/ ЧМ синтезом итд.
Послушал я пико на ютубе. Ну это не совсем то. Полифонии то нет. Но вот мини - это уже совсем другое дело. К тому же нашел Zero 2W в китае за 130 юаней. Не так уж и дорого. Так же посмотрел на MicroDexed Touch - так это вообще рабочая станция сродни монстрам типа Motif. Понятно, что дорого, но не 2000$. Вот бы к ней 15" тач экран прикрутить. Но Teensy в китае не нашел. Плохо.
Попиликать и пико сгодится. Нормально поиграть - мини. А вот серьезно ковыряться - микро тач.
Доброе утро! На счёт полифонии вы ошибаетесь. Оригинал DX7 имеет полифонию 16 нот. Если использовать комбинированные звуки- полифония будет урезана до 8. Так как на каждую ноту будет 2 звука. В этом клоне так же. Полифония 16 нот. Есть возможность собрать этот клон без микросхемы ЦАП, использую PWM, качество звука будет хуже, с небольшими шумами, и полифония 8 звуков. Есть проекты где используется Raspberry Pi 4, там можно запустить 8 эмуляций DX7 одновременно. Там соответственно полифония выше. Но оригинальных 16 голосов полифонии хватает. Тем более что при записи музыки каждую партию записывают отдельно.
Я конечно же не собирал пико, но я верю документации:
Current Features
16-note polyphony at a sample rate of 24000Hz.
USB and Serial MIDI support.
8 banks of 32 voices (rom1a, rom1b, rom2a, rom2b, rom3a, rom3b, rom4a, rom4b) selectable over MIDI.
Ну 24 кгц конечно нормально. Но не для всех инструментов. И если мини держит 48кгц, то это по любому лучше.
И тут же я иду по ссылке с гитхаба:
In terms of sample rates and polyphony, well, things are a little basic! I can currently achieve the following:
2-note polyphony at 44100.
4-note polyphony at 24000.
6-note polyphony, possibly if you squint at it and ask it really nicely, at 12000.
Вы видимо даже не читали про то, что собирали. Не буду гадать кто тут прав, но истина в том, что пико не хватает ресурсов. И я обозначил самый оптимальный вариант. Он не 3 бакса конечно, чуть дороже, но не на много. И полифония там 2х вроде бы (документация такая противоречивая). Не 8 конечно, как RPi4, но RPi4 стоит прям неприлично дорого по сравнению с ардуино. Спасибо за статью, натолкнули на мысли. Но готовиться надо лучше.
Не так давно ремонтировал роланд. И знаете как там сделано? Отдельный процессор на WaveTable, отдельный процессор на клаву, на ревер (цифровой дискретный), ну и еще кучка процессоров больших и маленьких. А вы хотите все в одном. М3 надо однако. Пико точно не потянет.
И еще. Смотрел на трубе DX7 vs DexedVST ( а как я понял это база). VST проигрывает оригиналу по жирности. Можно смотреть даже без звука, по осцилограммам все и так видно.
Добрый вечер. Вы в своем первом комментарии написали "Полифонии то нет". Я вас всего лишь поправил, что полифония есть, та же что и в оригинале, 16 голосов. Его материал растянут на 6 больших постов. Это цитата из первой части:
2-note polyphony at 44100.
4-note polyphony at 24000.
6-note polyphony, possibly if you squint at it and ask it really nicely, at 12000.
После этого он продолжил свой рассказ, написал еще 5 постов. В результате код был оптимизирован и полифония доведена до 16.
По поводу 24кгц и 48кгц согласен, 48 лучше, но не многие услышат разницу, а если в миксе с другими инструментами в готовой композиции, то разницу услышат единицы.
На RP4 видел проект где эмулируется восемь DX7 одновременно, и заявлена полифония 8х16. Впечатляет, но смысла мало. Если все равно в современном мире все пишется потреково на комп.
В плане "готовиться нужно лучше"- тоже согласен, но не по приведенным замечаниям про полифонию.
Из-за отсутствия достаточного колличества свободного времени, статья вышла сумбурная, без вступительного слова про историю инструмента, без обсуждения самого кода проекта, и без вывода, так сказать итога.
У меня было 2 варианта- писать так, или не писать вообще :)
Ну в общем имеем то что имеем.
На будущее у меня есть наработки статей в плане эмуляции аналоговых музыкальных инструментов, инструментов использующих Wavetable, гитарных педалей на RP3 и на Pico. Есть наработки в плане проектов простых MIDI контроллеров.
За последние 10 лет я собрал множество интересных околомузыкальных проектов. В общем есть чем поделиться.
Спасибо за комментарий и успехов вам в ваших проектах!
Всех благ!
Ваша статья толкнула меня на то, чтобы собрать MiniDexed. Но я больше люблю WT инструменты из-за их натуральности. И поэтому я сначала запустил MT32-pi. Мне очень понравился сам MT32, но Soundfont, который там же, воспроизводит звуки совсем не так, как компьютер. Тише, чем MT32 и с неправильной динамикой.
Для сборки я использовал Pi Zero 2W, это самый дешевый из серьезных малинок. Дисплей от каких то промышленных весов на SSD1305, который поддерживается MT32, но не поддерживается MiniDexed, потому-что автор МТ32 написал свой драйвер дисплея, а автор MiniDexed использовал библиотеку Circle, которая находится в умершем состоянии и поэтому не апгрейдится. Вся проблема в том, что дисплеи на SSD1306 слишком маленькие, а на SSD1305 сравнимы по размерам с 1602. Но 1602 слишком большой для какого либо встраивания. А я хочу встроить синтезатор в миди клавиатуру. Ну и мне пришлось поправить библиотеку Circle и компильнуть код, чтобы MIniDexed правильно отображался на моем дисплее. Самое хреновое, что я до сих пор не вижу изменений в проекте по этому поводу. Авторы проектов отписались, что все норм, спасибо, а изменения не внедрены. Я больше 10 лет не программировал и мне сейчас достаточно тяжело разобраться в особенностях таких проектов. Тем более Bare Metall. Но в дальнейшем я бы хотел совместить проекты MiniDexed, MT32, Nuked-SC55 в одном синтезаторе. Тем более что в Nuked, например, поддержка нескольких различных синтезаторов, как и в MT32. Если есть программисты, которые понимают тонкости такого программирования, you're welcome! Сам я конечно пытаюсь, но кроме ошибок компилятора ничего не получается.
Насчет звучания. Как и ожидалось звук DX7 достаточно примитивный без какой либо глубины и гармоник. Но вот когда включаешь Performance, тогда уже звучит 8 (для Zero 2w) синтезаторов с различными настройками. И это уже кардинально меняет звук. Причем я настроил на миди клавиатуре микшер всех восьми каналов и послушал чем они отличаются. Почти ничем. Там изменены только параметры громкости, панорамы, detune и вибрато. А на выходе получается нечто. Так что я все-таки был прав. Pi Pico на уровне детского синтезатора. Но все равно спасибо, что своей статьей вы помогли узнать больше о мире олдскул эмуляторов.
Скрытый текст


А вообще моя идея - добавить в миди клавиатуру подобный синтезатор. Но только с дисплеем. Все команды должны уходить с самой клавиатуры по миди, без всяких кнопок.
Респект за труд и информацию.
Ну хоть бы видео выложил готового своего агрегата))))
Спасибо за статью, но немного поправлю.
Итак, вариант №1: MiniDexed.
Всего этот клон DX7 имеет 8 банков звуков по 32 инструмента в каждом.
В minidexed 8 тонгенераторов, то есть 8 тембров одновременно. Плюс в нем же очень неплохие встроенные обработки, ревер, хорус, компрессор, плюс да, автертач, если позволяет клавиатура, именно это в сумме и приближает его к DX7, в первую очередь мультитембр. И это не то же, что записать 8 дорожек, так же как и запись оркестра целиком - это не то же самое звучание, что записать 117 музыкантов по отдельности.
На pi zero он урезает тембральность до одного голоса(тембра, не путать с моно/поли) и это звучит совсем не интересно. Полагаю, что все аналогичные проекты с меньшими ресурсами также выдают один войс и покажутся невкусными. А вот начиная с pi 2 и выше, где ресурсов побольше, он уже впечатляет.
Примерно такая же история с AN1x, который имеет два тембра VA синтеза c возжможностью их интерполяции + шикарние фильтры и fx-обработку. И если с ним сравнить карту расширения PLG 150AN, которая делает ровно тот же синтез, но сама по себе проиграывает по звучанию, но это вообще не делает карту 150AN неактуальной, просто применить ее надо правильно.
Как собрать клон Yamaha DX7 за 10$