有问题的机器是 Macbook Pro 16,2(16 英寸,2019 年)。我正尝试在其上启动 JACK 服务器,以便我可以在 Ardour 中使用 MIDI 并同时播放音频。
到目前为止我已经尝试过的东西:
在 Ubuntu 和 Ubuntu Studio(22.04 LTS)中,t2-ubantu-内核(我认为它提供了 Apple T2 音频设备或驱动程序):
JACK
以开始qjackctl
,以Apple T2 Audio
音频接口,各种参数设置:失败并出现错误“ALSA: 无法打开 PCM 设备 alsa_pcm”JACK
以 开始qjackctl
,以音频接口为开始HDA ATI HDMI
,各种参数设置:失败(不知道为什么,我稍后会检查输出并编辑问题)Ardour
以alsa
音频系统、Apple T2 Audio
设备启动:因无法启动音频/midi 引擎而失败Ardour
从JACK
音频系统和HDA ATI HDMI
设备、alsa_seq
midi 系统启动:成功,无声音,但可以在 midi 轨道中看到 midi 信号,在主控中看到声音信号Ardour
以JACK
音频系统和Apple T2 Audio
设备、 midi 系统启动alsa_seq
:失败,无法启动音频/midi 引擎pulseaudio
使用作为音频系统和作为设备启动 ArdourApple T2 Audio
,无法选择 midi 系统(仅显示无选项):成功,有声音,但没有 midi 连接
以下是一些观察结果
aplay
并pulseaudio
正常工作,因此 alsa 知道如何使用 Apple T2 音频设备,而 pulseaudio 知道如何通过 alsa 使用 Apple T2 音频fluidsynth
从以下说明开始Debian 维基上的 PulseAudioMidi可以工作,在 midi 键盘上播放,并且声音没有可识别的延迟。- 在我切换到 t2-kernel 之前,JACK 和 midi 键盘在 Ubuntu Studio 上工作正常(从 Ardour 开始;只是没有声音)。我认为唯一可用的设备是虚拟设备。
我想问一下有人让 Apple T2 Audio 与 JACK 配合使用吗或者是否有一些常见的解决方法可以在 T2 Mac 上的 Ubuntu(或其他发行版)上进行音频制作。如果有人能指出我的问题可能是什么以及如何解决它们,那就最好了。
ps:仔细想想,如果 alsa 可以工作,并且 JACK 可以在 alsa 之上工作,那么它就应该可以工作,或者对 JACK 使用 alsa 的方式进行某种配置,以复制 alsa 的正常行为,就像 aplay 或 pulseaudio 所做的那样,但我在网上找不到任何关于此的信息。
答案1
我让它与 pipewire 一起工作,下面是我所做的:
1.重新安装系统
创建一个干净且易于重现的环境。
- 安装 Ubuntu Studio
- 根据以下说明进行手动内核更新t2linux
- 创建 /etc/grub.d/08_t2support,将 /boot/grub/grub.cfg 中的第一个菜单项复制到其中,将 vmlinuz 和 initrd 改为刚刚下载的,可以在 下找到
/boot
,然后sudo update-grub
/etc/grub.d/08_t2support
看起来像这样。它的功能是在所有加载刚下载的内核的菜单项前面添加一个菜单项。
echo "menuentry 'Ubuntu (t2 support)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-22dd21ec-2569-41c2-84e2-64aba99bada0' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 22dd21ec-2569-41c2-84e2-64aba99bada0
else
search --no-floppy --fs-uuid --set=root 22dd21ec-2569-41c2-84e2-64aba99bada0
fi
linux /boot/vmlinuz-6.3.9-t2-jammy root=UUID=22dd21ec-2569-41c2-84e2-64aba99bada0 ro threadirqs quiet splash $vt_handoff
initrd /boot/initrd.img-6.3.9-t2-jammy
}"
2.安装/启用 pipewire
我跟着本教程
3. 用管线代替千斤顶
简洁版本:
查看pw-jack 的 ubuntu 手册页面找到其中的软件包pw-jack
,安装它,并在每个要使用的 jack-aware 程序前面加上前缀(只是为了安全)
长版本:
这是棘手的部分,我读过各种帖子,看过 YouTube 视频,了解 pipewire 和 ardour 如何协同工作,但大多数都没有说明,或者说它们“开箱即用”,而我的情况却并非如此。幸运的是,我pw-jack
发现这个unfa视频它似乎可以完成工作。它不在标准 pipewire 包中,管线千斤顶无关紧要。我在谷歌上搜索了“pw-jack”,找到了pw-jack 的 ubuntu 手册页面,其中写道它在 pipewire-audio-client-libraries 包中提供。我安装了它,然后pw-jack qjackctl
显示 jack 处于活动状态,pw-jack ardour
将其添加到正在运行的 jack 连接,所有内容都出现在 qjackctl 的图表中,一切正常。