自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 收藏
  • 关注

原创 嵌入式音视频:语音识别开源项目

在去年的时候,有打通webrtc的音频降噪使用流程,但是对于非稳态噪声,webrtc效果也不是特别好,就想折腾AI音频训练来处理降噪,晚上本想用rnnoise开源项目来训练音频降噪处理模型,但是人不在状态,就没有弄了,只搭建了基本环境,下个礼拜再开始弄;然后就整理了一下同声传译里面的语音识别的开源项目,这个之前在看到过这个,想着里面的技术原理是怎么样的,毕竟自己也是专门干嵌入式音视频的,很好奇里面的技术;• VAD(例如 silero-vad) • 语音增强(例如 gtcrn、DPDFNet)

2026-03-29 11:21:48 462

原创 2025年总结

大概是刚好过完年不久,在2月份的时候,上班的时候突然接到姑姑的电话,说奶奶走了 ,当时听到这个,我整个人一下恍惚了,直到现在,我还接受不了,经常晚上睡觉和走路的时候,会想奶奶教导我的画面;女朋友是一个知书达理的女孩子,基本上不发脾气,做菜贼好吃,我本是一个江西人,在女朋友的手艺下,我快成为了一个“广东人”了,吃不了太辣的菜,以前我可是可以吃着小米椒吃饭的男人,哈哈,现在彻底不行了,吃不了太辣的菜。而且女朋友做小吃手艺也是非常的厉害,自己可以做奶茶,各种店里里面的东西,在炎热的夏天,太舒服了。

2026-02-09 21:45:31 290

原创 嵌入式音视频、isp、drm驱动课程介绍

2、付费课程只是引导,有一些一线工程师录制的付费课程,是带有工作中总结的实战经验,但是学习完不代表你就完全会了,你可能只是掌握的那个形式,实际在公司里面做项目,你需要考虑的因素有很多,不同的需求、软件架构设计、以及方案的选型,尤其是项目方案的选型,不是刚出来或者学了课程就能够胜任的,这个是需要大量的积累才能达到的;这里说一下,课程不是学完就拿到多少薪资,这种说学完能拿到多少钱的,说出来自己都不会相信......,现在很多卖课程的机构和个人,为了售卖课程,说了学完课程能拿到多少薪资的,千万不要相信。

2026-02-01 13:23:49 426

原创 webrtc降噪模块NS源码解析(1)

大家好,在上一篇文章里面,我们已经用webrtc的降噪模块,对噪声做了一个降噪处理,算是在rk3568上跑通了webrtc的ns模块,今天我们继续来学习webrtc的ns模块里面的细节实现,所以我们需要深度研究里面的源码学习。NumBandsForRate() 根据采样率把音频拆成每 16kHz 一个逻辑 band(16k=1,32k=2,48k=3),让 WebRTC NS 对不同频段采用不同的降噪策略,兼顾音质与性能。上面这里会涉及到一个什么是 “zero frame(全零帧)”,为什么要跳过?

2026-01-18 15:53:36 709

原创 webrtc降噪模块NS源码解析(1)

大家好,在上一篇文章里面,我们已经用webrtc的降噪模块,对噪声做了一个降噪处理,算是在rk3568上跑通了webrtc的ns模块,今天我们继续来学习webrtc的ns模块里面的细节实现,所以我们需要深度研究里面的源码学习。NumBandsForRate() 根据采样率把音频拆成每 16kHz 一个逻辑 band(16k=1,32k=2,48k=3),让 WebRTC NS 对不同频段采用不同的降噪策略,兼顾音质与性能。上面这里会涉及到一个什么是 “zero frame(全零帧)”,为什么要跳过?

2026-01-18 15:53:36 775

原创 rk3568上webrtc处理稳态噪声实践

