Шаг за шагом запустить миди-клавиатуру? 12,04


21

У меня есть Korg Nanokey, и я бы хотел, чтобы он производил звук в Ubuntu. Я прочитал, что это означает, что я должен использовать Rosegarden, и что Rosegarden использует JACK, но не устанавливает его. (Хотя проверяя Ubuntu Software Center, очевидно, что некоторые компоненты JACK установлены по умолчанию?)

Я понимаю, что может быть много работы по настройке JACK без борьбы со стандартным звуковым сервером. Может ли кто-нибудь дать мне пошаговый метод для того, что мне нужно сделать, чтобы подключить мой миди-аппарат и слушать музыку, когда я нажимаю клавиши настолько просто, насколько это возможно (без путаницы pulseaudio, т.е. чтобы я все еще мог получить доступ к Skype и обычному настольный материал)? У меня все хорошо, установка JACK, но я бы хотел немного поставить ее в песочницу, если есть шанс испортить обычный рабочий стол.

Я просмотрел несколько ресурсов, но я не уверен, что устарело, но следующее выглядело полезным ...

Ответы:


22

Если вы просто хотите, чтобы ваша клавиатура воспроизводила звук, это очень просто, и для этого вам не понадобятся ни JACK, ни Rosegarden. Эти инструменты хороши, если вы хотите записывать MIDI-сигнал, писать ноты и маршрутизировать звук между отдельными приложениями, но вам не нужно это для воспроизведения звука с помощью клавиатуры.

Мой шаг за шагом будет:

  1. Подключите ваше MIDI-устройство к вашему компьютеру. Если это USB MIDI-клавиатура, просто подключите USB, если он имеет только MIDI-разъем, вы можете использовать устройство MIDI-USB.

  2. Скачать / установить синтезатор. Для Ubuntu существует множество приложений для синтеза звука. Вам могут понравиться ZynAddSubFX (действительно мощный), FluidSynth или QSynth (поддержка звуковых шрифтов), AMSynth, AMS. Обязательно просмотрите Ubuntu Software Center для синтезатора, который заинтересует вас.

  3. Запустите синтезатор. Конечно, он должен быть запущен, чтобы производить звук.

  4. Скажите системе передать данные с клавиатуры на синтезатор. Вам необходимо создать связь между клавиатурой и синтезатором, чтобы на нее передавался MIDI-сигнал. Вы можете использовать aconnectинструмент или один из его графических интерфейсов (которые проще в использовании), например aconnectguiили kaconnect. Хотя по умолчанию установлено приложение aconnect, два других можно получить в Центре программного обеспечения. После подключения клавиатуры и синтезатора перейдите к последнему шагу ...

  5. Нажмите клавишу на клавиатуре. Вы услышите какой-то звук! Если нет, убедитесь, что звук вашей системы не отключен и подключены наши динамики. Кроме того, некоторые синтезаторы требуют, чтобы вы выбрали инструмент, прежде чем они будут производить какой-либо звук.

  6. Точно настройте параметры синтезатора. Скорее всего, вам не понравится первоначальный звук синтезатора. В случае ZynAddSubFX это будет синусоида, скучно! Тем не менее, вы можете легко просмотреть большую коллекцию тембров и полностью настроить их. Все синтезаторы предоставляют вам множество настроек, стоит потратить некоторое время на выбор того, что вам больше всего нравится.

  7. Продолжай играть. Удачи и приятного времяпровождения!

Я также однажды написал статью об общем рабочем процессе для создания музыки с внешней клавиатурой в Ubuntu, это должно быть полезно в вашем случае. Вот ссылка.


Как мне установить ссылки для aconnectgui? Я случайно связал кучу вещей вместе, хочу сбросить ссылки.
answerSeeker

@TatakaiWasumi Выберите инструмент ножницы и затем щелкните левой кнопкой мыши на соединении. Это «обрезает» (т. Е. Удаляет) соединение.
Holocronweaver

