【QQ炫舞自制】如何提升m4a音频音质

结论

用较好音质的m4a文件替换掉Unity编辑器导入mp3文件后生成的m4a文件就可以了。
Unity编辑器导入mp3文件后生成的m4a文件就在这个文件夹里\LevelEditor_ForPlayer_8.0\client\Assets\resources\audio\bgm

官方谱面的m4a文件如何编码?

现在的问题是,如果m4a文件大于2MB,谱子就会上传失败;如果m4a文件时长大于5分钟,根本就导入不进Unity编辑器。所以官方游戏对于自制谱m4a文件的要求就是文件大小小于2MB且时长不能超过5分钟。
按照我以前的认知,500K-700K大小的音频文件可能只是某个垃圾音质的手机铃声。Unity编辑器导入mp3文件后生成的m4a文件大小才500-700K,但是大部分音质还是不错的。所以我就想,是不是存在一种音频的编码方式既可以保证文件码率较高,而且文件还比较小?
这时就用到了一个功能:K-Lite Code Pack 软件附带的一个右键菜单栏的小工具MediaInfo,可以查看音频和视频文件的各种信息,包括编码方式,如图1图1中的音乐文件是官方谱面的音乐文件,红框部分就是编码方式,编码器是qaac,编码方式是HE-AAC / CVBR 32kbps。关于该编码方式的优缺点,网上都有,我看也看不懂,大概意思就是知道这个编码方式转码后生成的文件音质可以保证。

图1

用什么音频转码软件比较好呢?

我以前能想到的主流软件有:格式工厂QQ音乐酷狗音乐
但我认为一般的音频格式转换软件转换出来的m4a不能保证文件大小在2MB之内的情况下,音质还能更好。
酷狗音乐的格式转换功能没有转换成m4a格式的选项,QQ音乐有个转换成AAC选项,默认输出为m4a格式文件,可是,转换后生成的m4a文件音质感觉不太好,就比如转换成48Kbps码率的m4a文件,播放后听起来就和某个垃圾音质的手机铃声一样,还赶不上Unity编辑器生成文件的码率。
如图2,是FLAC无损格式的音频文件的波形。如图3,是用QQ音乐的AAC转换成48Kbps码率的m4a文件波形,与FLAC音频波形相比,m4a文件的红色波形(频谱频率)整体被切下去一大截,听上去真就是垃圾音质的手机铃声。

图2

图3

之后再网上搜到了一个比较好的音频转码软件 Foobar2000
官网链接:http://www.foobar2000.org/,下载安装后是英文界面。
中文汉化版网站(非官网):http://www.foobar2000.com.cn/,需要在网站注册,注册后可以下载,下载后是中文界面。
安装时选择“完整安装”,如图4

图4

转码时参考图5按照以下步骤进行:

  1. 用Foobar2000打开音频文件后,单击右键打开菜单栏,选择【快捷转换】。
  2. 双击【AAC (Apple)】进入编辑,或者选择【AAC (Apple)】后再单击下方【编辑】。
  3. 【编码器】处默认选择【AAC (Apple)】,不用变,如果是其他项则需要调整回【AAC (Apple)】。
  4. 【比特率模式】选择【约束 VBR】
  5. 调整品质:根据歌曲时长适当调整音频的【品质】,确保转换后的m4a文件在2MB内即可。
    一般选择【80kbps】,如果转换后的文件大于2MB,则按照滑条适当降低码率。
  6. 【使用HE-AAC - 使用与比特率低于80kbps】一定要打上“√”。
    还要注意,如果选择的码率大于80kbps的话,默认是不能勾选此项的,所以建议选择最大的比特率就是80kbps且将此项打上“√”。
    打上“√”,意味着:一是不管选择大于80kbps的何种码率,转换器将按照80kbps来进行转换;二是选择小于80kbps的码率,将按照相应码率进行转换。
    其实从96kbps开始,虽说不能勾选上“HE-AAC”,但是转换后的音质也比较好,可自行斟酌是否使用HE-AAC。
  7. 退出编码器的【编辑】模式,选择【转换】,修改文件保存路径后保存即可,再将转换后的m4a文件替换掉Unity编辑器导入mp3文件后生成的m4a文件。
    Unity编辑器导入mp3文件后生成的m4a文件就在这个文件夹里\LevelEditor_ForPlayer_8.0\client\Assets\resources\audio\bgm
    图5

音质对比

图6是FLAC格式的无损音频文件的波形。图7是经过Foobar2000转码后的m4a文件的波形,比特率64kbps,编码方式CVBR / HE-AAC,从频谱频率上看,比图3当中QQ音乐转码后的音质要好多了,而且听起来也不是很违和。

图6

图7

对音质有完美主义倾向的谱师的建议

建议用Adobe Audition编辑或剪切FLAC、WAV、APE等无损格式的文件,剪辑后保存,并用Foobar2000转码,并替换掉Unity编辑器导入mp3文件后生成的m4a文件。
为什么不建议编辑mp3文件呢?如图8,为320kbps的mp3文件,和无损音频文件相比起来,频谱频率上还是有又被剪切掉的地方(因为mp3是有损文件)。但是某些歌曲确实难以找到无损格式的音源,那就只能编辑mp3格式了。

图8

Adobe Audition 能另存为m4a格式文件吗?

不能直接另存为m4a文件,但有一个mp2-aac的选项,保存后的格式是.aac,如图9,然后可以通过更改文件后缀名,将.aac改成.m4a。但是我想强调的是这个编码方式已经过时了,码率也低,而且并不是HE-AAC,不能满足我们的游戏体验。

图9

Adobe Audition编辑m4a文件(比如插入空白音或剪辑音频)后能直接保存吗?

不能。Adobe Audition只能读取m4a文件,并不能直接保存成m4a文件。所以最好的方法还是建议用Adobe Audition编辑或剪切FLAC、WAV、APE等无损格式的文件,剪辑后保存,并用Foobar2000转码,并替换掉Unity编辑器导入mp3文件后生成的m4a文件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

友情链接更多精彩内容