大家好,在上一篇文章里面,我给大家介绍了webrtc里面的ns降噪处理流程,本篇文章,我给大家带来webrtc处理稳态噪声的一个测试,非稳态噪声,暂时没有测试,我们一步一步来,我先从最为基本的内容开始,后面再步入到算法原理细节,也就是webrtc里面的ns模块源码研究学习。从今天的文章开始,我们就正式打通了webrtc音频降噪功能了,有实操有理论,完美,当然后面的内容还有很多,我尽量把自己理解到的内容分享出来,我们下期见,准确来说,应该是明年见了,哈哈!第一个带噪声的音频频谱图。

2025-12-20 22:31:30 396

原创 rk3568上webrtc处理稳态噪声实践

大家好,在上一篇文章里面,我给大家介绍了webrtc里面的ns降噪处理流程,本篇文章,我给大家带来webrtc处理稳态噪声的一个测试,非稳态噪声,暂时没有测试,我们一步一步来,我先从最为基本的内容开始,后面再步入到算法原理细节,也就是webrtc里面的ns模块源码研究学习。从今天的文章开始,我们就正式打通了webrtc音频降噪功能了,有实操有理论,完美,当然后面的内容还有很多,我尽量把自己理解到的内容分享出来,我们下期见,准确来说,应该是明年见了,哈哈!第一个带噪声的音频频谱图。

2025-12-20 22:31:30 426

原创 RV1126B多媒体框架资源介绍

它实现了大量硬件算法加速,如:HDR、3A(自动曝光/自动白平衡/自动对焦)、LSC(镜头阴影矫正)、3DNR(3D 降噪)、2DNR(2D 降噪)、锐化、去雾、鱼眼校正、伽马校正、特征点检测等。支持 AES 与 SM4 的加密模式:ECB / CBC / OFB / CFB / CTR / CTS / XTS / CCM / GCM / CBC-MAC / CMAC。RV1126B 支持高性能外部 DRAM(DDR3/3L/4/LPDDR3/LPDDR4/4X),能够满足高带宽需求。

2025-12-07 20:27:51 574

原创 rk3568上解析webrtc音频降噪算法处理流程

上面每一个流程会比较复杂,暂时我们没有看到里面具体是怎么实现,所以后期我们后面深入去追webrtc APM的源码来学习,下期内容,我们来放到板端进行测试一下效果是怎样的!大家好,在上一篇文章里面,我们已经把webrtc的apm降噪工程代码已经移植到rk3568上,今天就开始从最简单的音频降噪NS工程代码来学习音频降噪的原理。不过这个未来可能是被抛弃,官方后期不会维护这个模块,估计对于处理非稳态噪声,处理效果不是很好,暂时没有测试,后面有测试再和大家说。在讲解代码实践之前,首先我们需要了解噪声的分类;

2025-11-22 22:37:10 1149

原创 rk3568上解析webrtc音频降噪算法处理流程

上面每一个流程会比较复杂,暂时我们没有看到里面具体是怎么实现,所以后期我们后面深入去追webrtc APM的源码来学习,下期内容,我们来放到板端进行测试一下效果是怎样的!大家好,在上一篇文章里面,我们已经把webrtc的apm降噪工程代码已经移植到rk3568上,今天就开始从最简单的音频降噪NS工程代码来学习音频降噪的原理。不过这个未来可能是被抛弃,官方后期不会维护这个模块,估计对于处理非稳态噪声,处理效果不是很好,暂时没有测试,后面有测试再和大家说。在讲解代码实践之前,首先我们需要了解噪声的分类;

2025-11-22 22:37:10 580

原创 ALSA ASoc架构的发展由来

换句话来理解,在早期 Linux ASoC 框架出现之前,每个 SoC 都得单独写一份针对该平台的 Codec 驱动,比如:wm8731-s3c.c(Samsung S3C 平台)、wm8731-omap.c(TI OMAP 平台)、wm8731-pxa.c(Intel PXA 平台)、wm8731-imx.c(NXP i.MX 平台);当上层应用(如 ALSA PCM)确定音频硬件参数(采样率、位宽、通道数)时,ASoC 核心会自动匹配并配置对应的 Codec 与 SoC 接口。