Если вы выберете qjackctrl, вы можете использовать вкладку соединений, чтобы направить синтезатор для вывода на динамики (если он не установлен по умолчанию) и вход USB MIDI на вход синтезатора. Я должен был сделать это, когда ZynAddSubFX не смог подключиться к выходу динамика, и aconnectgui не смог установить это соединение.
Holocronweaver

Я должен был также добавить qjackctlв конвейер, чтобы сделать qsynthреальный звук. qjackctlтакже можно выполнить шаг 4, поэтому aconnectв этом случае нет необходимости. Дополнительным шагом в этом случае является настройка устройств ввода / вывода qjackctl, перейдяsetup->settings->advanced
chefarov

5

Я не знаю о Розегардене, но вы можете запустить qjackctl из менеджера пакетов. Amsynth - это простой и легкий способ сделать звук в среднем положении.

Я не знаю, как запустить jack и pulseaudio одновременно - то есть запустить хром через разъем jack (на самом деле, изучая его прямо сейчас). Мой опыт в 12.04 пока что легко звучит.

  • Установите qjackctl и amsynth из менеджера пакетов
  • Выключите любые веб-браузеры или другие вещи, которые могут потребовать звуковое оборудование
  • Запустите qjackctl (возможно, вам придется поиграться с параметрами в настройках, но я этого не сделал - на этот раз)
  • Запустите Amsynth
  • На вкладке ALSA qjackctl (почему это не вкладка midi?!?!) Подключите ваше USB-устройство midi (надеемся, что оно будет обнаружено автоматически) к Amsynth ...
  • Убедитесь, что Amsynth подключен к аудиовыходу ...
  • Играть!

1
Это qjackctl, а не qjackctrl
answerSeeker

4

MIDI в Linux очень модульный и, как следствие, изначально подавляющий. Приятно иметь решение с низкой сложностью, работающее до того, как вы начнете заниматься оптимизацией, но, к сожалению, Ubuntu не поставляется с рабочей конфигурацией по умолчанию. Вот самый простой способ, который я нашел ...

sudo apt install qsynth vmpk ## install components
qsynth & vmpk ## launch
  • Qsynth -> Setup -> Sountfonts -> Open : FluidR3_GM.sf2
  • Virtual MIDI Piano Keyboard -> Edit -> Connections ->
    • Enable MIDI Thru on MIDI Output : (проверено)
    • Input MIDI Connection : (Ваш контроллер)
    • Output MIDI Connection : FLUID Synth

На этом этапе вы сможете воспроизводить ноты либо с внешнего MIDI-контроллера, либо с графического интерфейса виртуального пианино ( графический интерфейс работает, даже если у вас нет внешнего контроллера ).

В графическом интерфейсе клавиатуры вы можете выбрать различные инструменты (см. Program). В графическом интерфейсе Qsynth вы можете управлять громкостью (см. Gain), А также эффектами реверберации и хоруса. Также есть Panicкнопка на случай, если ревербератор сойдет с рельсов.

Это было специально протестировано при чистой установке Ubuntu Studio 18.04, но аналогичные шаги работали для Ubuntu MATE 16.04, с заметным отличием автоматической конфигурации, которое по Qsynth -> Setup -> Audio -> Audio Driverумолчанию установлено jackв Ubuntu Studio, но не в alsaUbuntu MATE.


Глицкий статический с ALSA [решено]

И 16.04, и 18.04 я испытал странную статичность, когда Qsynth изначально начал работать с alsa. Эта статика, кажется, влияет на все аудиоисточники, но она как-то срабатывает через минуту или две (по крайней мере, частично).

Позже я попробовал эту настройку на менее мощном процессоре и заметил похожую статику, которая, похоже, со временем не разрешалась. [Кроме того, я заметил, что эта статика коррелировала с появлением и ALSA plug-in [qsynth]отклонением линии на вкладке Приложения Sound Preferences].

