armok 发表于 2015-2-8 16:04:17

gzhuli 发表于 2015-2-8 16:08:58

好像Insane和High的压缩率差不了10%吧,不知道那些压缩的人追求那么高的压缩率干嘛。

armok 发表于 2015-2-8 16:32:39

armok 发表于 2015-2-8 16:39:01

gzhuli 发表于 2015-2-8 19:06:54

APE的优势是压缩率高,代价就是运算量大,而且是对称算法,压缩需要多少运算量,解压也要差不多的运算量,所以移动设备很难满足高压缩率的运算能力需求。
我觉得你还是找找有没有批量转换软件,全部解成WAV或转压成FLAC吧,一劳永逸。

wye11083 发表于 2015-2-8 19:55:12

gzhuli 发表于 2015-2-8 19:06
APE的优势是压缩率高,代价就是运算量大,而且是对称算法,压缩需要多少运算量,解压也要差不多的运算量, ...

解压成WAV?你搞笑吧。

armok 发表于 2015-2-8 19:56:52

skylly3 发表于 2015-2-8 19:58:54

考虑下flac格式吧。

90999 发表于 2015-2-8 20:52:57

转成WAV是最好的方法,而FLAC是折中的办法。

tim 发表于 2015-2-8 20:58:46

基本上每下一个APE都立刻转成FLAC,也不知积累下来浪费了多少时间了{:sweat:}

wshtyr 发表于 2015-2-8 21:19:38

这是我以前测试过的解码程序对部分音频的解码时间:

测试条件: STM32F407@144MHz
OS: RT-Thread
输出: 44.1K/16BIT



测试输出结果是44.1K/16BIT, 所以若输出96K/24BIT, 最后一列的百分比至少需要x2.1, 按比例,High需要不到200M,Extra-High需要400多M, Insane需要1.6G以上!
当然,考虑到STM32的Flash等待对性能的削减,以及更高端处理器更高的效率,实际可能并不需要这么高的工作频率,但播放器同时需要处理别的任务,需要消耗一部分CPU,所以实际需要的工作频率和上述估算结果在数量级上应该差不多了。市面上的播放器支持High/96K应该不难,Extra-High/96K就已经吃力了, 至于Insane....借用圣手的话,何必这么狠呢...

tim 发表于 2015-2-8 21:44:02

wshtyr 发表于 2015-2-8 21:19
这是我以前测试过的解码程序对部分音频的解码时间:

测试条件: STM32F407@144MHz


FLAC真是对解码硬件最友好的格式

wye11083 发表于 2015-2-8 21:57:14

wshtyr 发表于 2015-2-8 21:19
这是我以前测试过的解码程序对部分音频的解码时间:

测试条件: STM32F407@144MHz


晕,不要没事就拿STM32来耍。STM32不是做运算的,是用来做控制的。
手机,平板,===,MP4,随便找个芯片都能秒杀STM32。古老的RK2706能通过DSP核直接软解720P RMVB,运算量比解APE大多了。只是解APE需要单独开发程序,这个比较费时。

wshtyr 发表于 2015-2-8 22:33:22

wye11083 发表于 2015-2-8 21:57
晕,不要没事就拿STM32来耍。STM32不是做运算的,是用来做控制的。
手机,平板,===,MP4,随便找个芯片 ...

首先,当然不是真的要拿STM32来做播放器,STM32的内存还是个瓶颈呢。拿STM32测试的原因是相比于解码所花的时间,解码以外的任务所花时间可以忽略,可以获得较“纯净”的解码时间;而Cortex-M4的效率,以及STM32 Flash的效率是有据可查的,您说的其它可以秒杀STM32的芯片的CPU的效率也是有据可查的,参考这些比例系数,结合这些数据,就能算个大概了。

其次,Cortex-M4还真不是只适合控制不适合计算的,要不然也不会多出SIMD指令和FPU,比如我的测试程序就用到了部分SIMD指令来优化了部分函数,如果是STM32F1系列,在144M下是连High/44.1k都解不了的。

至于带DSP的处理器,就不在讨论之列了,开了外挂,性能的提升就不是线性的了

gzhuli 发表于 2015-2-9 11:05:06

wye11083 发表于 2015-2-8 19:55
解压成WAV?你搞笑吧。

不就体积大一倍么,换来所有设备都能放,有多搞笑?

gzhuli 发表于 2015-2-9 11:06:05

wye11083 发表于 2015-2-8 21:57
晕,不要没事就拿STM32来耍。STM32不是做运算的,是用来做控制的。
手机,平板,===,MP4,随便找个芯片 ...

你能找到一个带APE硬解的CPU吗?找不到就不能跟H.264那些比。

bulejeans 发表于 2015-2-9 12:05:46

用fpga或dsp能搞定ape吧

seazhui 发表于 2015-2-9 12:06:57

armok 发表于 2015-2-8 16:39
无论大家多么诟病APE,但这种格式已经垄断了整个无损播放行业。

