蓝牙LC3编解码

蓝牙LC3编解码

这是一篇转载文章:
原文章:原文网址

目前了解到蓝牙编解码LC3已经有了更新的版本是LC3plus。

  • 下载了工程代码,使用vscode进行编译和查看代码
    LC3代码下载

1. Overview

LC3是一种基于块的转换音频编解码器,具有较低的算法延迟,提供较低的复杂性实现,并提供非常广泛的可用比特率。编码器和解码器在8 kHz、16 kHz、24 kHz、32 kHz和48 kHz的采样频率下都以10 ms和7.5 ms的帧间隔工作。当输入信号的采样频率为44.1 kHz时,使用与48 kHz相同的帧长度,结果在10 ms帧间隔中实际帧持续时间略长,为10.884 ms,在7.5 ms帧间隔中为8.16 ms。

​ 为了解码接收到的负载,LC3解码器依赖于外部确定的坏帧指示(BFI)标志和每个通道的有效载荷大小参数。BFI标志用于向解码器发出丢失有效负载或在接收的有效负载中存在任何检测到的比特错误的信号。该规范还定义了有效负载中的内部字段,允许外部应用程序向解码器发送损坏的有效负载的信号。如果负载位被标记为损坏,LC3解码器将跳过读取负载位,取而代之的是激活一个PLC算法来产生未压缩的输出PCM信号。有效载荷大小参数使LC3解码器能够正确解析每个接收到的有效载荷。LC3有效负载不包含任何时间信息,如时间戳或序列号。

​ 该规范使用方程和整数伪代码编写,以支持在许多不同的体系结构上高效地实现编解码器。示例包括具有有限24位累加器的功率受限助听器设备和具有高效浮点单元的设备

2. Building

Unix platforms:
    - Go to src/fixed_point or src/floating_point folder
    - Call "make"
    - Executable path and name "./LC3plus"

Windows platforms:
    - Go to src/fixed_point/msvc or src/floating_point/msvc folder
    - Open up solution file LC3plus.sln and build it
    - Standard config executable path and name 
    	".\Win32\Release\LC3plus.exe"
    - The solution is optimized for Visual Studio 2017
Samplingrate [Hz]Bitrate [bps]EP Mode [0 = off, 4 = highest protection]
8000320000,4
16000320000,4
24000480000,4
32000480000,4
44100640000,4
48000640000,4

3. Project Compile

下载好程序后,根据下图路径打开,vscode软件的下载大家自己搞定。

img

然后就会打开如下图页面,然后在vscode的”生成“目录下点击“生成LC3plus”,就会编译成功。

img

之后就会生成LC3plus.exe应用程序

img

4. Usage

The following example commands explain the usage of the LC3plus binary. A complete list is available by calling ./LCplus -h.To call encoder+decoder at the same time    
	
	./LC3plus INPUT.wav OUTPUT.wav BITRATE

cmd命令产生:

=> LC3plus.exe ..\..\..\..\..\testvec\input\thetest16.wav out1.wav 32000

img

通过上述操作后,就可以产生一个经过LC3编解码后的音频out1.wav

我们可以听一下原音和编解码后的声音:
对比音频存放网址
欢迎大家关注,后期会写一些蓝牙音频相关的内容,到时直接推送观看
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值