博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
音频源代码_使用开放源代码从丢失的格式中恢复音频
阅读量:2523 次
发布时间:2019-05-11

本文共 4258 字,大约阅读时间需要 14 分钟。

音频源代码

早在2000年代初,我们就做出了一项家庭决策,决定升级客厅音响。 当时的设备是基于我20年前刚获得稳定的大学后收入时购买的一系列齿轮的。 早期的收藏最好被描述为“工业时尚”,最著名的是我用套件制造的和用某种复合木制品制成的 ,并以丑陋的人造玫瑰木乙烯基包装包裹。 他们产生了体面的声音,但是宿舍房间风格的装饰在客厅里却没有用。

那些记得2000年代初的人会回想起,世界上大多数地区仍在消费CD上的音乐。 我们的家庭也不例外,最终我们得到了一个具有有趣功能的高级CD播放器-它能够解码常规CD以及高清兼容数字(HDCD)光盘。

根据说法,HDCD是专有的音频编码/解码过程,声称可提供比标准《红皮书》音频CD更大的动态范围,同时保持与现有光盘播放器的向后兼容性。

指出:“ HDCD系统是根据Pacific Microsonics,Inc.的许可制造的。” “ HDCD是由加利福尼亚州太平洋微电子学公司开发的一种数字信号处理系统,它将控制代码隐藏在所记录的CD数字音频流的很小一部分中。HDCD解码器识别这些控制代码,并使用它们来处理数字音频以增加其动态范围和分辨率,同时使原始数字流与常规CD播放器兼容。”

您可能会问,HDCD如何发挥这种魔力? 相同的Wikipedia条目指出:“ HDCD通过使用自定义抖动,音频滤波器以及一些可逆的幅度和增益编码,在16位数字音频信号中编码了相当于20位数据的值; Peak Extend,这是可逆的软限制器;以及低电平范围扩展,这是低电平信号的可逆增益。”

无论该技术的优点是什么,其母公司都无法继续营业并在2000年某个时候停止运营。Wikipedia文章指出,微软收购了该公司并将代码合并到Windows Media Player中,以允许对HDCD进行解码,但似乎对它失去了兴趣。它的推广。 可能是由于出现了其他专有的高分辨率音频格式,例如SACD和DVD-A,它们能够在外观相似但不兼容的媒体上对完整的24位信号进行编码。 尽管录音室继续在SACD上发行音乐,但后一种格式都不是特别成功的,至少在商业上不是如此。 碰巧的是,SACD包含一个“混合”标准,该标准在同一张光盘上同时提供了SACD和向后兼容的CD层,从而允许以标准CD分辨率在常规CD播放器上播放这些专辑。

实际有多少艺术家和工作室使用HDCD? 好吧,Discogs提供 (截至撰写本文时)。 使用实际的HDCD编码音乐对HDCD提供的一些功能进行了有趣的分析。 对于那些对原始专利(Google专利所声称的权利已经过期)感兴趣的人, 。

我的HDCD故事

尽管现在我尽我所能避免被“专有技术迷恋”所影响,但我承认我并不是2000年代初开放的所有事物的坚定支持者。 我不仅购买了带有专有技术的上述高级CD播放器,而且还购买了一些恐怖的HDCD编码标题,这很恐怖!

在过去的一个周末,我设法在我们的收藏夹中找到了三个,但我敢肯定还有更多。 我设法找到的三个人包括Ensemble Dumont的 ,Musica Secreta的以及启蒙时代的乐团 ,这些都来自Linn Records Linux友好的 。 在确保这些标题仍然可用的同时,我注意到HDCD中不再提供它们。

鉴于我手头上有这些专辑,并且该专利似乎已经过期,我决定确定是否可以将这些光盘以其完整的预期分辨率转换为开放音乐格式,此外,是否可以在不使用专有技术的情况下进行转换?软件。

我偶然发现了HDCD解码格式的第一个软件是hdcd.exe, 。 由于未提供该软件的源代码,并且由于需要运行Windows或至少运行Wine,因此我最初的兴趣大多消失了。

上面提到的Wikipedia文章提到,其他一些基于Windows的音乐播放器提供了HDCD解码。 嗯 但是后来我发现:

“ FFmpeg的libavfilter包括从FFmpeg 3.1(2016年6月)开始的HDCD过滤器,它将HDTV数据的16位PCM转换为20位PCM。”

这似乎是一个有前途的起点,因此我从发行版的存储库中安装了ffmpeg ,然后继续寻找更多提示,这时我偶然发现了对hydroaudio ,甚至提供了用于查找HDCD编码文件的脚本。在一个人的音乐目录中。 我使用了对从前面提到的Musica Secreta CD翻录的文件之一运行ffmpeg的行,如下所示:

ffmpeg  -hide_banner -nostats -y -v verbose -i \     
'01 - Musica Secreta - Questi odorati fiori.flac'
-vn -af hdcd -f s24le /dev/null 2>&1 | grep "_hdcd_"

并收到以下输出:

