我正在跟进这些步骤在我的 Ubuntu 16.04 上连接一个 midi 控制器并能够听到无需 WINE 或任何带有 GUI 的特殊软件播放的声音。
以下是我的输出:
1)lsusb
给我
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 031: ID 13d3:3408 IMC Networks
Bus 002 Device 003: ID 0bda:57b4 Realtek Semiconductor Corp.
Bus 002 Device 036: ID 0000:0538
Bus 002 Device 035: ID 09e8:0045 AKAI Professional M.I. Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
midi 是 AKAI Professional MI Corp. 很好。
2)此命令应显示我的控制器:
cat /proc/asound/cards
其输出是
0 [HDMI ]: HDA-Intel - HDA Intel HDMI
HDA Intel HDMI at 0xf7a1c000 irq 52
1 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xf7a18000 irq 51
2 [II ]: USB-Audio - MPK Mini Mk II
AKAI MPK Mini Mk II at usb-0000:00:14.0-1, full speed
我该如何准确解释这一点?
3)接下来我应该运行以下命令:
sudo addgroup audio
sudo adduser $USER audio
(相应替换 $USER)
sudo apt-get install fluidsynth
sudo apt-get install fluid-soundfont-gm
sudo apt-get install jackd2
4) 接下来我应该使用 来检查我的声卡在哪个地址上输出
aplay -l
,其输出如下。我该如何读取它?在后面的步骤中,我需要通过了解声卡地址来将 midi 与 fluidsynth 连接起来。
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/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: ALC3236 Analog [ALC3236 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
5) 接下来我应该运行 JACK 服务器,但允许它绕过任何并发的 pulseaudio 进程,但我插入了错误的设备地址。
pasuspender -- jackd -d alsa --device hw:0 --rate 44100 --period 1024
我得到:
jackdmp 1.9.11
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
Cannot create RT messagebuffer thread: Operation not permitted (1)
Retrying messagebuffer thread without RT scheduling
Messagebuffer not realtime; consider enabling RT scheduling for user
no message buffer overruns
Cannot create RT messagebuffer thread: Operation not permitted (1)
Retrying messagebuffer thread without RT scheduling
Messagebuffer not realtime; consider enabling RT scheduling for user
no message buffer overruns
Cannot create RT messagebuffer thread: Operation not permitted (1)
Retrying messagebuffer thread without RT scheduling
Messagebuffer not realtime; consider enabling RT scheduling for user
no message buffer overruns
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
Cannot lock down 82274202 byte memory area (Cannot allocate memory)
audio_reservation_init
Acquire audio card Audio0
creating alsa driver ... hw:0|hw:0|1024|2|44100|0|0|nomon|swmeter|-|32bit
ALSA: Cannot open PCM device alsa_pcm for playback. Falling back to capture-only mode
Cannot initialize driver
JackServer::Open failed with -1
Failed to open server