![胆怯和脉冲音频播放](https://linux22.com/image/886183/%E8%83%86%E6%80%AF%E5%92%8C%E8%84%89%E5%86%B2%E9%9F%B3%E9%A2%91%E6%92%AD%E6%94%BE.png)
我对在 Ubuntu 中安装并运行 Guitar Pro 5 很感兴趣。尝试过 Tuxguitar,但它太笨重了,无法进行任何长期工作,所以我买了 Wine 并安装了 Guitar Pro。我可以启动它并通过 Timidity 成功播放声音。但是,似乎有一个严重的限制,即在任何给定时间只能有一个输出(脉冲音频或 Midi)处于活动状态。
我的问题:
- 当 Guitar Pro (midi) 处于活动状态时,我无法播放网络浏览器或系统音频。
- 通过浏览器或音频播放器(如 Audacious 或 VLC)播放系统音频后,我无法播放 GP 音频。
- 播放任何类型的系统音频后,我必须在 GP 设置中选择一个新的 Timidity 端口,之后系统音频将变为“阻塞”,只能听到 GP 音频。我必须完全退出 GP 才能恢复系统声音功能。
当然,这使得在软件运行时转录音频(我使用这款软件的主要爱好)或简单地进行任何类型的一般音频工作几乎不可能。显然,这是总体而言胆怯如此处所述:
https://bugs.launchpad.net/ubuntu/+source/timidity/+bug/210472
特别是评论#19
https://bugs.launchpad.net/ubuntu/+source/timidity/+bug/210472/comments/19
引用一下,用户建议:
“在系统模式下运行 pulseaudio 并将 timidity 用户添加到 pulse-access 组”
我不确定该怎么做。这个操作系统对我来说仍然是一个新环境,我不会乱动权限。有人能给我一个如何实现这一点的指南吗,或者找到一个完全替代的解决方案?
我正在使用 Ubuntu 16.04。
如果您读到这里,谢谢。
PS:如上所述,这个问题与 Guitar Pro 无关,但与一般的 Midi 播放有关。当我使用 Timidity 端口时,Tuxguitar 也给我带来了同样的困扰,所以我不得不切换到 Gervill 播放。
答案1
在终端中尝试以下命令后解决了我的问题:
timidity -iA -B2,8 -Os &
笔记:-Os
是大写字母o,而不是数值0。
下面有更多技术信息。
这样做的目的是在 ALSA 下启动一个新的 Timidity 实例。在 下timidity --help
,-iA
表示“ALSA 序列器接口”,-Os
表示“ALSA pcm 设备”。最终,这会导致 Timidity 和 Pulse-Audio 软件的音频播放之间不会相互干扰。您必须相应地调整您的 Timidity 端口,因为默认情况下,通常会有一个 Timidity 实例在 Root 下运行。您将收到一条消息,内容如下
打开序列器端口:130:0 130:1 130:2 130:3
这通常对应于打开的最后一个 Timidity 实例。为了成功播放,我在最后 3 个可用端口选项下选择了端口 0。请注意,如果您使用 Ctrl-C 退出命令,则进程仍将在作业下处于活动状态,并在系统监视器中可见。要正确终止活动进程,请先jobs
在终端中运行命令,然后运行kill%x
,其中 x 对应于与上述 timidity 命令相关的作业编号。