无损音乐格式:FLAC和ALAC
前言:我最近在弄苹果的airplay项目,发现airplay2对比airplay多了音质方面的增强。AAC和MP3接触过,但对FLAC和ALAC完全不了解,整理学习资料汇总成如下信息:
AirPlay2
在2017年推出,在前一代AirPlay的基础上加入了Apple自家智慧家庭平台HomeKit的整合,主要在音乐版块增加了很多功能:
- 使用者可以将音乐同步发送到多个AirPlay 2 扬声器;
- 改进了音频缓冲的问题,播放环境更稳定更可靠;
- 可以指定房间播放音频,建立一个多房间音响系统(Multi-room Audio System);
Airplay2和Airplay的区别
- Airplay2比Airplay在音质上有很大提升,在质量上也有了很大的提高。
- AirPlay 2的传输方式和AirPlay相同,但它支持更高的质量,支持更高的码率和更多的音频格式,可支持最高的FLAC/ALAC音频质量,FLAC/ALAC音频比MP3/AAC音频质量更高。
- AirPlay 2支持立体声技术,可以更好地支持多声道音频,以及支持实时音频同步,可以更好地支持多个AirPlay 2设备的音频播放
FLAC和ALAC科普
平时如果没有专门了解过无损音乐格式,一旦播放器指定一些格式才能播放,很可能就会手无足措,今天昌老师就来跟大家讲解一下两种常用的无损 音乐格式的区别。
ALAC
ALAC:由 Apple 主导的无损音乐格式
习惯用 Apple 产品听歌的朋友相信对 ALAC不会太陌生,这款由 Apple 公布无损压缩音乐格式随着 iOS 和 Mac 产品的普及而越来越多人使用。既系「Lossless」,又有「Compression」,可以话是 Apple 版的 FLAC,不过对 Apple 的用户来说兼容性比后者更好。
iOS 和 iTunes 原生支持
Apple Lossless 又叫做 Apple Lossless Audio Codec(ALAC),由 Apple 于 2004 年推出,在 2011 年公布了编辑器的源代码,变成开源格式,进一步加强了普及性。比起Apple Lossless,近年大家似乎更习惯使用ALAC 这个简称,与同属「无损压缩」格式的FLAC 相比,Mac 和Windows 版的iTunes、iPhone、iPod 等iOS 装置都原生支持ALAC,对Apple 用户来说这种格式更加方便。

Apple 的各种装置原生都支援 ALAC,而 iTunes 本身亦支援 ALAC 转歌。
支持 8 声道、32bit/384kHz 音讯
ALAC 采用了 MP4 的封装,本质上同影片格式的 MP4 相同,而为了区分两者,所以 Apple 将副档名改为「.m4a」。 ALAC 可以将 WAV、AIFF 等非压缩音频的大小缩减至原本的 40% 至 60%,效率相当高,而且编码速度几快。规格方面都好强,支援 8 个声道,16、20、24、32bit 的取样位元深度,以及最高 384kHz 取样率,足以应付现时几乎所有的 Hi-Res音质。 PC 平台播 ALAC 最方便当然就是 iTunes,iPhone 原生就支持 ALAC 播放,Android 就有 Rocket Player 等不同选择,HDTracks、Linn Recrods 等买歌网都有 ALAC 的 CD 及 Hi-Res 音质的音乐下载。

ALAC 的压缩比率可以达到 40% - 60%,效率算相当高,对大容量的 Hi-Res 音乐来说相当实用。
FLAC
FLAC:不可不知的无损音乐格式
近年越来也多人讲「Hi-Res」音乐,而 FLAC 就是其中一款最常见的 Hi-Res 音乐 codec(编码)。不过不要误会,FLAC 并不一定代表 Hi-Res,它只是「无损压缩」,保持音乐原有音质,可以是 CD 也可以是 Hi-Res 音质。作为对比,大家以前听得最多的 MP3 就是一种「有损压缩」,转换的过程中音质会流失,自然没那么好声音。
保持原音音质
FLAC 全名是 Free Lossless Audio Codec,有个「Free」字自然是「免费」。不过不是音乐本身免费,买歌依然要付钱。不过 codec 本身免费,使用 FLAC 压缩和编码时无须再支付授权费用。而「Lossless」当然就是指「无损」,在压缩时可以保留音乐原有音质,加上 code 本身效率高、使用方便,令 FLAC 近年越来越普及。

