Новая жизнь старого синтезатора. Часть 1

    Внешний вид синтезатора
    Несколько лет тому назад умер смертью храбрых мой старый синтезатор Yamaha PSR-GX76. Случилось это из-за того, что я по ошибке подключил к нему блок питания 24 В вместо положенных 12 В. В таком режиме синтезатор героически проработал несколько минут, после чего случился «пук», сопровождаемый аудиовизуальными спецэффектами и специфическим запахом и синтезатор больше не включался. С тех пор он пылился в коробке и ждал своего часа, который для него, наконец, настал. В нескольких статьях я расскажу как проходило движение от идеи вдохнуть в него новую жизнь до реализации и демонстрации полученных результатов.

    Вскрытие

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

    image
    Модуль звукогенератора (видна память, сам звукогенератор на обратной стороне)

    Вскрытие показало, что в моем синтезаторе разорвало на части стабилизатор напряжения питания, ответственный за подачу напряжения на микросхемы звукогенератора и сканера клавиатурной матрицы. Увы, замена стабилизатора на новый не принесла результатов. Дальнейший анализ показал, что обе микросхемы, по всей видимости, более не функционируют: присутствуют корректные сигналы сброса и тактового генератора, однако никаких признаков жизни со стороны самих микросхем не наблюдается. Поскольку данные микросхемы были произведены специально для синтезатора компанией Yamaha, то заменить их на новые не представлялось возможным, тем более, что модель уже старая. И тут мне пришла в голову идея вместо того, чтобы отремонтировать старый модуль звукогенератора, выкинуть его и сделать свой собственный, целиком и полностью настраиваемый, с Linux-ом и Wi-Fi'ем.

    Выбор платформы — основы для нового синтезатора

    Загоревшись этой идеей, я начал подбирать платформу, на базе которой будет создаваться новый «мозг» синтезатора. Начал поиски с относительно простых отладочных плат на STM32, так как изначальная идея была в реализации с нуля прошивки, реализующей синтез звуков. Критерием отбора являлось наличие как минимум нескольких десятков мегабайт памяти, слот для SD-карты, аудиовыход и возможность подключения LCD-дисплея. Затем возникла идея использовать что-то помощнее, и я вспомнил про валяющуюся без дела Raspberry Pi. Но она не подошла в итоге по нескольким причинам: отсутствие возможности без танцев с бубном «из коробки» подключить LCD-дисплей, отсутствие достаточного количества GPIO-пинов, сравнительно низкая частота процессора. Но к тому моменту я уже понял, что нужно двигаться в направлении Linux, потому что для него уже написано немало программных синтезаторов, и в частности, особо заинтересовавшие меня LinuxSampler и FluidSynth. Поэтому я продолжил поиски, уже отбросив «маломощные» платы на STM32, и спустя несколько часов непрерывных поисков я нашел ЕГО, и понял — это то, что нужно. Итак, в качестве платформы был выбран и приобретен в Китае мини-компьютер EmbedSky E8 miniPC, в комплекте с 4.3-дюймовым резистивным сенсорным LCD-дисплеем.

    image
    Технические характеристики его представлены в таблице, цена вопроса 48 долларов США:
    Размеры 100х65х20 мм (без учета разъемов)
    Процессор Samsung S5PV210 Cortex-A8 (1 ГГц)
    Оперативная память 512 МБ *
    EMMC Flash-память 4 ГБ
    USB-порты 4 порта USB 2.0, 1 порт USB OTG
    Аудио Вход/выход до 48 КГц, WM8960
    HDMI HDMI 1.3 1080p@30 FPS
    Ethernet 100 Mbit
    Последовательный порт 3 порта 3.3V, один порт со стандартными уровнями RS232
    Часы Поддержка часов реального времени (плюс батарейка)
    Карта памяти Интерфейс для карты памяти SD
    Кнопки 2 программируемые кнопки
    Камера Специальный порт для подключения видеокамеры
    Светодиоды 4 программируемых светодиода
    IrDA Встроенный ИК-приемник
    Дисплей 40-пин FPC для подключения LCD (поддержка резистивного и емкостного экрана)
    50-пиновый разъем 17 линий GPIO, 4-х канальный ADC, SPI, 2 PWM, дополнительный интерфейс SD
    * — объем доступной в системе памяти со стандартным ядром — около 390 Мб (в дальнейшем это ограничение было снято — детали в следующей статье).

    Надо сказать, я был приятно поражен тем объемом документации, который поставляется на двух DVD-дисках вместе с мини-компьютером: на дисках присутствует полная принципиальная схема, документация на каждую используемую микросхему, включая полную документацию на процессор, руководство пользователя (на китайском, но все и так понятно) различные инструкции (например, по установке Ubuntu и даже по разработке с Qt). Кроме того, имеются исходные коды ядра Linux 3.0.8, исходный код системы Android, некоторого ПО от EmbedSky, GCC 4.4.3, исходный код Qt и еще много интересного. На плате предустановлено сразу две ОС — Linux и Android 4.0.4, выбор какую загружать осуществляется через загрузчик U-Boot. Android был мною безжалостно снесен, и вся имеющаяся eMMC Flash-память использована под простой Linux.

    Стоит отметить, что изначально плата настроена на работу с емкостным экраном. Для того, чтобы переключить ее на резистивный интерфейс, необходимо перепаять две перемычки на обратной стороне платы рядом с LCD-разъемом. Собственно, это было первое, что я и сделал с платой после проверки ее работоспособности. Далее выяснилось, что образ Linux, зашитый в eMMC тоже по-умолчанию настроен на использование емкостного датчика. Убил несколько часов, копаясь в конфигах Qt и Tslib, но в итоге тач все-таки заработал как положено.

    С платой поставляется Qt версии 4.5 — довольно старая версия. Я люблю все новое, поэтому для работы над своим проектом, я решил скомпилировать для ARM Qt последней версии 5, а поскольку много времени тратить на разработку тоже не очень хотелось, то дополнительно я решил, что буду все писать на Python, так что мне понадобилась также библиотека PyQt5. Процессор Samsung S5PV210 имеет встроенный 3D-ускоритель с поддержкой OpenGL ES 2.0, но, к сожалению, Samsung предоставляет драйвера для OpenGL только для ОС Android, поэтому использовать Qt 5 с поддержкой OpenGL ES не получилось (попытался скопировать нужные DLL с образа Android, но одна из библиотек имела зависимость от libhardware.so и далее до бесконечности), так что я остановился на LinuxFB в качестве платформы для вывода графики. С компиляцией Qt 5 особых проблем не возникло, за основу я взял конфиг для Raspberry Pi и вырезал все, что связано с OpenGL ES. Затем я собрал Python 2.7.6, используя инструкцию отсюда.

    При сборке для ARM библиотеки PyQt5 возникла проблема — оказалось, что библиотека имеет зависимость от заголовков OpenGL даже если Qt была собрана без поддержки OpenGL. Пришлось пропатчить библиотеку так, чтобы убрать зависимость. Соответствующий патч был опубликован в списке рассылки PyQt. Возможность сборки без OpenGL будет также добавлена в upstream в ближайшее время. После сборки PyQt5 я успешно протестировал на устройстве примеры из поставки Qt, портированные на Python и распространяющиеся в составе PyQt.
    image
    Мой графический интерфейс к LinuxSampler и FluidSynth, написанный на PyQt5

    Далее последовала кросс-компиляция LinuxSampler и его зависимостей: libaudiofile, libfftw, libgig, libsndfile, libsamplerate. В libsndfile была обнаружена интересная фича, названная в коде библиотеки «Ultimate sanity check» — assert на то, что тип off_t имеет размер 8 байт. В моем случае это оказалось не так. К счастью, простое удаление этой “проверки на вменяемость” полностью решило проблему. Интересно, почему она делает эту проверку во время выполнения а, не прерывается на этапе configure — все равно ведь работать не будет, зачем тогда компилировать?

    Дополнительно был скомпилирован JACK в качестве драйвера вывода звука для LinuxSampler. Для него потребовались патчи arm-timestamp.patch и atomic.patch отсюда. Также я компилировал с такими флагами для GCC, чтобы включить поддержку расширений NEON для ARM: -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ffast-math -funsafe-math-optimizations -O3.

    На данной стадии у меня работал JACK и LinuxSampler, через который я мог проигрывать MIDI-файлы с помощью jack-smf-player. Вместе с графическим интерфейсом (см. выше) был написан питоновский модуль для работы с LinuxSampler по протоколу LSCP, а также с помощью SWIG сгенерирован биндинг для libgig, которая позволяет загружать GIG-файлы, и, в частности, выяснить какие внутри есть инструменты, чтобы их можно было выбрать из списка в интерфейсе на Qt. Ближе к завершению проекта эти наработки, а также весь связанный с проектом оригинальный исходный код будет выложен на GitHub для всех желающих.

    В следующей статье я расскажу:
    • Как устроена клавиатурная матрица синтезатора
    • Как я менял сгоревший МК сканера клавиатуры на ATmega, про прошивку прямо с платы, и как микроконтроллер общается с LinuxSampler
    • Как я делал ядро с поддержкой Realtime Preemption на основе стокового и как решались многочисленные возникшие проблемы
    • Как проходило общение с техподдержкой фирмы EmbedSky Tech
    • Как удалось снизить задержку (latency) звука при нажатии на клавиши синтезатора с нескольких десятков до нескольких миллисекунд


    Все описанные в этой и следующей статье манипуляции с незначительными отличиями можно проделать также и с использованием других подходящих ARM-платформ включая Raspberry Pi, для изготовления своего собственного универсального синтезатора из старой MIDI-клавиатуры. Из преимуществ последней можно отметить наличие более мощного аппаратного FPU и возможность сборки Qt 5 с поддержкой OpenGL ES 2.0.

    Следующая статья >>
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 57
    • +1
      Ну, для работы андроид драйверов существует libhybris, я просто знаю что она есть и с её помощью можно их вкрутить)
      • 0
        Не знал про такую. Спасибо, надо будет глянуть.
        • 0
          Грубо говоря, вы сможете завести только GLES с libhybris. Никакого ускорения в X, например, не будет.
        • +1
          Очень интересно! Буду ждать продолжения
          • +2
            Вы молодец, здорово. Я давно уже горю желанием смастерить складной походный синтезатор, думаю, ваши статьи мне в этом помогут. А то малость надоело таскать с собой вот эту дуру:

            Скрытый текст

            Только в моём случае надо будет еще позаботиться и о низком энергопотреблении.
            • 0
              А у нас с вами схожие по внешнему виду модельки, у меня был приобретён давно, но пользуюсь редко, предпочитая работу строго в FL Studio. Мечтаю прицепить синтезатор, как MIDI-клавиатуру.
              • +1
                А чего мечтать? Берем этот девайс и вперед
                • 0
                  На правах фаната рэковых виртуал-аналогов (Novation «KS Rack», Red Sounds «dark star», Yamaha «FB-01») хочу сказать что вы предлагаете полнейший унылый хлам. Нечто похожее у меня было в хозяйстве… переплевался весь и в итоге подарил кому-то.

                  Купите нормальную внешнюю звуковую карточку с MIDI вроде этой и будет вам счастье, не тратьте бабло на этот хлам.
                  • 0
                    P.S> сорри, Yamaha FB-01, не виртуал, аналог) она FM-синт, но сути дела это не меняет.

                    P.P.S> вот чего вспомнил, последней каплей стало то, что я не мог через это г… но залить пресеты в KS-ку, при этом через миди-аут другого синтезатора (Novation Xio 49) который в компе видится как аудиоинтерфейс и MIDI-Out я прекрасно залил нужные пресеты в KS Rack.

                    Как-то так.
                    • 0
                      Спасибо за идею, интересный девайс. Надо будет взять.
                    • 0
                      Лучше уж тут, наверное.
                      • 0
                        Я буду читать комментарии перед тем, как писать ответы, я буду читать комментарии перед тем, как писать ответы, я буду читать комментарии перед тем, как писать ответы, я буду читать комментарии перед тем, как писать ответы…
                  • 0
                    Надо полагать, что QtQuick 2.0 не заработает без OpenGL, и поэтому он был выпилен из сборки Qt?
                    • 0
                      Да, QtQuick требует поддержки OpenGL ES, и сначала я хотел использовать именно его (до того, как выяснилось, что драйверы OpenGL есть только под Android). Выпиливать ничего, к счастью не пришлось — он просто не собирается если при конфигурировании Qt отключить OpenGL ES.
                    • 0
                      Я когда увидел заголовок, сразу понял кто автор :)
                      • +2
                        Вообще-то автор мой друг :)
                      • 0
                        Предлагаю автору тему для размышлений «а что дальше».
                        Было бы идеально прикрутить поддержку софтовых VST синтезаторов. Конечно, Cortex так не сможет, а вот как раз с «малинкой» может и выгореть.
                        • НЛО прилетело и опубликовало эту надпись здесь
                          • +5
                            Думаю не в деньгах счастье, понимаете, конечно любую вещь можно купить, но самостоятельная разработка — сборка и прочее приносят кучу удовольствия, и, как мне кажется, автору плевать возьмут его в ямаху или нет. Я думаю намного приятнее, например, летать на собственноручно собранном коптере нежели на стандартной модели купленной в магазине. Кстати, по поводу велосипедов, вас же никто не заставляет их использовать, мы в свободном обществе живём.
                            • +18
                              Уважаемый sensboston, я очень рад за ваши приложения. Вы, вероятно, удивитесь, но целью этого любительского проекта не является зарабатывание денег, и я также занимаюсь им не потому, что не в состоянии заработать на новый синтезатор — к вашему сведению, у меня есть несколько синтезаторов более высокого класса — один из них — Roland Jupiter-80. Я занимаюсь этим, потому что мне это интересно, и мне нравится идея, что в результате у меня получится инструмент, который я могу подстроить под себя как угодно, загрузить в него абсолютно любые звуки и алгоритмы синтеза и т. д. Кроме того, в процессе реализации я приобрел больше опыта в написании драйверов для Linux внесении изменений в код ядра и улучшил свое понимание его архитектуры, что в целом считаю для себя полезным. Уверен, найдутся люди, которые также извлекут для себя некоторую пользу от того, что я публикую результаты своего «исследования», со всеми граблями решениями.
                              • НЛО прилетело и опубликовало эту надпись здесь
                                • +29
                                  Мужик, ты чего доебался, а?
                                  • +4
                                    Какое-то глупое хабрасамоубийство.
                                    • НЛО прилетело и опубликовало эту надпись здесь
                                      • +3
                                        хотел сматериться вам в ответ, да чего-то передумал.

                                        странный вы.

                                        посыл был таков: идите уже своей дорогой и нам тут не мешайте.
                                        • +1
                                          Что ты вообще на Хабре делаешь? Тут вообще сайт как-раз о таких штуках.
                                          • 0
                                            Мужчина, отличайте хобби, которое совсем не обязано приносить денег (на моей практике чаще уносит и деньги и время) и заработок. Его время — ему им распоряжаться. Например, я пишу музыку. Зачем ее писать, если в мире уже эксабайты написанной музыки всех жанров? Может, реализовать себя? Или вы родились с паяльником в руках и IDE в голове и делаете все исключительно на благо людям (opensource же), ну или, на худой конец, за деньги? Глупости вы городите, честное слово, ну или с половой жизнью проблемы имеете.
                                    • +1
                                      Мне нравится ваш ход мысли, но не нравится наезд. Может автору по-кайфу ручками поработать, вспомнить радилюбительскую юность?
                                    • 0
                                      Отличная статья, жду с нетерпением продолжения. У автора по принципу работы получается некий простенький аналог Korg KRONOS. Там правда все немного более сложно сделано — за интерфейс отвечает ARM плата с TI OMAP, которая выступает неким аналогом usb-видеокарты, а все остальное делается на интеловской материнке с Intel Atom.
                                      • 0
                                        Господа, немного оффтопик, но рассчитываю на бОльшую концентрацию хабраклавишников здесь в комментариях, нежели обычно.
                                        Я хочу в скором времени приобрести свой первый синтезатор. Теории музыки никакой не знаю, буду учиться. Для себя, в ближайшем будущем участвовать в концертах не планирую :) Помогите, пожалуйста, советом?
                                        1) Синтезатор или MIDI-клавиатура? Даже если возникнет необходимость куда-то поехать с инструментом, компьютер всегда будет под рукой.
                                        2) Количество клавиш, жесткость/взвешенность?
                                        3) На что вообще смотреть, как выбирать? Я действительно в этом ни бум-бум. Или же вы сможете посоветовать зарекомендовавшую себя модель?
                                        Бюджет… в данном случае, думаю, это не ограничитель.
                                        Пишите в личку, чтобы не засорять комментарии. Буду рад любым советам.
                                        • +1
                                          Я себе взял несколько лет назад самую что ни на есть чайниковскую модель — Yamaha EZ-200. У неё клавиши подсвечиваются — куда нажимать надо — так и обезьяну научить можно. Свою музыку туда подгрузить нельзя, но я научился ею через MIDI интерфейс управлять — там за свет клавиш отдельный канал отвечает и написал программку, которая ноты из MusicXML читает и зажигает кнопки, на которые клацать надо. Сейчас, кстати, есть более продвинутая модель EZ-220 — к ней можно iPad присоединить. Дети сейчас пошли в музыкальную школу — я думал было отдать им синтезатор, но учитель сказал, что на нём научиться играть невозможно, так что я купил полноценное «аналоговое» пианино — там совершенно другой фидбек от клавиш. И вот должен сказать, что после «теплого ламповго» пианино к синтезатору даже подходить не хочется. Впрочем на синтезаторе классно аккордами с аккомпанементом играть — там левая часть клавиатуры переключается в режим аккомпаненмента — и нажатие одной клавиши сразу выдаёт целый аккорд — это у Ямахи довольно удобно сделано.
                                          • +1
                                            Скажите, вот в синтезаторах есть клавиши, они как работают, дискретно(как клавиатура) или же есть и такие которые реагируют на силу и скорость нажатия(как в аналоговом пианино)?
                                            И ещё вопрос, тащусь от ритм игр(osu!/GuitarHero), есть ли нечто подобное с использованием midi-клавиатуры?
                                            • +1
                                              Сейчас даже в самых дешёвых синтезаторах клавиши чувствительны к силе нажатия — грубо говоря, если лупить по клавишам кулаком — будет сильно громче. Педаль тоже можно подключить. Но механика, конечно, совсем другая — в синтезаторе клавиши пластиковые и очень лёгкие, там совершенно другое ощущение от игры.
                                              • +2
                                                В большинстве (кроме самых дешевых) синтезаторов клавиши реагируют на скорость нажатия. Реализовано это так, что каждая клавиша имеет под собой на близком расстоянии 2 переключателя. Когда вы нажимаете клавишу, сначала замыкается первый, а потом второй. По разнице времени между этими событиями процессор синтезатора вычисляет скорость (и силу) нажатия, и определяет громкость, с которой нужно воспроизводить ноту.

                                                Есть игра Synthesia — по аналогии с GuitarHero только для ф-но.
                                                • +1
                                                  Реагируют конечно, этот параметр velocity называется. Чем быстрее жмете, тем бОльшую цифру получаете в миди сообщении, тем громче издаваемый звук.
                                                  По типу механики клавиш весь рынок делится на 3 части:
                                                  • Подпружиненные
                                                  • Полувзвешенные
                                                  • Взвешенные

                                                  Если хотите клавиатуру широкого профиля, то нужно выбирать полувзвес, если фортепиано подобную то взвешенную. Клавиши на пружинах трудно рекомендовать, если вы трогали детские синтезаторы, то будет примерно так же, но свою нишу тоже занимают.
                                                  GuitarHero не видел никогда, но судя по скринам вам может подойти программа типа Synthesia, загружаете в него миди файл и начинаете играть.
                                                  • 0
                                                    Если уж разговаривать о реальном обучении игре на музыкальном инструменте (а не нажатию на 5 кнопок, как в Guitar Hero), очень рекомендую обратить внимание на Rocksmith.
                                                    • 0
                                                      Вещь должна быть хорошая, но есть у меня к ней одна притензия — она неплохо обучает практике, но вот что там с теорией? Тому же чтению табулатуры она не сильно обучает как мне показалось.
                                                • +1
                                                  На синтезаторе играть легче, чем на цифровом или аналоговом пианино с полноразмерными взвешенными клавишами. Но, как мне кажется, именно учиться играть (полноценно, с правильной постановкой руки и т.д.) нужно, конечно, на полноразмерном. Для этой цели очень хорошо подходит «аналоговое» пианино, или цифровое пианино с полноценным молоточковым механизмом, например Roland RD-700NX (у меня раньше был Roland RD-700SX). Если же речь идет об игре на клавишах в группе, или вам нужен более мобильный инструмент, который легко можно таскать с собой (молоточковый механизм весит немало), или просто инструмент для хобби, то лучше взять синтезатор или MIDI-клавиатуру. Оптимальное количество клавиш — от 61 и выше. Если бюджет не ограничен, то можно посмотреть самые известные модели от каждой фирмы: Yamaha Motif XF/MX, Roland Jupiter-80/50, Korg M3/Kronos/Krome. Но даже в самых дорогих синтезаторах 88-клавишная взвешенная клавиатура далека по физическому восприятию от реальной рояльной клавиатуры, поэтому для обучения и игры классических произведений лучше взять что-то типа серии Roland RD-700/RD-300. Из MIDI клавиатур мне доводилось пользоваться Novation SL 61 MkII — ощущения положительные.
                                                  • 0
                                                    Ух, что-то вы в качестве примеров приводите инструменты по совсем уж (пока) запредельным ценам :)
                                                    Мне кажется, инструменты класса RD-700NX/Jupiter-80 мне будут просто ни к чему. Никакой широкой публики или профессиональных занятий не придвидится, так, хочется клавиши, чтобы душой отдыхать, для себя :)
                                                    Вот вы назвали Novation SL 61 MkII — это гораздо ближе к реалиям.
                                                  • 0
                                                    Не стал в личку писать так как остальным может быть тоже интересно.

                                                    1) Что именно вас интересует — именно синтезатор, самоиграйка (с автоаккомпаниментом которая) или цифровое пианино? Что бы вы не выбрали стоит учесть что дешевые инструменты — игрушки, не более. Рассчитывайте на стоимость от 50к (за новый инструмент) если хотите приобрести что-то более менее приличное. Если все же решите брать midi клавиатуру учтите — хорошие библиотеки семплов весят ОЧЕНЬ много.

                                                    2) Зависит от того как вы будете использовать инструмент. Если будете играть музыку для фортепиано то 61 клавиши будет маловато, да и механику по хорошему надо хотя бы полувзвешенную в таком случае.

                                                    3) На звук и на ощущение от клавиш. Послушайте на ютубе, сходите в муз. магазин да включите демонстрационный режим. Посоветовать что-то конкретное сложно без ответа на первый вопрос.
                                                    • 0
                                                      Спасибо, что откликнулись!

                                                      Основная моя цель — научиться играть, набить руки :) Не для концертов, а для себя. Чтоб прийти с работы, поиграть любимую музыку, расслабиться и отдохнуть.

                                                      Из того, что я понял на текущий момент — на чём я начну играть, к тому руки и привыкнут, значит, с самого начала нужна более-менее хорошая механика, минимум полувзвешенную, как вы и говорите. 61 или 77 клавиш, ибо какие-то сложные партии я явно начну играть не скоро.

                                                      А вот какой именно инструмент — синтезатор/самоиграйка/midi-клавиатура/цифровое пианино — вопрос пока открытый для меня. Самоиграйку для обучения наверное не будет стыдно использовать? :) С учётом того, что я буду всё осваивать действительно с нуля, с азов теории музыки, нот, аккордов, трезвучия… в общем, всё-всё-всё.

                                                      ОЧЕНЬ много — это сколько? Даже сотни Гб (мало ли) — это не страшно.
                                                      • 0
                                                        Ну смотрите, если у вас совсем бюджет не ограничен и хотите самоиграйку то берите Yamaha Tyros5-76 или Korg PA3X-76. Клавиатура у обоих достаточно приличная, у ямахи вроде бы даже некое подобие полувзвешенной. Это мы говорим об инструментах ценой более 200 тыс. рублей. Можно неплохо сэкономить и не сильно потерять в функциональности взяв инструменты предыдущих поколений, но в России такие инструменты можно достать, скорее всего, только с рук. Если хотите подешевле и новое то ямаху можно сразу отметать ибо клавиатура у младших моделей гумно. У корга можно обратить взгляд на PA900.

                                                        Если хотите синтезатор и бюджет опять же неограничен — Yamaha Motif XF7/8 и Korg KRONOS 76/88. У обоих в моделях с 88 клавишами полновзвешенная клавиатура, в модели с 76 клавишами у ямахи клавиатура идентична таковой в Tyros. Если бюджет ограничен смотрите в сторону Korg KROME или Yamaha MOXF8. (именно 8, у 6 клавиатура почти такая же как и в самоиграйках за 10 тысяч)

                                                        Цифровое пианино — лично мне нравится Korg SV1. Вариант для извращенцев у которых много денег — серия Yamaha CVP. Это такое цифровое пианино с начинкой от Tyros, зверь, а не машина, но стоит просто запредельно. Еще дороже чем Tyros и в наших краях встречается не часто. Еще один вариант для извращенцев — Roland V-Piano, его считают самым реалистично звучащим и самым гибконастраиваемым цифровым пианино. Стоит соответствующе.

                                                        Midi клавиатура — я себе хочу взять Novation Impulse 61. Но если есть деньги стоит посмотреть в сторону Akai MPK 88. Про продукцию M-AUDIO и CME забудьте — хрень.

                                                        Насчет места для библиотек… приведу пример моей папки с сэмплами:
                                                        1) East West Orchestra — 67,7 ГБ
                                                        2) MusicLab RealGuitar3 — 3,35 ГБ
                                                        3) Native Instruments Komplete 7 — 174 ГБ

                                                        Вообще вопрос что выбрать достаточно сложный — научится можно на всем, чтобы было проще вот вам примерное описание того что добавляется в плане функциональности в каждом инструменте по сравнению с предыдущим (могу что-то сильно напутать, уж извиняйте если что не так):
                                                        1) Midi клавиатура — пустая коробка, тупо управляет программой на компьютере.
                                                        2) Цифровое пианино — самый базовый вариант автономного девайса, упор на звуки фортепиано, минимум доп. фич и звуков.
                                                        3) Синтезатор (хотя правильнее говорить рабочая станция) — упора на конкретные звуки нет, добавляется продвинутое управление девайсом, куча доп. звуков, возможность полного управления звуками, продвинутый редактор записанной музыки и тд. (все зависит от цены)
                                                        4) Самоиграйка — в зависимости от стоимости может находится либо где-то между цифровым пианино и синтезатором, либо на уровне синтезатора. В моделях ямахи нет нормального редактора музыки и практически нет управления звуками, ну оно и понятно — самоиграйки ямахи больше пошли от их же цифровых органов, а самоиграйки Корга от их же синтезаторов.

                                                        P.S. Я не рассматривал продукцию Roland, Kurzweil и некоторых других известных производителей по одной единственной причине — не имел с ними дело и знаю про них очень мало.

                                                        P.S.S. Мой совет — найдите преподавателя чтобы хотя бы руки правильно поставить. Учиться можете сами, но руки пусть вам профессионал поставит так как надо, а не так как удобно лично вам. Потом же проще будет.
                                                        • +1
                                                          Эээээ немного развею Ваши заблуждения))

                                                          Надо понимать что синтезаторы бывают нескольких видов:

                                                          — РОМПЛЕР. Собственно это и есть самоиграйка, только вплоть до профессиональных моделей, например Korg Triton у меня язык не повернется назвать самоиграйкой, а так принцип один и тот же что у касио за 8 тыщ что у KORG`а серия PA или Yamaha серии PSR. Это НЕ СИНТЕЗАТОР. Ну или НЕДО_СИНТЕЗАТОР если уж совсем не чистоту. В зависимости от цены модели можно использоваться для следующих задач: играть «заинька попляши», аккомпанировать начинающей рок / металл группе, в топовых моделях можно даже аккомпанировать какой нибуть группе вроде Бутырки. То есть это решение для тех, кому нужен набор звуков и клавиши. Шаг влево, шаг вправо на таких устройствах упирается в цену аппарата.

                                                          — ВИРТУАЛ-АНАЛОГ. Это синтезаторы которые выпускались последние 20 лет. И надо сказать что последние 10 из них ничего приличного не выходило. Среди виртуал-аналогов есть такие легендарные железки как Roland JP 8000 / 8080; Access Virus A / B / C; Novation Supernova / Nova / K-series; Quasimidi (почти вся линейка); Clavia Nord`ы; и еще пяток моделей. Суть виртуал-аналогов в том, что там грубо говоря софтом эмулируются труЪ аналоги, но при этом в ранних виртуал-аналогах фильтры и выходные каскады были таки транзисторные что добавляло немного жирка. Последние 10 лет стали все делать софтом и в итоге возьмите ту же UltraNova от Novation и сравните с Nova — имеющий уши скажет что Nova звучит лучше. У меня в коллекции есть KS и X-station 25… хочу сказать что KS звучит очень приятно, а вот был Xio 49, я один и тот же пресет заливал туда и туда — на Xio пластмасса, на KS приятный звук. Делайте выводы. А я скажу что современные виртуал-аналоги ничем не лучше VST-инструментов. А временами и хуже. Но это настоящие синтезаторы, а не «самоиграйки». Если хочется вкусить запретный плод, то единственный вариант взять с рук какого какой нибуть Virus A / B. Пожалуй единственный современный синтезатор который не скатился в говно в плане звучания из современных виртуал-аналогов это Waldorf Blofeld, но сказать что он сложный это сказать неправду. Он ОЧЕНЬ сложный в управлении.

                                                          — РАБОЧАЯ СТАНЦИЯ.
                                                          Вот тут я вообще не понимаю смысла. Взять Ямаху MOTIF за 100k и сравнить с макбуком у которого на борту Ableton Live и несколько хороших VST-инструментов и пара миди контроллеров… Во первых обойдется в 2 раза дешевле, во вторых функционал будет на много шире и управлять удобнее чем по этим бесконечным менюхам тыкаться. Простой пример, у меня был грувбокс KORG EMX-1, там афигенно удобная и лучше действительно хорошо звучащая драм-машина. Только из-за этого долгое время не хотел его продавать. Думаете я не нашел софтовую драм машину лучше встроенной? Я вас умоляю! Даже более того, она без «архитектурных ограничений и неудобств» которые были в грувбоксе. Обратно тыкаться в грувбокс больше не хочется. Так же и во всем остальном.

                                                          Это то, что сейчас выпускает промышленность. Остальное используется десятками лет потому что заменить нечем.
                                                          Опытный клавинист Мартын Горов из трио «Въстник модъ» и по сей день на ибэе покупает всякий полуубитый аналоговый хлам и делает из него концертный сетап.

                                                          Так что с ситезаторами не так все просто. Не смотрите в сторону дорогих самоиграек и рабочих станций, нечего там ловить.
                                                          • 0
                                                            Надо еще иметь в виду что MIDI-клавиатура имеет одну особенность — весь синтез происходит на ПК и порой проходит довольно значительное время между нажатием кнопки и началом вывода звука — это сильно сбивает с толку. Задержка происходит в основном по вине звуковой карты и операционной системы на которой она работает.
                                                            Проверить эту задержку можно только по месту.
                                                            Чисто клавиатуры используют в основном не для игры а для написания музыки в MIDI-редакторах.
                                                    • +1
                                                      Очень хорошее начинание!

                                                      У меня вопрос.
                                                      Почему вы отказались от использования уже готовых синтезаторов для Linux?
                                                      Это было бы вполне логичным решением.

                                                      Ну и позвольте покритиковать ваш выбор платы.
                                                      На данном процессоре устаревший звуковой кодек АС97, поддерживающий максимальный sample rate 16 бит и частоту дискретизации 48 кГц.
                                                      Для домашнего синтезатора на «поиграться» вполне хватит, но для чего-то серьезного уже упираемся в потолок возможностей железа.

                                                      Так же интересно почему вы остановили свой выбор на ARM процессоре, а не пошли по пути покупки нетбука со сломанным экраном на барахолке и выдергиванием из него материнской платы?

                                                      Все же, из данного железа собрать настоящий синтезатор не получится, не справится процессор. Но как семплер вполне работать будет =)
                                                      • +1
                                                        Почему вы отказались от использования уже готовых синтезаторов для Linux?

                                                        Я вроде и не отказывался — собираюсь использовать LinuxSampler и FluidSynth. Правда это больше сэмплеры (если вы это имели в виду). Есть еще синтезаторы вроде amsynth, но я боюсь, у выбранной аппаратной платформы, как вы верно подметили, не хватит ресурсов для полноценного синтеза, хотя попробовать никто не мешает.

                                                        Ну и позвольте покритиковать ваш выбор платы.

                                                        Наверное, причина такого выбора (не нетбука) в том, что я просто не продумывал такой вариант изначально. Ну и есть определенные вопросы, например, сходу не понятно, как к выдранной из нетбука материнской плате прикрутить LCD-дисплей с тачем. Плюс, я как-то не задавался целью получить на выходе звук с параметрами, превышающими 16 бит 48 кГц — по-моему, более чем достаточно. Кстати, качество встроенного звука оказалось заметно выше, чем аналоговый выход Raspberry Pi.
                                                      • +1
                                                        Т.е. усе собрано? Если да, то не терпится заслушать как оное играет ( понимаю что соль не в этом, но все-таки ). Если будет выложено в завершении цикла материалов, то потерплю.
                                                        А так, вполне логичное решение проблемы несколько встроенными средствами — сам хотел выделить отдельную старую двухгигагерцовую машинку, только под софт-синты, поставить туда более менее хороший звук и более не перетаскивать ноут с рабочего места в музыкальный угол…
                                                        • +1
                                                          Пока еще окончательно не собрано, но уже большая часть функционала работает, синтезатор играет. Чтобы все было красиво, нужно докупить несколько разъемов, шлейф для соединения 50-пинового разъема ARM-компьютера с остальной частью синтезатора, сделать ответную плату, куда будет подключаться шлейф, также решить вопрос с питанием всего этого хозяйства. Плюс, я планирую задействовать и сделать программируемыми элементы управления (кнопки), имеющиеся на лицевой панели. Пока никуда не подключен и не работает разъем педали и Pitch Bend. Демо конечно же будет выложено в последующих статьях (пока планируется еще две статьи).
                                                        • 0
                                                          Лежит у меня уже давненько старенький синтезатор. Не то чтобы он был уже сломан, просто напросто очень сложно тянуть к пк провода для того чтобы сделать его midi-клавиатурой…
                                                          Но зачем так извращаться и пихать туда целый пк? Может можно прикупить bluetooth модуль и создать связку через МК?
                                                          • +1
                                                            Конечно можно. С некоторой долей вероятности там стоит отдельная микросхема, сканирующая клавиатурную матрицу, которая посылает данные о нажатых клавишах в UART. Можно прицепить к ней Bluetooth-модуль. В моем случае мне хочется не просто MIDI-клавиатуру, а чтоб играло :) Поэтому целый пк…
                                                            • 0
                                                              В зависимости от версии bluetooth задержка может составлять до 500 мс. Неюзабельно, имхо. Уже ~30-50мс задержки при игре на инструменте чувствуются, чего уж говорить о 500. Вроде бы в BT 4.0 проблему более-менее решили, но все равно беспроводные интерфейсы для игры на музыкальных инструментах стоит использовать в самую последнюю очередь.
                                                              • 0
                                                                10 мс называютя «туманом».
                                                                При игре шестнадцатыми создается ощущение что что-то не так, где-то меня накалывают.
                                                                Задержки больше 10 мс уже выше порога комфорта.
                                                                Я это неоднократно испытывал на людях во время конференций.
                                                                (есть у меня такое хобби — собрать аудиостенд на линуксе и раз в год выйти на конференцию чтобы дать людям побренчать и потыкать).
                                                                Даже не особо искушенные музыканты при игре композиции Thunderstrock на электрогитаре жаловались на задержки.
                                                                А она была где-то 20 мс.

                                                                Если делать на ARM, то на мой взгляд потребуется хороший Cortex-R процессор.
                                                                Либо A7/A9 с четырьмя ядрами и блоком NEON.
                                                                Плюс не помешает скомпилировать ядро и аудиоприложения со всем доступными инструкциями процессора.
                                                                К тому же ядро лучше брать RT.

                                                                Все что касается передачи по сети — затюнингованный вайфай у меня вносил задержки примерно в 2-3 мс.
                                                                Тут еще зависит от того как реализована коммутация.
                                                                Блютус вообще для передачи аудио в реальном времени не годится. Я не говорю о том что в реальных условиях уже на расстоянии 5 метров начинаются помехи.

                                                                Вообщем, нюансов и подводных камней столько что это тянет на целую статью.
                                                                • 0
                                                                  > Вообщем, нюансов и подводных камней столько что это тянет на целую статью.

                                                                  Напишите её :)
                                                            • 0
                                                              Сразу вспомнился chipophone Линуса Акессона
                                                              Chipophone

                                                              • 0
                                                                Внешний ЦАП не планируете? Качество звука у платы устраивает?
                                                                • 0
                                                                  Прочитал выше про кодек на плате, могу сказать, что даже вот такой будет звучать лучше — на максимальной громкости нет посторонних шумов, фона, писка и т. д., чего вряд ли можно добиться со встроенным кодеком. Не знаю, правда, как там с АЧХ.
                                                                • +1
                                                                  В принципе, качество звука меня устраивает. Я ожидал худшего от встроенного кодека. На крайний случай у меня еще есть внешняя USB-звуковая карточка Creative SB Play. Встроенный кодек действительно на максимальной громкости не очень чисто звучит, поэтому при загрузке я устанавливаю 90% громкость. В крайнем случае воткну USB-свисток и буду выводить звук через него.

                                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.