Qt 音频编辑
Posted
技术标签:
【中文标题】Qt 音频编辑【英文标题】:Qt audio editing 【发布时间】:2012-09-15 04:25:41 【问题描述】:我想创建一个可以在移动设备上运行的类似于 Audacity 的 qt 应用程序。我现在想要的是改变音量、音高和节奏的能力。我还希望能够选择、复制和粘贴部分音频文件。
你们中有人知道用于 Qt 的 API、SDK 或其他允许这样做的东西吗?
我可以在 Qt 中找到的所有内置内容是 QtMultimedia,它允许我导入音频文件然后播放它,但它似乎没有编辑(比特率、频道等除外)或操作。
这是针对 Symbian 的,可以在 windows 或 kubuntu 上构建。
【问题讨论】:
您没有指定哪个操作系统,Qt 对流行操作系统的移动支持是不完整的。此外,在没有时间刻度的情况下更改一段音频的音高涉及一些非常严肃的数学运算(FFT -> 旋转箱 -> IFFT,不会造成可怕的伪影),无论您使用哪种 API,您几乎肯定都必须自己实现这一点。在不改变音高的情况下改变歌曲的速度也是如此。 我正在为 Symbian 制作这个,如果可能的话,我可以使用 Audacity 算法吗? surina.net/soundtouch 是我所知道的最先进的音高转换/速度拉伸库,它是开源的。我不知道这是否是 Audacity 使用的,但它远非最先进的。 【参考方案1】:使用audio backends 之一:
音频插件 音频后端实现 QAudioInput、QAudioOutput、QAudioDeviceInfo 和 QSoundEffect 以下是当前音频后端的列表: 视窗多媒体 CoreAudio (Mac OS / ios) 脉冲音频(Unix) 阿尔萨 (Unix) OpenSL ES (安卓) QNX 只有 PulseAudio、CoreAudio 和 QNX 后端是真正的插件。其他后端是相关类中的“#ifdef'ed”。参考文献
Qt 5.4 Multimedia Backends
Qt 5.5.0 Multimedia Backends
【讨论】:
以上是关于Qt 音频编辑的主要内容,如果未能解决你的问题,请参考以下文章
华为音频编辑服务(Audio Editor Kit),快速构建应用音频编辑能力
华为音频编辑服务(Audio Editor Kit),快速构建应用音频编辑能力