炎发灼眼的OTAKU
发表于 2022-3-27 20:34:41
本帖最后由 炎发灼眼的OTAKU 于 2022-3-27 20:39 编辑
孤雨独火 发表于 2022-3-27 08:45
32整数的wav qaac能做,但我不知道是不是真的一点都没改的无损
qaac64 c:\input\01.wav -R --raw-channels 2 --raw-rate 96000 --raw-format S32L -A -o c:\output\01.alac
我输入这个,反馈是ERROR: CoreAudioToolbox.dll: 找不到指定的模块。就算我把输出后缀改成.m4a,结果还是一样
qaac64 c:\input\01.wav -R --raw-channels 2 --raw-rate 96000 --raw-format S32L -A -o c:\output\01.m4a
炎发灼眼的OTAKU
发表于 2022-3-27 20:59:39
本帖最后由 炎发灼眼的OTAKU 于 2022-3-27 21:07 编辑
车祸现场 发表于 2022-3-27 15:27
转换之后可以用fpcalc测试下音频指纹是不是一致。
指纹一致就是完全一致吗?
对比了一下原来的32bit wave和用ffmpeg输出的alac,指纹是一模一样的,不过输出alac时显示是用24bit编码……查看音频信息是显示s32p(24bit),搞不懂
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: M4A isomiso2
track : 1
genre : JPOP
date : 2021
encoder : Lavf59.16.100
title : A Promise
album : A Promise
artist : �������
Duration: 00:04:53.41, start: 0.000000, bitrate: 3040 kb/s
Stream #0:0(und): Audio: alac (alac / 0x63616C61), 96000 Hz, stereo, s32p (24 bit), 3039 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : 而另一个32bit的alac音频文件信息是s32p没有(24 bit)的{:8_742:}
Metadata:
major_brand : M4A
minor_version : 0
compatible_brands: M4A mp42isom
creation_time : 2021-09-21T15:18:03.000000Z
track : 3
disc : 1
genre : ゲーム
date : 2021
encoder : refalac 1.72, Apple Lossless Encoder
title : BLAZE
copyright : (P)Lantis
composer : 大和
comment : https://www.e-onkyo.com/music/album/laca15879/
:
: Purchased by wfhtony.
artist : ナリタブライアン (CV.衣川里佳)
album_artist : Various Artists
album : スマホゲーム『ウマ娘 プリティーダービー』WINNING LIVE 02
Duration: 00:04:53.49, start: 0.000000, bitrate: 4648 kb/s
Stream #0:0(und): Audio: alac (alac / 0x63616C61), 96000 Hz, stereo, s32p, 4637 kb/s (default)
Metadata:
creation_time : 2021-09-21T15:18:03.000000Z
vendor_id :
zzy2000129
发表于 2022-3-27 22:24:48
32bit 印象中就得用Wavepack了
孤雨独火
发表于 2022-3-28 00:04:50
本帖最后由 孤雨独火 于 2022-3-28 00:39 编辑
炎发灼眼的OTAKU 发表于 2022-3-27 20:34
我输入这个,反馈是ERROR: CoreAudioToolbox.dll: 找不到指定的模块。就算我把输出后缀改成.m4a,结果还 ...
我不知道你是不是对着维基装全了东西
去掉msvcr这类通用库也就几个文件
但是结果计算指纹是不一致的(
还是wavpack吧(指纹一致,心理上更安全
tonyhsie
发表于 2022-3-28 04:10:20
用 ffmpeg 把你的 alac 還原成 wav,看是不是跟原 wav 檔差不多,是的話就OK了
孤雨独火
发表于 2022-3-28 08:08:30
tonyhsie 发表于 2022-3-28 04:10
用 ffmpeg 把你的 alac 還原成 wav,看是不是跟原 wav 檔差不多,是的話就OK了
这种方法适用于常规的cd级wav
这个例子里你会发现 wav → alac → wav 体积砍半,但指纹依旧一致{:4_688:}
车祸现场
发表于 2022-3-28 18:36:26
炎发灼眼的OTAKU 发表于 2022-3-27 20:59
指纹一致就是完全一致吗?
对比了一下原来的32bit wave和用ffmpeg输出的alac,指纹是一模一样的,不过输 ...
是我搞错了,指纹一致不能代表是一样的音频。
Eclipse
发表于 2022-3-28 22:57:34
我用 qaac 也试了一下,使用
qaac64.exe -A 01.wav
就能无损转成 ALAC 格式了,并且运行
qaac64.exe -D 01.m4a -o 01_dc.wav
是可以还原回原来的 .wav 文件的(除了元数据会被抹除)
qaac 用的是官方发布的最新版本:https://github.com/nu774/qaac/releases
参考文档:https://github.com/nu774/qaac/wiki/Exampleshttps://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif
tonyhsie
发表于 2022-3-29 02:27:35
孤雨独火 发表于 2022-3-28 08:08
这种方法适用于常规的cd级wav
这个例子里你会发现 wav → alac → wav 体积砍半,但指纹依旧一致{:4_688 ...
「跟原 wav 檔差不多」,指的是真正的 binary data 比對,並不是什麼抽樣驗證或是頻譜比對....
驗證無失真壓縮,就是檢查能不能還原回原始資料而已
dtlnor
发表于 2022-3-29 16:15:53
本帖最后由 dtlnor 于 2022-3-29 16:18 编辑
后面那个(24bit)才是精度,s32p是数据储存的方式(24bit有效然后剩下8bit可能只是填空了,因为ffmpeg只有16bit跟32bit)。
所以如果有后面括弧的话,看后面括弧的数值就可以了(也就是说你的32整数pcm应该是被转换成24bit了)
建議抄18樓答案