2025-11-02 15:00:29 1130

原创 alsa之ASOC架构学习

Codec(Coder/Decoder) 是一个 音频编解码芯片,负责:把模拟信号(来自麦克风)转换为数字信号(ADC),或把数字音频信号(来自 CPU/DSP)转换为模拟信号(DAC)。例如常见的外部音频 Codec 芯片:AK4556、CS42L52 等这些芯片通过 I²S、TDM、PCM、AC97、SPI、I²C 等总线与 SoC 连接。🔹 Mixer(混音器)用于将多个输入源(Mic、Line-in、Playback 等)混合输出;可控制输入增益、开关、路径选择。

2025-11-02 14:52:57 716

原创 从零构建webrtc音频降噪工程代码!

现在我们打通了第一步工程构建,后面就是原理和webrtc降噪的原理以及降噪效果的实践学习,我个人感觉按照这种方式去学习音频算法会更简单,循环渐进,因为音频算法本身比较难,不要上来就看源码和看原理,会比较枯燥的;而是先看效果,然后再带着疑惑一步一步找自己想要的东西。大家好,我在之前的文章里面已经给大家分享过rk3568平台移植webrtc audio procssing的移植,这个平台不限制,都可以参考我之前的步骤流程去操作。build:这个文件夹下是用进行cmake编译的。src: 实现的源码。

2025-10-12 01:10:33 583

原创 嵌入式音频3A算法学习汇总

这本书是麦克风阵列信号处理的经典教材,专门讲解 麦克风阵列理论 + 算法 + 应用,在回声消除 (AEC)、噪声抑制 (NS)、波束形成 (Beamforming) 等“音频 3A”相关领域有很大参考价值。经典的 语音增强 专著,详细介绍噪声抑制(NS)、语音质量评估方法(PESQ、STOI)、语音增强算法(谱减、维纳滤波、MMSE)。这本书偏经典语音信号处理,包含 端点检测、增益控制、噪声鲁棒性 的基础。依托webrtc里面的3A模块,然后再结合上面的理论知识,多实践应用到项目当中去,才能掌握的更好。

2025-09-20 19:02:17 566

原创 <span class=“js_title_inner“>嵌入式音频3A算法学习汇总</span>

这本书是麦克风阵列信号处理的经典教材,专门讲解 麦克风阵列理论 + 算法 + 应用,在回声消除 (AEC)、噪声抑制 (NS)、波束形成 (Beamforming) 等“音频 3A”相关领域有很大参考价值。经典的 语音增强 专著,详细介绍噪声抑制(NS)、语音质量评估方法(PESQ、STOI)、语音增强算法(谱减、维纳滤波、MMSE)。这本书偏经典语音信号处理,包含 端点检测、增益控制、噪声鲁棒性 的基础。依托webrtc里面的3A模块,然后再结合上面的理论知识,多实践应用到项目当中去,才能掌握的更好。

2025-09-20 19:02:17 254

原创 rk3568移植WebRTC AudioProcessing

大家好,我是飞一样的成长,今天这篇文章主要想分享音频3A的内容。同时结合我自己的工作经历,这块的内容还是非常的重要,搞音频最难的地方,就是这块。在我们做嵌入式开发,音频的指标,也是有严格的标准的,需要用专业的仪器测试,比如说信噪比指标。后面的内容,会测试一下效果,先用alsa或者tinyalsa采集音频,然后看一下经过webrtc audio processing处理效果以及里面的具体实现学习。其实这里没有平台的限制,只是我这里以我手上有的板子来进行移植,其他平台都可以按照我下面的方法进行移植即可。

2025-09-14 10:09:29 874

原创 <span class=“js_title_inner“>rk3568移植WebRTC AudioProcessing</span>