所以,应该是接受它,而不是抵制它。 ...

国内是这个多。。但是国外flac比较多。

LinuxTux.China 发表于 2015-2-9 12:18:46

gzhuli 发表于 2015-2-9 11:05
不就体积大一倍么,换来所有设备都能放,有多搞笑?

我就经常这样干,想听哪首就转一下,也不麻烦
所以,硬盘越换越大啊{:lol:}

tim 发表于 2015-2-9 12:23:43

seazhui 发表于 2015-2-9 12:06
国内是这个多。。但是国外flac比较多。

国内的玩家比较厉害,能听出来APE比WAV和FLAC音质好{:titter:}

wye11083 发表于 2015-2-9 12:38:34

tim 发表于 2015-2-9 12:23
国内的玩家比较厉害,能听出来APE比WAV和FLAC音质好

国内应该是APE起步早。APE确实在国内外都被喷得不行。上次下载的一套CD就是FLAC的,貌似国外现在几乎全部FLAC了。

armok 发表于 2015-2-9 13:24:37

gzhuli 发表于 2015-2-9 15:09:52

armok 发表于 2015-2-9 13:24
主要是时间,精力。。。。

所以我说看看有没有批量转换工具嘛。

hymculolo 发表于 2015-2-9 15:21:44

我的歌曲全部都是转成WAV的,养成习惯了,不转成WAV不自在。
就是容量太大,其他都很好。

gzhuli 发表于 2015-2-9 15:46:29

本帖最后由 gzhuli 于 2015-2-9 15:51 编辑

刚刚用1GHz主频的Cortex-A7解压了一个51分28秒的44.1/16 Extra High APE,耗时15分15秒,解压时间和播放时长的比率是29.6%(可以理解为实时播放的CPU占用率),估计96/24的Extra High也是可以的,Insane就难说了。

再对比11楼STM32F4@144MHz的速度,1GHz / 144MHz = 7,147.5% / 7 = 21%,可见1GHz Cortex-A7的每MHz主频解算效率还比STM32F4低一些(也有可能是我用的代码没经过SIMD/NEON优化的关系)。

gzhuli 发表于 2015-2-9 16:24:04

解压一个479.4s的44.1/16 Normal APE(文件大小15,167,487 字节),耗时21.5s,重新压缩成Insane,耗时299.4s(文件大小15,066,596 字节),再解压耗时305.1s,可见APE解压比压缩还要慢一点。
为了Insane那一丁点压缩率提升,耗费十几倍的压缩解压时间,何苦呢?

gzhuli 发表于 2015-2-9 16:56:10

26L同一个文件,用flac最高压缩率压缩,耗时75.5s,文件大小15,746,976 字节,比Normal APE大了3.8%,解压耗时5.7s。

以上测试均在全志A20双核1GHz Cortex-A7 + Linux上进行。

gzhuli 发表于 2015-2-9 16:57:54

nas Music # mac 'Hotel California.wav' 'Hotel California.ape' -c5000
-- Monkey's Audio Console Front End (v 3.99-u4-b5-s7) (c) Matthew T. Ashland --
Compressing (insane)...
Progress: 6.3% (2007.7 seconds remaining, 134.7 seconds total)

Insane模式压缩391s的192/24的Hotel California母带版,简直不想等下去了……

gzhuli 发表于 2015-2-9 17:18:42

flac -8压缩上面的Hotel California用了352s,解压用了56s,压缩率57.1%。

armok 发表于 2015-2-9 18:01:26

redroof 发表于 2015-2-9 18:17:03

gzhuli 发表于 2015-2-9 15:09
所以我说看看有没有批量转换工具嘛。

最好找的批量转换工具就是很老的foobar2000{:lol:}
直接加载全部的APE文件,然后点右键转为FLAC,
搞定。。。
不必通过WAV格式中转
注意要装APE的解码器。

gzhuli 发表于 2015-2-9 18:18:36

armok 发表于 2015-2-9 18:01
我有4T无损,如果要转换成wav,可能需要8T空间。

APE也肯定保留,我就要12T的空间。


可以转FLAC嘛,只比APE大3~5%,而且压缩速度比APE快很多,花不了多少时间。
APE就没必要保留了吧,反正都是无损,实在有需要的时候重新压一下都一样。

redroof 发表于 2015-2-9 18:29:04

gzhuli 发表于 2015-2-9 18:18
可以转FLAC嘛,只比APE大3~5%,而且压缩速度比APE快很多,花不了多少时间。
APE就没必要保留了吧,反正都 ...

是啊。APE/FLAC/WAV实际给人听的数据是完全一样的,所以转完后只保留FLAC就行了。
foobar2000在多核CPU下是可以并行运行N个转码器,只要弄个好电脑来转码就行了,速度不会慢~

armok 发表于 2015-2-9 18:38:44

armok 发表于 2015-2-9 18:40:03

