FLAC更新1.5.0版本,已正式支持多线程编码
本帖最后由 wfhtony 于 2025-2-13 09:49 编辑下午公司摸鱼看新闻的时候看到FLAC出1.5版本了...
→ FLAC 1.5.0 released
→ FLAC 1.5 发布:多线程加持,编码速度飙升
试了下走64线程( -j 64 ),压缩(编码)速度飞快。文档上说目前支持最大128线程(这次多线程只针对编码,解码方面没动)。
https://tc2.wfhtony.space/images/2025/02/12/03ed7b593cd55554fa2fea9bb8a7aa21.gif
另外,指令加上多线程参数后,FLAC会先评估当前CPU是否适合当前线程数,如果不适合(线程太多)会回退到单线程编码。目前咱手上的笔电(i7-6700HQ)最大支持64线程。
实测 Ryzen 5 3600 最大也是只能支持64线程。
抓盘(EAC)方面,一张365MB左右的整轨WAV,在开启64线程的情况下,一分钟内就能压缩完成。
另外,这次xiph基金会貌似只在github上上传了新版本,他们自己的git库上还没有上传过去...
如果有包管理器的使用习惯的话,咱也随便写了下scoop的manifest(main bucket里的manifest是从xiph自己的git库拉新版本的),可以用来应急(
=====
1.5.x版本的性能测试讨论:https://hydrogenaud.io/index.php/topic,127409.0.html 我EAC抓轨总是调用不了FLAC压缩,是我操作哪里错了吗 本帖最后由 wfhtony 于 2025-2-12 20:30 编辑
诗怀雅 发表于 2025-2-12 20:19
我EAC抓轨总是调用不了FLAC压缩,是我操作哪里错了吗
EAC → Compression options → External Compression
(前提:必须勾选「Use external program for compression」)
先检查一下flac的二进制文件是否选择正确,再点下下面的「Test encoder」看看编码是否会报错。
如有报错,检查一下「Additional command-line options」上面的命令是否正确。
https://tc2.wfhtony.space/images/2025/02/12/9fc930a5cf77fc0deccf5be037b05b77.png wfhtony 发表于 2025-2-12 20:23
EAC → Compression options → External Compression
先检查一下flac的二进制文件是否选择正确,再点下 ...
===============================================================================
flac - Command-line FLAC encoder/decoder version 1.4.3
Copyright (C) 2000-2009Josh Coalson
Copyright (C) 2011-2023Xiph.Org Foundation
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
===============================================================================
This is the short help; for all options use 'flac --help'; for even more
instructions use 'flac --explain'
Be sure to read the list of known bugs at:
http://xiph.org/flac/documentation_bugs.html
To encode:
flac [-#] ]
-# is -0 (fastest compression) to -8 (highest compression); -5 is the default
To decode:
flac -d ]
To test:
flac -t ]
然后出来的是wav 本帖最后由 wfhtony 于 2025-2-12 20:37 编辑
诗怀雅 发表于 2025-2-12 20:29
===============================================================================
flac - Command-lin ...
命令里没有写「%source%」(最好再检查一下「-o %dest%」是否有写在里面)。
例:-8 -e -p -V -T "ALBUM=%albumtitle%" -T "DATE=%year%"-T "GENRE=%genre%" -T "COMMENT=%comment%" -T "ALBUMARTIST=%albumartist%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "TOTALTRACKS=%numtracks%" %hascover%--picture="%coverfile%"%hascover% %haslyrics%--tag-from-file=LYRICS="%lyricsfile%"%haslyrics% %source% -o %dest%
命令不要写太长,记得EAC老版本上面是有字数限制的,多出来的字符会被吞( 新版本(1.8)应该没有这个问题了 wfhtony 发表于 2025-2-12 20:32
命令里没有写「%source%」(最好再检查一下「-o %dest%」是否有写在里面)。
例:
命令不要写太长,记得EA ...
我看明白了。。。我没有填附加命令行选项
不过抓了wav也凑合( 最后好像就flac活,下来了吧,ape和tak、tta都销声匿迹了
—— 来自 Xiaomi 23127PN0CG, Android 15上的 S1Next-鹅版 v2.5.4 baiducaonima 发表于 2025-2-13 08:43
最后好像就flac活,下来了吧,ape和tak、tta都销声匿迹了
—— 来自 Xiaomi 23127PN0CG, Android 15上的 S ...
好像现在流媒体服务提供的无损都是FLAC? 本帖最后由 wfhtony 于 2025-2-13 10:34 编辑
baiducaonima 发表于 2025-2-13 08:43
最后好像就flac活,下来了吧,ape和tak、tta都销声匿迹了
—— 来自 Xiaomi 23127PN0CG, Android 15上的 S ...
wavpack还活着...虽然使用范围也还是小众就是(DSD/32bit浮点 目前的无损压缩(几乎)唯一解 新版本的ape已经可以做到32bit浮点的无损压缩了)。
(其实这次的多线程基本就是从wavpack那边吸收过来的(--threads 参数))
—— 來自 鵝球 v3.3.96 谢枫华 发表于 2025-2-13 09:41
好像现在流媒体服务提供的无损都是FLAC?
无损格式的串流平台,除苹果(ALAC)之外的基本都是FLAC。
—— 來自 鵝球 v3.3.96 那FLAC一统天下的理由就很简单了嘛。现在网络上流传的无损基本上都是从流媒体扒的,很少有自己抓碟的了。 以前用光驱抓过轨,现在pc,甚至笔记本都不带光驱了,外接也挺麻烦。家里除了游戏机,只有个搞氛围的cd机还能读碟了
大学时买的游戏碟,刻的几百张动漫光盘也都没地儿读了 本帖最后由 eilot 于 2025-2-13 10:58 编辑
谢枫华 发表于 2025-2-13 09:41
好像现在流媒体服务提供的无损都是FLAC?
TAK最大問題是原作者未公開原始碼,又失蹤
又多年沒更新,
播放軟件支援也好少
tta就愈來愈少人用
另外就算是FFmpeg或大合集插件套件等,非官方版好大機會也不包tak和tta
變相令這兩種格式已經難以理會 本帖最后由 wfhtony 于 2025-2-13 11:15 编辑
eilot 发表于 2025-2-13 10:54
TAK最大問題是原作者未公開原始碼,又失蹤
又多年沒更新,
播放軟件支援也好少
TTA基本算作被放弃开发的格式了。(TTA上次更新是2015年 十年了,TAK上次更新是2022年)
目前最有希望和FLAC做竞争的格式还是wavpack(虽然ape现在都还有在更新,但解码效率(相较之下)一直都不太行),可惜商业厂商不待见,没太多主流厂商做硬件兼容( 音频格式早就没搞头了,Mpeg组织的音频部分经常连会都懒得开了。 tta和tak如果不是抓轨的人用(而且好像都是日本的?)没有谁会愿意用这种非主流格式
ape当年在国内BT下载最火的时代最流行(压缩率最高,节约硬盘),但随着那个时代的离去也跟着离去了
flac现在能成为主流主要是流媒体厂商在用 https://phoboslab.org/log/2023/04/qoa-specification
那为啥还有人头铁新出qok格式,虽说解码速度赛神仙 我手头上还有一些APE文件,大多是早年做过的留到了现在。其实Monkey's Audio后来还继续更新,但现在确实用得少了。
FLAC主要还是胜在免费开源,再加上只做整数运算和容错校验的设置,确保在实现上不容易出错,所以现在变成了很多场合的通用无损音频格式。
TTA格式似乎当年日本比较喜欢用,我目前收集到这种格式的都是比较早的存档。TAK格式我自己用过一两次后来还是算了。这两种格式的播放器支持的也比较少。 一开始是ape使用比较广的,压缩比稍高,时适合存储和网络不够发达的年代。但到了随身听无损时代,ape解码消耗算力太大,早期的机器播放ape十分吃力或者直接不支持,flac则友好得多
—— 来自 鹅球 v3.3.96-alpha APE好像最高压缩率更好,但FLAC开源还更简单,某宝上能放SD卡音乐的模块,支持wav/mp3/flac……低端设备兼容简单 我05年买了一个昂达的MP3,卖点之一就是支持APE wfhtony 发表于 2025-2-13 11:03
TTA基本算作被放弃开发的格式了。(TTA上次更新是2015年 十年了,TAK上次更新是2022年)
目前最有 ...
tta老熟人了,整理车万音乐的时候还经常遇到tta+cue,TLMC的老资源基本都是。我一般都会转换成flac或qaac方便自己曲库的管理。
wav的元数据有时候会遇到一些莫名其妙小问题,管理上还是flac易用 我记得大多数ape都是整轨,听的时候还得搭配一个cue文件。flac没见过这样的,用起来方便点 Cry_Blues 发表于 2025-2-13 16:09
我记得大多数ape都是整轨,听的时候还得搭配一个cue文件。flac没见过这样的,用起来方便点 ...
整轨、分轨,具体看抓轨者的习惯、以及当时流行的教程中使用的方法。
早期流行抓整轨,后来部分音乐站点要求抓轨必须按分轨抓,于是教程基本上清一色都变成了分轨了。
现在抓FLAC整轨(FLAC+CUE)其实一直都可以抓... 比如咱,咱习惯上喜欢抓整轨( flac赢在不用浮点,解码开销低太多了。
早年的低配手机听个15分钟ape能把机器听热了,必然在移动时代被淘汰。
论坛助手,iPhone 我以前音频格式,好像都是用FB2K,二压,选最低压缩度。
然后WV格式,我记得就有个很简陋的小软件用来转换。
像以前接触,很高规格32BIT,之类的,好像还是只能WV格式吧,
还是说,现在32Bit规格可以FLAC了“? 凤舞夜月 发表于 2025-2-13 16:44
我以前音频格式,好像都是用FB2K,二压,选最低压缩度。
然后WV格式,我记得就有个很简陋的小软件用来转换 ...
FLAC从1.4.x开始支持32bit整数的转换了,浮点不支持(32bit浮点档有压缩需求的话目前建议还是转成WV)。 wfhtony 发表于 2025-2-13 16:48
FLAC从1.4.x开始支持32bit整数的转换了,浮点不支持(32bit浮点档有压缩需求的话目前建议还是转成WV)。 ...
支持32BIT就好了,感觉到时候可以洗版把所有的32Bit全部弄成FLAC的,之前的一部分WAV一部分WV还是怪怪的。
整数的32BIT应该不影响音质吧? 七夜苍穹 发表于 2025-2-13 10:41
以前用光驱抓过轨,现在pc,甚至笔记本都不带光驱了,外接也挺麻烦。家里除了游戏机,只有个搞氛围的cd机还 ...
需要的时候外接一个,用完了直接拔下来放一边,没觉得多麻烦,价格也不贵 本帖最后由 wfhtony 于 2025-2-13 17:42 编辑
凤舞夜月 发表于 2025-2-13 17:27
支持32BIT就好了,感觉到时候可以洗版把所有的32Bit全部弄成FLAC的,之前的一部分WAV一部分WV还是怪怪的 ...
浮点转整数,理论上只影响数据层面,实际在正常情况下人耳(完全)听不出来区别。 ape最主要是收钱吧,flac免费
确实解码效率也有区别
—— 来自 鹅球 v3.3.96-alpha 本帖最后由 霓虹灯鱼 于 2025-2-13 19:40 编辑
wfhtony 发表于 2025-2-13 17:41
浮点转整数,理论上只影响数据层面,实际在正常情况下人耳(完全)听不出来区别。 ...
并非如此。
32位浮点和32位整数是完全不同的两种格式:32位整数音频的动态范围为193 dB,而32位浮点音频的动态范围为1680 dB;整数音频格式不允许记录高于0 dBFS的信号,而32位浮点音频可以记录最高为+770 dBFS的信号。因此,如果把超过整数格式动态范围的32位浮点音频转换为整数音频,会不可避免地造成数字削波(digital clipping),严重影响音频的实际听感。https://p.sda1.dev/22/863f63a88d36113ba4a4bc7b56aa0693/image.jpg
另外,即使原始32位浮点音频的动态范围满足32位整数格式的限制,在进行转换时,由于两者的精度差异,一些信号的浮点值可能会被舍入而丢失原有精度。即便这种差异对于人耳来说(完全)无法察觉,但这毕竟不是真正的无损转换。 TAK可惜了,各方面都很好的格式 霓虹灯鱼 发表于 2025-2-13 19:35
并非如此。
32位浮点和32位整数是完全不同的两种格式:32位整数音频的动态范围为193 dB,而32位浮点音频 ...
“另外,即使原始32位浮点音频的动态范围满足32位整数格式的限制,在进行转换时,由于两者的精度差异,一些信号的浮点值可能会被舍入而丢失原有精度。即便这种差异对于人耳来说(完全)无法察觉,但这毕竟不是真正的无损转换。”
完全不存在的,根据IEEE754标准,单精度32位浮点数,是由23位有效数和8位指数组成。
32位整数的有效位大约是31位,所以32位整数的精度永远高于32位浮点数。 本帖最后由 wfhtony 于 2025-2-13 20:37 编辑
霓虹灯鱼 发表于 2025-2-13 19:35
并非如此。
32位浮点和32位整数是完全不同的两种格式:32位整数音频的动态范围为193 dB,而32位浮点音频 ...
咱的意思是:
如果你的主要目的只是听音乐,收的资源正好是32bit浮点的话,那转成32bit整数完全没问题,因为正常人类听不出(32bit下)浮点或者整数这两个格式间的区别。
如果你的主要目的是存档(a.k.a.「赛博文玩收藏」),正好在意是否『真的』能把32bit浮点『无损』压缩的话,那建议转成wavpack格式(若在意硬盘存储空间)、或者直接收WAV(或者要TAG的话建议容器转成AIFF,以兼容更多的播放器)就行(若不在意硬盘存储空间)。
问题是,浮点规格更多是出现在音频制作期间,但音频制作时一般是不会考虑档案压缩这个问题的,也因此,浮点规格作为商品贩卖的情况极其少见。
再加上楼上说的原因(加上目前绝大多数播放器对浮点规格的解码性能以及兼容性),厂牌一般会将音频转换成整数格式再贩卖。 有点一头雾水,感觉到时候自己重新整理音乐的时候,还得专门再发帖问一问了 float是给制作一点便利,甚至对录音都没有帮助,因为你球还未出产float输出的adc不知道音频标准里整数和浮点是怎么映射的,但显然任何服务于人耳的制作都用不到比录音大出700dB或低700dB的声音,留个±60dB已经足够了,这样可以拥有更好的中间精度 Cry_Blues 发表于 2025-2-13 00:09
我记得大多数ape都是整轨,听的时候还得搭配一个cue文件。flac没见过这样的,用起来方便点 ...
整轨方便检验,现在不太需要这个了,自然是分轨用起来方便
— from S1 Next Goose v3.3.96 日日夜夜 发表于 2025-2-14 23:01
float是给制作一点便利,甚至对录音都没有帮助,因为你球还未出产float输出的adc不知道音频标准里整数和浮 ...
不懂就问 三四年前开始流行的32bit录音机算吗
—— 来自 鹅球 v3.3.96
SimonOpera 发表于 2025-2-16 06:30
不懂就问 三四年前开始流行的32bit录音机算吗
想了下之前确实是我说的不够严谨,严格来说应该是你球目前没有在产的符合 “任意数据长度的浮点数”(可以是任意格式,不限定IEEE754)的量化精度模式的adc芯片,以前是有一些具有指数量化精度分布的adc的,但后来因为性能问题又全是整数形式的adc了
而前几年开始流行的32bit float输出的录音机是怎么回事,实际上它们均采用2个或以上的24bit整数输出的adc在不同增益下对数据进行采样,并打包成32bit的float进行输出,相当于相机的包围曝光,只是这个后期过程由机器内部完成了,也正是这个原因,它们不会有32bit float实际拥有的动态范围,话说回来,如果24bit录音机可以应付正常的人声,那么32bit的动态范围并没有实际用处,至少地球大气层内产生不了这么大的声压级
页:
[1]
2