大家好,我是飞一样的成长,今天这篇文章主要想分享音频3A的内容。同时结合我自己的工作经历,这块的内容还是非常的重要,搞音频最难的地方,就是这块。在我们做嵌入式开发,音频的指标,也是有严格的标准的,需要用专业的仪器测试,比如说信噪比指标。后面的内容,会测试一下效果,先用alsa或者tinyalsa采集音频,然后看一下经过webrtc audio processing处理效果以及里面的具体实现学习。其实这里没有平台的限制,只是我这里以我手上有的板子来进行移植,其他平台都可以按照我下面的方法进行移植即可。

2025-09-14 10:09:29 245

原创 如何往mp4视频添加封面图和获取封面图?

同时udta box可有可无,不会对mp4播放产生影响,他可以再嵌套在moov box、trak box、moof box、traf box等container box里面。上层父atom的 四字符代码 (FourCC) 会列在下面,而在 data atom之后的 atom flags(标志位) 会显示在 “Class” 一栏中。以上就是往mp4视频文件里面添加用户自定义的封面图和获取具体的实现,文章是使用mp4v2方案实现,也可以用其他方案来实现,比如ffmpeg都行。

2025-09-13 14:59:46 1720

原创 2025嵌入式音视频入门技术栈

握弱网对抗相应的技术(如ARQ,FEC,ABC,GCC) 熟悉WebRTC native源码: 音视频处理流程、码率自适应、jitterbuffer、NetEQ,能定制、优化 低延时优化、性能优化、内存优化经验者优先 优化P2P穿透、提高穿透率,不低于业界指标 优化P2P和RELAY传输,迭代优化QoS指标 优化流媒体产品用户体验,如延迟、流畅、画质 优化音视频传输丢包、网络抖动。做嵌入式音视频上层开发工作内容: 嵌入式音视频功能应用模块开发,包括音视频的编码、解码、存储、传输、osd显示、优化、测试;

2025-07-27 11:42:44 1488

原创 一文彻底搞明白mp4录像方案选型!

大家好,我是txp,今天给大家分享的内容是工作当中经常会遇到的一个功能,那就是mp4录像,正确来说,录像功能,录像可以有很多种容器格式,比如:ts、mp4、mkv等,但是由于mp4格式跨平台兼容性和seek操作,比较好,所有我们就以mp4录像来展开讲讲!首先我们在做mp4格式录像,如果自己把整个mp4标准去实现的话,难度会有点大,就算可以,我们时间没有那么多,实现起来考虑没有那么全面,对于我们在企业里面开发项目的时候,不太合适,所以我们就需要去了解很多开源的mp4库,哪种比较合适嵌入式平台上进行。

2025-07-10 20:58:50 542

原创 从零写一个ALSA声卡驱动学习(8)之ALSA如何和procfs进行绑定?

需要注意的是:当调用 snd_pcm_suspend_all() 时,即使没有设置 SNDRV_PCM_INFO_RESUME 标志,也始终会触发带有 SUSPEND 的 trigger 回调。除了 SND_PCM,select 命令还支持以下组件:SND_RAWMIDI、SND_TIMER、SND_HWDEP、SND_MPU401_UART、SND_OPL3_LIB、SND_OPL4_LIB、SND_VX_LIB、SND_AC97_CODEC。在前面的示例中,所有资源的分配和释放都是手动完成的。

2025-06-29 14:35:20 807

原创 从零写一个ALSA声卡驱动学习(7)之ALSA内存管理

由于历史原因,Playback Mask 和 Playback Default 控制项的两种形式都可以在 SNDRV_CTL_ELEM_IFACE_PCM 或 SNDRV_CTL_ELEM_IFACE_MIXER 接口上实现。要创建 SG 缓冲区处理器,可以在 PCM 构造函数中调用 snd_pcm_set_managed_buffer() 或 snd_pcm_set_managed_buffer_all(),并使用 SNDRV_DMA_TYPE_DEV_SG 类型,就像其他 PCI 预分配方式一样。

2025-06-28 17:43:09 506

原创 从零写一个ALSA声卡驱动学习(6)之AC97驱动实现解析