tim 发表于 2015-2-9 18:46:23

存量太大就别一次性转了,foobar2000直接转有时候会出现错误的,我转换都是用原版的Monkey's Audio解压+原版FLAC压制,再用foobar2000导tag,并且转完校验试听之后才删原ape文件。如果图方便把不容易找到的文件弄丢了也是挺心塞的

还是弄个mini点的PC平台播放吧,我估计在产的x86 CPU没有应付不了的

redroof 发表于 2015-2-9 18:49:42

armok 发表于 2015-2-9 18:38
目录如何处理?
可以保留原来的目录结构吗?

我经常用foobar转码,从来没有见到错过
转换的时候设为目标位置是源文件位置就行了,这样就自动保持了目录结构。
全部弄完了在整个目录里面查找所有ape文件,全删了就行

redroof 发表于 2015-2-9 18:52:39

armok 发表于 2015-2-9 18:40
转成一个FLAC大文件+CUE, 或者直接分割成一首一首歌的flac ?

为了省事,CUE就保持原样吧
原来是什么样就什么样,只需要在cue里面把源文件后缀改了就行了,别的啥也不需要动

armok 发表于 2015-2-9 18:54:02

gzhuli 发表于 2015-2-9 18:55:17

armok 发表于 2015-2-9 18:40
转成一个FLAC大文件+CUE, 或者直接分割成一首一首歌的flac ?

Windows下不清楚,Linux下办法还是很多的,用shell脚本就可以全目录自动转换并改写CUE中的文件名,也可以根据CUE做分割。

redroof 发表于 2015-2-9 19:06:08

我就说为了省事,只是原样转换ape为flac,根本不动cue,为了不让foobar批量加入文件的时候加入cue,先把cue批量改个后缀。 转完了用ue批量查找替换被改过的cue里面的.ape为.flac。最后删了全部ape文件,这样就了事了。不管有多少文件,人工操作的工作量不变。全是批量操作

gzhuli 发表于 2015-2-9 19:07:21

armok 发表于 2015-2-9 18:54
大家知道4T是什么概念吗?

如果一张碟需要10分钟,每天转换24小时不停,需要138天才转换完。


刚刚用foobar2000转了一张64分钟的APE Extra High到FLAC Level 6,耗时1分钟多点,CPU是i7@3.4GHz,单线程。

armok 发表于 2015-2-9 19:15:14

redroof 发表于 2015-2-9 19:15:58

gzhuli 发表于 2015-2-9 19:07
刚刚用foobar2000转了一张64分钟的APE Extra High到FLAC Level 6,耗时1分钟多点,CPU是,单线程。 ...

你应该是四核8线程吧,你试试同时加入8个文件一起转,不比一个慢多少

redroof 发表于 2015-2-9 19:18:59

armok 发表于 2015-2-9 19:15
好,也要20天。

用你最快的服务器,应该是2*6核共24个线程吧,1天就搞定了^_^

gzhuli 发表于 2015-2-9 19:23:33

armok 发表于 2015-2-9 19:15
好,也要20天。

你不是全部extra high嘛,才40%左右,normal的会更快,而且上面只是单线程,i7是4核8线程的,8个并行可以达到7倍的速度,算下来两三天就完事了。
不过你的G7是AMD Turion双核,就算单核速度和i7也是没法比的,所以要转的话还是找台服务器靠谱点……

armok 发表于 2015-2-9 19:24:48

armok 发表于 2015-2-9 19:27:15

gzhuli 发表于 2015-2-9 19:29:26

armok 发表于 2015-2-9 19:27
转换完成,还需要人工一个一个检查。

所以,100天应该是少不了的。


所以嘛,要么你就是找台x86来放,要么就是随听随转,4T一次自动化转怎么都是不太现实的。

armok 发表于 2015-2-9 19:38:10

gzhuli 发表于 2015-2-9 19:40:19

armok 发表于 2015-2-9 19:38
所以,先用P1620迷你手提播放 :)

随听随转才现实。每天5个碟,10年就差不多转完了。


嗯,找台快的电脑,一张碟1分钟,一天听5张也才浪费5分钟,可以接受嘛。

cheungman 发表于 2016-3-3 11:14:52

wshtyr 发表于 2015-2-8 21:19
这是我以前测试过的解码程序对部分音频的解码时间:

测试条件: STM32F407@144MHz


请问一下, 音频帧解算时间包含读文件缓冲(解压前的音频数据)时间么?

hymculolo 发表于 2016-3-3 17:54:30

wye11083 发表于 2015-2-8 19:55
解压成WAV?你搞笑吧。

为什么?我的歌曲全都转换成WAV格式的了,只是多占用存储空间,没发现其他问题。

hsztc 发表于 2016-7-13 11:52:12

我用的是格式工厂,可以批量,很好用,还可以换视频和图片
页: [1]
查看完整版本: 高手帮忙算一下,APE/Insane压缩/96K/24BIT/需要多强的CPU?