[Parsed_hdcd_0 @ 0x55b2137e2c80] Disabling automatic format conversion.     
[Parsed_hdcd_0 @ 0x55b2137e2c80] Auto-convert: disabled
[Parsed_hdcd_0 @ 0x55b2137e2c80] Looking for 16-bit HDCD in sample format s16
[Parsed_hdcd_0 @ 0x55b2137e2c80] CDT period: 2000ms (88200 samples @44100Hz)
[Parsed_hdcd_0 @ 0x55b2137e2c80] Process mode: process stereo channels together
[Parsed_hdcd_0 @ 0x55b2137e2c80] Force PE: off
[Parsed_hdcd_0 @ 0x55b2137e2c80] Analyze mode: [0] disabled
[Parsed_hdcd_0 @ 0x55b2137e2c80] Channel 0: counter A: 0, B: 1657, C: 1657
[Parsed_hdcd_0 @ 0x55b2137e2c80] Channel 0: pe: 1657, tf: 0, almost_A: 0, checkfail_B: 0, unmatched_C: 0, cdt_expired: 0
[Parsed_hdcd_0 @ 0x55b2137e2c80] Channel 0: tg 0.0: 1657
[Parsed_hdcd_0 @ 0x55b2137e2c80] Channel 1: counter A: 0, B: 1657, C: 1657
[Parsed_hdcd_0 @ 0x55b2137e2c80] Channel 1: pe: 1657, tf: 0, almost_A: 0, checkfail_B: 0, unmatched_C: 0, cdt_expired: 0
[Parsed_hdcd_0 @ 0x55b2137e2c80] Channel 1: tg 0.0: 1657
[Parsed_hdcd_0 @ 0x55b2137e2c80] Packets: type: B, total: 3314
[Parsed_hdcd_0 @ 0x55b2137e2c80] HDCD detected: yes, peak_extend: enabled permanently, max_gain_adj: 0.0 dB, transient_filter: not detected, detectable errors: 0

注意上面提到的最后一行,实际上是检测到了HDCD。 同样,似乎启用了“峰值扩展”功能。 据我了解,此功能可以在将整体信号电平降低两倍后,逆转应用于音乐最响亮部分的压缩/限制,从而恢复某些原始录音的额外动态范围。 鼓德温(Goodwin)的High End网站详细介绍了此主题。

现在,是时候尝试一下整个过程了。 由于某种原因,我没有信心将16位未解码的FLAC一步转换为24位解码的FLAC,因此我分两步进行了转换,如下所示:

for f16 in *.flac; do     
trk=`basename "$f16" .flac`
w24="$trk"_24.wav
ffmpeg -i "$f16" -af hdcd -acodec pcm_s24le "$w24"
flac "$w24"
done

这给了我一组24位44.1kHz FLAC文件,我使用file命令对其进行了验证。 那时,我要做的就是确保所有标签看起来都不错,就是这样。

说起音乐...

我今年在音乐专栏休息了一会儿,因为除了听我已经掌握的东西以外,我没有做太多事情。 但是一些新物品悄悄进入了我的收藏。

Emancipator的最新产品“ 可从该Linux友好型和艺术家友好型在线商店 。 如果您喜欢Emancipator的早期版本,对此不会感到失望。

剑桥克莱尔学院合唱团和德米特里合奏团发行 ,名称为“ ArvoPärtStabat”。 我没有仔细听过这张专辑,但即使如此,我对这里介绍的三位作曲家作品之间的相似之处也感到震惊。 也许是关于北欧景观和天气的共同影响? 我以96/24 FLAC的价格从 (另一家Linux友好的在线商店)下载了这首优美的合唱音乐。 对于那些对此音乐有更多了解的人,在该站点上有克莱尔学院合唱团指挥格拉汉姆·罗斯的专访。

最后,还有一些有趣的新闻 ,这是一个在线商店,提供了许多出色的高分辨率下载,使我了很多年(以至于向他们发送了很多抱怨的电子邮件),终于使他们能够从中购买音乐而无需使用他们的下载管理器! 我实际上还没有在那买东西,但我会尽快给它回旋并报告。

翻译自:

音频源代码

转载地址:http://cpdzd.baihongyu.com/

你可能感兴趣的文章
Android适配API23之后权限的动态申请
查看>>
[operator]ELK6 index pattern的问题
查看>>
Zabbix监控DB,Tomcat
查看>>
Python学习(2 数据运算)
查看>>
87.在ModelSim中添加Xilinx ISE仿真库
查看>>
配置django项目总结 + 思维导图
查看>>
xadmin后台管理
查看>>
GO -- 一个经验
查看>>
CI框架在 nginx 服务器上配置 rewrite 去掉 index.php 的方法:
查看>>
《每日一博》——学习php
查看>>
custom.js
查看>>
Centos 7 中 QT出现QSqlDatabase: MYSQL driver not loaded
查看>>
在 IBM RAD 平台上基于 JAX-WS 开发 Web Services服务器端,客户端
查看>>
利用forwardInvocation实现消息重定向
查看>>
自定义维度与指标
查看>>
跟我一起玩Win32开发(13):握手对话框
查看>>
C#调用C/C++动态库 封送结构体,结构体数组
查看>>
ASP.NET MVC WebAPI 从入门到精通 (二)– 客户端和WebService之间文件传输
查看>>
卸载LabVIEW及其模块的方法
查看>>
[C/C++] C++中new的语法规则
查看>>