但如果你需要在驱动中修改寄存器值,或者需要对 AC97 编解码器执行挂起/恢复(suspend/resume)操作,那么就需要保留这个指针,以便传递给相应的函数。以下寄存器可用于设置采样率:AC97_PCM_MIC_ADC_RATE、AC97_PCM_FRONT_DAC_RATE、AC97_PCM_LR_ADC_RATE 和 AC97_SPDIF。当一张声卡上有多个编解码器(Codec)时,你需要多次调用 snd_ac97_mixer(),并将 ac97.num 设置为 1 或更大的值。

2025-06-25 21:11:43 611

原创 RTMP协议之控制消息

协议控制消息1,设置块大小,用于通知对等方使用的新的最大块大小。协议控制消息2,中止消息,用于在对方正在等待数据块以完成一条消息时通知对方,然后丢弃通过数据块流部分接收到的消息,并中止处理该消息。对方接收到要丢弃的消息的数据块流ID作为此协议消息的有效载荷。当发送方已经发送了消息的一部分,但想要告诉接收方剩余的消息将不会被发送时,会发送此消息。如果对等方当前的窗口大小与消息中接收到的窗口大小不同,它会发送“窗口确认大小”回去。这个字段保存新的数据块大小,它将被用于此数据块流发送的所有未来数据块。

2025-06-24 21:35:20 669

原创 RTMP协议分块机制学习!

由完全相同大小、流ID和时间间隔的消息组成的流,应该在类型2的块之后的所有块中使用这种类型。如果第一条消息和第二条消息之间的增量与第一条消息的时间戳相同,那么类型3的块将紧随类型0的块,因为不需要类型2的块来注册增量。如果类型3的块跟随类型0的块,那么这个类型3的块的时间戳增量与类型0的块的时间戳相同。对于类型1或类型2的块,前一个块的时间戳与当前块的时间戳之间的差值在这里发送。块有效载荷的长度对于除最后一个块之外的所有块来说是最大的块大小,对于最后一个块来说是剩余部分(对于小消息可能是整个长度)。

2025-06-23 21:13:10 1024

原创 从零写一个ALSA声卡驱动学习(5)

一些常用的 info 回调函数已经为你提供,方便使用:snd_ctl_boolean_mono_info() 和 snd_ctl_boolean_stereo_info()。第一部分 SOURCE(来源) 表示该控制项控制的来源,是一个字符串,例如 “Master”(主控)、“PCM”、“CD” 和 “Line”(线路输入)等。snd_ctl_new1() 会分配一个新的 struct snd_kcontrol 实例,而 snd_ctl_add() 则将指定的控件组件添加到声卡(card)中。

2025-06-22 17:50:04 1141

原创 从零写一个ALSA声卡驱动学习(4)

已分配缓冲区的物理地址存储在 runtime->dma_area 中,缓冲区大小和 period 大小则分别存储在 runtime->buffer_size 和 runtime->period_size 中。对于大多数只需要调用 synchronize_irq() 的驱动,还有一个更简单的做法:在不实现 sync_stop 回调(即设置为 NULL)的前提下,驱动在申请中断后将返回的中断号赋值给 card->sync_irq 字段即可。需要注意的是,不要将它与 pcm->private_data 混淆。

2025-06-21 20:34:11 1280

原创 从零写一个ALSA声卡驱动学习(3)

如果两者都支持,也可以同时设置。其他可选的标志还包括 SNDRV_PCM_INFO_PAUSE 和 SNDRV_PCM_INFO_RESUME。当 PCM 子流之间可以同步(通常是播放和录音流的同步启动/停止)时,也可以添加 SNDRV_PCM_INFO_SYNC_START 标志。如果你的芯片支持一些非常规的采样率,还需要添加 SNDRV_PCM_RATE_KNOT 标志,并手动设置相应的硬件约束(后文会详细介绍)。需要注意的是,运行时实例中保存的是描述符的一个副本,而不是对原始描述符的指针。

2025-06-20 21:16:13 1125

原创 从零写一个ALSA声卡驱动学习(2)