Это заставило меня поиграть с некоторыми настройками Qsynth, и я нашел что-то, что, похоже, решает обе проблемы: статические / сбои (возможно, с компромиссом небольшого увеличения задержки):

  • Qsynth-> Setup-> Audio-> Buffer Size:128
  • Qsynth-> Setup-> Audio-> Buffer Count:8

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


vmpkтеряет связь с Qsynthпри изменении настроек. Самый быстрый способ поэкспериментировать с изменением настроек - закрыть и перезапустить, vmpkчтобы восстановить соединение.


Альтернатива: приложение «Полифон» (отсутствует в репозиториях Ubuntu)

Я положил глаз на Polyphone как (почти) решение «все в одном» (по сути, расширенный набор qsynth + vmpk). Хотя его пока нет в репозиториях Ubuntu (по состоянию на 19.04 Disco), его было легко собрать из исходного кода 18.04 (также имеется предварительно собранный Ubuntu .deb).

Пакет не включает звуковой шрифт по умолчанию (это создатель / редактор звукового шрифта), но вы можете получить его с помощью sudo apt install fluid-soundfont-gm(at /usr/share/sounds/sf2/) - или попробовать загрузить его из «Онлайн-репозитория» приложения (но для этого может потребоваться учетная запись).

Перейдите Settings->General->Input/Outputи убедитесь, что настройки Audio / MIDI разумны, затем откройте звуковой шрифт и выберите инструмент под ним, Presetsи он должен быть готов к воспроизведению музыки с вашего MIDI-контроллера или со встроенной виртуальной клавиатуры.


После того, как у вас есть базовая настройка, вас могут заинтересовать некоторые из множества опций, описанных здесь: Ted's Linux MIDI Guide
nobar

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

Теперь, если бы я мог просто выяснить, как транспонировать контроллер ...
Нобар

1
@Bani, я еще не смог использовать MIDI через Bluetooth в Ubuntu. Сегодня вечером я попробовал снова с моим Xkey Air, но он не может соединиться (Ubuntu 18.04). Это может быть путь вперед , но я не собираюсь сейчас пробовать. Еще одна опция, с которой я столкнулся сегодня вечером, - это ключ за $ 50 под названием «WIDI Bud», который, я думаю, автоматически преобразует Bluetooth в MIDI. Отпишитесь, если вы поймете - я бы тоже хотел это сделать!
Нобар

1
круто, это тоже сработало! Теперь я могу использовать его обоими способами: FP-30 в качестве входа или играть на виртуальной клавиатуре, чтобы звук выходил на FP-30
Bani

1

Узнайте о своей звуковой карте:

aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3235 Analog [ALC3235 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Мы будем использовать card1, device0, таким образом, hw: 1,0

Мой конвейерный сценарий, который наконец-то сработал, использовал jack-control (qjackctl)и qsynthбыл:

  1. Установите jack-tools, jack-сервер, qsynth
  2. Откройте qsynth и перейдите к настройке. На MIDIвкладке я выбираю Midi Driver: alsa-seq. На Audioвкладке я выбираю Audio Driver: jack.
  3. Запустите джек-сервер с

    jackd -R -d alsa -d hw: 1,0

  4. Открыть qjacktctlи:

4.1 Перейти к Connect-> ALSA. В левом столбце найдите вашу клавиатуру и подключите ее к тому, qsynthчто лежит в правом столбце. Также убедитесь, что в первом столбце ( AUDIO) qsynthподключены ваши динамики (правый столбец).

4.2 Вернитесь в главное qjackctlокно. Перейдите setup->settings->advancedв правую колонку и выберите ее Output Device(динамики) и Input Device(клавиатура Midi).

На этом этапе я смог услышать мою клавиатуру. Общий скриншот установки следует

введите описание изображения здесь

PS: В этом случае никакое другое приложение не может использовать динамики одновременно.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.