FLAC 全名为「Free Lossless Audio Codec」。
50% 压缩率可即时播放
换言之 FLAC 即是一个「Zip」(压缩包),不过比起普通 Zip file,FLAC 对音乐的压缩率更高,可达 50%,而普通 Zip 对音乐可能只有 10%-20% 的压缩。另一样就是 FLAC 可以直接播放,无须像 Zip 一样要「解压缩」先可以使用,方便好多。
作为专为音乐档案而设的无损压缩 codec,FLAC 比起普通 ZIP 压缩包效率高相当多。
最高支持 32bit/655kHz、8 个声道
大家听歌听得最多可能是两声道CD 的16bit/44.1kHz 位元率,Hi-Res 音乐常见的24bit/96kHz、24bit/192kHz 等等,其实FLAC 可以支持高达32bit/655kHz、8个声道的PCM 讯号,换言之几乎任何高质素的母带都可以无损转做FLAC,也都难怪FLAC 成为Hifitrack、HDtracks、e-onkyo 等买歌平台的主要格式之一。

FLAC 是除了 WAV 之外,购买数码音乐档案时另一款最为常见的格式。
转歌播歌无难度
现在 Windows、Mac、Android、iOS 等平台都支持FLAC,只要搜索「FLAC」就已经可以找到好多相关的播放软件。例如 Foobar2000(Windows)、VOX(Mac)、VLC(Android、iOS)等等,免费、收费都有。至于转歌方面,要留意 FLAC 只是保留原有音质,所以 CD 转了 FLAC 24bit/192kHz 并不会无端端变成 Hi-Res,音质实际仍只是 16bit/44.1kHz,不过存储占用空间就大了。而转歌方面,比较热门的软件包括 CDex 及 Exact Audio Copy(EAC),都提供了不同的 bit-rate 等设定可供选择。
Mac 用户可以选择 X Lossless Decoder 来转歌,除了支援 FLAC 之外,还有 Apple Lossless、WAV、 AIFF 等。
相关文章:
无损音乐格式:FLAC和ALAC
前言:我最近在弄苹果的airplay项目,发现airplay2对比airplay多了音质方面的增强。AAC和MP3接触过,但对FLAC和ALAC完全不了解,整理学习资料汇总成如下信息: AirPlay2 在2017年推出,在前一代AirPlay的基础上…...
第十届蓝桥杯省赛——4质数(质数判断,数学函数:开方函数)
题目:试题 D: 质数本题总分:10 分【问题描述】我们知道第一个质数是 2、第二个质数是 3、第三个质数是 5……请你计算第 2019 个质数是多少?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数&…...
MASKGROUP: HIERARCHICAL POINT GROUPING AND MASKING FOR 3D INSTANCE SEGMENTATION
ABSTRACT 本文研究了 3D 实例分割问题,该问题在机器人技术和增强现实等现实世界中具有多种应用。由于3D物体的周围环境非常复杂,不同物体的分离非常困难。为了解决这个具有挑战性的问题,我们提出了一个新的框架来对 3D 实例进行分组和优化。在实践中,我们首先为每个点学习…...
为什么地图可视化炙手可热?
我们在谈到数据可视化的时候,可能第一反应就是中间有一个地图样式的大屏图。但有没有想过,为什么大多数的可视化大屏中间都是一张地图的样子?这张地图样式的模块究竟是什么呢?它又是怎么做出来的? 其实这张地图样式的…...
JAVA代码审计篇-SQL注入
JAVA代码审计篇-SQL注入1、SQL注入漏洞简介2、SQL注入的条件3、审计方法4、JAVA中执行SQL的几种方式(1)使用JDBC的java.sql.Statement执行SQL语句(2)使用JDBC的java.sql.PreparedStatement执行SQL语句(3)使…...
SpringBoot接口传参方式
常见GET请求和POST请求的区别1.get请求无消息体,只能携带少量数据,且不安全post请求有消息体,可以携带大量数据,且安全2.携带数据的方式:get请求将数据放在url地址中post请求将数据放在消息体body中传参方式get方式---…...
高通平台开发系列讲解(Sensor篇)AlsPs的工作原理及介绍
文章目录 一、什么是ALS?二、什么是距感(PS)?三、AlsPs的工作原理四、AlsPs的特性五、距感的校准参数说明六、光感的校准参数说明沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇文章将介绍 AlsPs 的工作原理及介绍。 一、什么是ALS? 光感的英文叫做Ambient Li…...
集群方式下的java Redis锁 lua脚本
下面说一下集群方式redis 下的原子锁 带超时时间java 代码如下:List<String> keys Collections.singletonList("test_key1");System.out.println("打印前 ::"jedisCluster.get("test_key1"));//获取lua …...
【钓鱼实测】写bug给new bing和chatGPT查。问他们林黛玉倒拔垂杨柳
BUG 错误代码 #include <iostream> #include <vector> using namespace std; int main() {vector<int> vec{1,2,3,2,4};for (auto iter vec.begin(); iter ! vec.end(); iter ){if (*iter 2) {vec.erase(iter);}}cout << vec.size() << endl…...
基于OMAPL138+FPGA核心板多核软件开发组件MCSDK开发入门(上)
本文测试板卡为创龙科技 SOM-TL138F 是一款基于 TI OMAP-L138(定点/浮点 DSP C674x + ARM9)+ 紫光同创 Logos/Xilinx Spartan-6 低功耗 FPGA 处理器设计的工业级核心板。核心板内部OMAP-L138 与 Logos/Spartan-6 通过 uPP、EMIFA、I2C 通信总线连接,并通过工业级 B2B连接器引…...
C#/.net程序调用python
C#/.net程序调用python C#的优势在于window下的开发,不仅功能强大而且开发周期短。而python则有众多的第三方库,可以避免自己造轮子,利用C#来做界面,而具体实现使用python来实现可以大大提高开发效率。本文介绍如何使用pythonnet…...
一文讲清楚如何进行主数据编码
主数据编码作为一类重要的数据资源,在信息化建设中具有重要的地位和作用,是保证现有信息系统和未来新系统建设成功的关键因素,决定着系统中的信息一致性。 编码,是一件简单的事情,但绝对不是一件容易做好的事情&#…...
SAP 详解ST02
问:在st02中看到,Program和Export/Import的Swap出现红的了,这个是什么原因啊,是不是对系统的性能有影响啊,是否应该调整一些参数啊。要怎么调整呢? 复1:双击红色的部分就可以看到相应的参数修改…...
Go程序当父进程被kill,子进程也自动退出的问题记录
平常我们启动一个后台进程,会通过nouhp &的方式启动,这样可以在退出终端会话的时候,进程仍然可以继续在后台执行(进程的父进程id会从原来的bash进程变成1) 在go程序中,通过nouhp &的方式启动子进程,预期是即使…...
window10 下使用docmer-compose使用mysql镜像部署mysql
1. 在wins中找到store,安装Debian 2. 在桌面右键点击 linux shell窗口 3. 安装docker 4. 启动docker: service docker start 5. 配置加速器,为了拉取镜像更快,修改后得重新启动docker: vi /etc/docker/daemon.json…...
软件测试补充
软件开发的生命周期:需求-计划-设计-开发编码-测试-运行维护-上线 那我们的微信APP来进行举例: 需求:我需要你们团队做这样一个社交软件,能够像QQ一样实现聊天功能,发布说说的功能,能够群聊,可以转账 计划:计划软件…...
【算法】Tire字符串
作者:指针不指南吗 专栏:算法篇 🐾或许会很慢,但是不可以停下🐾 文章目录1.Trie的基本思想1.1什么是Trie1.2字符串条件1.3如何存储字符串1.4如何查找字符串2.Trie的代码实现2.1怎么用数组建树2.2完整代码1.Trie的基本思…...
【C++】STL——list的模拟实现
list的模拟实现 文章目录list的模拟实现一、list三个基本类的模拟实现总览二、节点类接口实现模拟实现构造函数三、迭代器类接口实现1.正向迭代器默认成员函数构造函数六种运算符重载 */->//--/!/2.反向迭代器四、list类接口实现1.默认成员函数1.1.构造函数1.2.析构函数1.3.…...
SpringBoot小区物业管理系统
文章目录 项目介绍主要功能截图:后台登录车位收费管理物业收费管理投诉信息管理保修信息管理基础信息管理数据分析部分代码展示设计总结项目获取方式🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获…...
外网跨网远程控制内网计算机3种方案
远程控制,通俗来讲就是在自己个人电脑直接远程访问另台主机电脑桌面操作。 如何远程控制电脑?远程控制别人计算机的方案通常有两种,一种是开启电脑系统自带的远程桌面功能,如果涉及跨网内、外网互通可以同时用快解析内网映射外网&…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