如果你是通过 request_region() 或 request_mem_region() 手动申请的资源,则可以通过 release_resource() 来释放。但在实际分配之前,需要将该中断号初始化为 -1,因为中断号 0 是合法的。在 PCI 总线上,中断是可以共享的,因此在调用 request_irq() 时需要使用 IRQF_SHARED 作为中断标志。PCI 资源的分配是在 probe 函数中完成的,通常会专门编写一个额外的 xxx_create() 函数来实现这一目的。

2025-06-14 21:42:28 706

原创 rtmp客户端和服务端怎么进行握手?

版本 : 8 bits,在C0中,这个字段标识客户端请求的RTMP版本。32-255是不允许的(以便允许区分RTMP和始终以可打印字符开始的基于文本的协议)。由于每个端点都必须区分它自己发起的握手响应和其对等端发起的握手,因此这个数据应该发送足够随机的内容。客户端(发起连接的端点)和服务器各自发送三个相同的块。它由三个固定大小的块组成,而不是由包含头的可变大小的块组成。这个字段必须包含在S1(对于C2)或C1(对于S2)中由对等端发送的时间戳。这个字段必须包含读取对等端之前发送的包(S1或C1)的时间戳。

2025-06-13 23:10:39 493

原创 从零写一个ALSA声卡驱动学习(1)

不过,至少 ALSA 的内核 API 是一致的,因此本文档在编写这些驱动时仍然具有一定的参考价值。“card” 记录是声卡的核心管理结构,它负责管理该声卡上的所有设备(组件),例如 PCM、混音器(Mixer)、MIDI、合成器等。虽然 Linux 系统本身有标准的 i2c 层,但某些声卡只需要简单的操作,而标准的 i2c API 过于复杂,因此 ALSA 对某些声卡实现了自己的 i2c 代码。在 snd_mychip_probe() 函数中的注释行里标注的数字,对应的是下一节中将详细解释的内容。

2025-06-08 00:01:07 1166

原创 RTMP协议基本介绍

当与可靠的传输协议如[TCP]一起使用时,RTMP块流提供了所有消息的保证有序端到端传递,这些消息跨越多个流,并且按照时间戳排序。例如,一个直播视频服务器可能会选择丢弃慢速客户端的视频消息,以确保音频消息能够及时接收,这基于发送每个消息所需的时间或确认每个消息所需的时间。除此之外,就RTMP块流而言,这是一个不透明的值。这篇备忘录描述了实时消息传输协议块流(RTMP块流),这是一种为多路复用和打包多媒体传输流(如音频、视频和交互式内容)而设计的应用程序级协议,它通过合适的传输协议(如TCP)进行传输。

2025-06-07 20:11:27 592

原创 rtp接收端,怎么解包rtp数据包?

如果检测到 DPA 丢失(在考虑了可能的重传和前向纠错(FEC)后),网关可以决定不发送对应的编码片段数据分区 B 和 C,因为对于 H.264 解码器来说,这些分区在没有 DPA 的情况下已经没有意义。如果发现某个 FU 丢失,网关可以决定不发送同一被片段化的 NAL 单元的后续 FU,因为在前面部分丢失的情况下,后续部分对 H.264 解码器已经无意义。对于所有包含同一个 NAL 单元片段的FU-A 包,去封装时,需要按照发送顺序将这些片段拼接起来,恢复成完整的 NAL 单元,再将其传递给解码器。

2025-04-20 11:29:47 579

原创 rtp三种模式传输打包规则:single nalu、non-interleaved、non-interleaved

禁止使用 STAP(单时间聚合包)、MTAP(多时间聚合包)和 FU(分片单元)。● 对于属于同一编码图像(coded picture)的编码切片 NAL 单元(coded slice NAL units)或编码切片数据分区 NAL 单元(coded slice data partition NAL units)(即它们共享相同的 RTP 时间戳), 可以(MAY)以任意顺序发送;序列参数集和图像参数集的 NAL 单元可以被复制,以提高其正确接收的概率,但是,这种复制绝不能改变任何活动参数集的内容。

