在为PPA提供Sonic Pi二进制文件的过程中,PPA二进制文件的用户们经常遇到jackd的问题。如何让事情对他们来说更容易呢?
Sonic Pi是一款将电子合成器与编程语言结合起来的教育音乐工具。它主要面向初学者和学龄儿童,通过音乐的乐趣来教授编程。该软件的主要安装目标是Raspbian,它会预先安装在其中。而且代码中还包含了一些内置的技巧,呃,我的意思是,实用的解决方案,以便在树莓派上运行jackd。但这些技巧是特定于树莓派的,不太适用于其他发行版。
以下是现状:
Sonic-Pi是一个图形化的IDE
它在后台运行一个基于Ruby的服务器来控制音乐
为了播放音乐,它使用scsynth(Supercollider的一部分)作为合成器后端
scsynth目前需要在Linux上使用jackd来播放音频
基于Ruby的Sonic Pi服务器会启动jackd(如果尚未运行),然后启动scsynth
现在,如果你在Ubuntu上(我猜Debian也是如此),问题就开始了:
Ubuntu上的jackd默认配置似乎并不适用于所有人,因此在某些系统上,它可能无法启动,用户必须使用qjackctl或查看日志并更改配置文件
当jackd启动时,它会阻塞PulseAudio,因此任何正在运行的使用音频的程序都将停止工作
jackd偏好实时调度,但Ubuntu没有预先配置这样做,需要更改用户设置才能实现
总的来说,这是一团糟。对于安装Sonic Pi的新手用户来说,这不是他们想要的体验。
虽然有一些指南可以教你如何在Ubuntu上使用jackd,但让新手用户或者教室里的老师跟着指南操作实在是要求太多了,他们只是想让这个软件顺利运行而已。
所以我正在寻找的方法是,确保在从.deb文件安装Sonic Pi后,jackd能够开箱即用,无需麻烦的手动配置。
愿望清单如下:
一个“开箱即用”的jackd配置
适用于所有非特权用户账户
不会阻止系统上的PulseAudio/ALSA
适用于默认的Ubuntu(如果可能的话还要适用于默认的Debian和Raspbian)
并且发行版的默认音频混音器和音量控制热键仍然可用
这样的东西真的存在吗?
是否有一个.deb文件可以满足这个需求(或者能否创建一个.deb文件)供用户安装以便按照这种方式进行配置?