TuxGuitar在macOS上的音频单元插件音高问题解析
问题现象
在TuxGuitar 1.6.6版本(SWT Cocoa x86架构)及更新版本中,当启用音频单元插件(Audio Unit plugin)并点击播放时,会出现以下两个明显问题:
- 所有音频播放的音高会降低一个八度(相当于-12个半音)
- 音色会切换到一个相对沉闷的音色库(soundfont)
值得注意的是,这个问题仅在音频单元插件启用状态下触发播放时出现。如果先关闭插件播放,再重新启用插件,则能保持正常音高和音色。
技术分析
经过开发团队排查,发现该问题源于一个特定的代码提交(604fee7da79bac1aebd1005e5c650d0a343f0480)。在这个提交中,开发者在重构音频单元插件时,无意中删除了一个关键的音高转换系数:
value *= 128;
这个系数负责将MIDI音符值转换为正确的音频频率。缺少这个系数会导致所有音符的音高计算错误,表现为整体降低一个八度。
解决方案
开发团队在后续提交(19d5ae544e67ee43398404919406f1ceb26dac97)中修复了这个问题,重新加入了缺失的音高转换系数。用户可以通过以下方式解决:
- 升级到2025-01-09或更新的TuxGuitar-next版本
- 确保使用SWT Cocoa版本
相关注意事项
虽然音高问题已解决,但用户报告在最新版本中出现了另一个相关问题:当音轨处于独奏状态时,音频单元图MIDI播放会出现音符丢失现象。这个问题在以下情况下不会出现:
- 当音轨设置为Bus 1输出时
- 当使用DAW VST乐器驱动时
这个问题似乎只影响音频单元图MIDI播放,且仅在独奏状态下出现。开发团队正在进一步调查此问题。
总结
对于macOS用户来说,音高异常问题已经通过最新版本得到修复。建议遇到类似问题的用户及时更新软件版本。同时,开发团队也注意到了新出现的音符丢失问题,预计将在后续版本中继续优化音频单元插件的稳定性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