2025-04-19 16:19:11 977

原创 rtp载荷结构类型:单一NAL单元包、聚合包、分片单元

对于聚合包(Aggregation packets,如 STAP 和 MTAP),RTP 头部中的标记位必须设定为:如果聚合包中最后一个 NAL 单元单独传输时所应具有的标记位的值。例如,在视频编码 profile 允许任意片段顺序(arbitrary slice order)的情况下,同一编码图像的所有编码片段的 NAL 单元可以使用相同的 DON 值。发送端不应发送这些类型的NAL单元(无论是直接作为载荷,还是作为聚合包中的聚合单元,亦或是FU分片包中的分片单元),接收端必须忽略这些类型的NAL单元。

2025-04-12 23:58:25 963

原创 RTP Payload Format for H.264 Vide(1)

● 编码视频序列(coded video sequence):按解码顺序排列的访问单元序列,由一个瞬时解码刷新(IDR)访问单元开始,后面跟着零个或多个非IDR访问单元,直到下一个IDR访问单元(不包括该IDR单元)为止。但在存在错误或丢包的码流中,冗余编码图像的内容可用于解码处理。● 默认子配置(default sub-profile):编码工具的子集,可以是一个profile的全部编码工具,也可以是多个profile共有的编码工具子集,由 profile-level-id 参数指示。

2025-04-09 22:07:17 968 1

原创 rnn的音频降噪背后技术原理

这是一个传统噪声抑制算法的概念图示。2、避免“音乐噪声(musical noise)”伪影: 所谓音乐噪声,是指噪声抑制时只让一个频点通过,而旁边的频点被强烈压制,从而产生类似“哒哒哒”或“嗡嗡嗡”的金属感杂音。如果使用较宽的频带,我们要么让整段频带通过,要么整体压制,这样就不会留下孤立的频点,从而避免这种伪影。此外,我们的目标也和很多使用深度学习做语音降噪的研究不同: 我们关注的是实时通信,而不是语音识别。顾名思义,它的核心思想是:从一个带噪声的信号中尽可能去除噪声,同时对其中的语音内容造成最小的失真。

2025-04-02 19:59:32 1062

原创 opus编码控制参数

opus介绍:本文档定义了Opus交互式语音与音频编解码器。Opus专为广泛的实时音频应用场景设计,包括IP语音(VoIP, Voice over IP)、视频会议、游戏内语音聊天,甚至实时分布式音乐演出。其支持的码率范围从6 kbit/s的低比特率窄带语音到510 kbit/s的高质量立体声音乐。Opus结合线性预测(Linear Prediction, LP)与改进的离散余弦变换(Modifi...

2025-02-16 16:02:06 1715

原创 v4l2 controls底层控制功能到底怎么实现?

一、v4l2 controls介绍:V4L2 控制 API 看起来足够简单,但在驱动程序中正确实现时会变得非常困难。然而,处理控制所需的大部分代码实际上并非特定于驱动程序,可以移到 V4L2 核心框架中 。毕竟,驱动开发者关心的唯一部分是:● 1、我如何添加一个控制?● 2、我如何设置控制的值?(即 s_ctrl)偶尔还会有:● 1、我如何获取控制的值?(即 g_volatile_ctrl)● 2...

2025-01-24 12:15:41 1114

原创 2024的大变局之年!

前言:大家好,转眼间就到了2025,真的是越长大,时间过得越来越快,快的让人无法喘息呀!回顾2024,不管是个人还是整个社会来说,都是一个新的大变局,那就是ai的横空出世,这里的"横空出世"更加具有影响力,包括学习、生活等各方面都产生了颠覆性的改变,再次让生产力得到了极大提高,但是也会加快对"低端、机械重复"很多产业的淘汰,这也会带来一些问题!但是这都改变不了2024-ai的大浪潮来袭,以及未来的...

2025-01-04 13:23:39 669

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除