硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1432|回复: 11
收起左侧

[信号与系统] 【分享开源】语音降噪算法

  [复制链接]

8

主题

104

回帖

138

积分

初级会员

积分
138
发表于 2023-10-17 15:04:40 | 显示全部楼层 |阅读模式
哈喽,已经有好久没有跟大家分享一些东西了,刚好看到论坛坛友问了一些问题,就想着本次分享一些,语音降噪的 东西吧。
一开始从事无线通信系统这块的项目的时候,走了很多坎坷的道路。从基础的语音采集和转换,到链路的搭建和实现。一步一个坎慢慢下来,虽然现在也还是很多坎,不过慢慢来。(进入正题)

本次分享的算法是:Melpe里面的 降噪部分,这个算法对 机械噪音,白噪音效果较好。Melpe本身是语音编解码算法,但是它自带了一个降噪的算法,测试效果也不错。
分享2个工程,一个是原始工程,原始工程是直接在 win32上面的,然后如果直接移植到 arm上运行效率很低,然后对一些函数做了一些优化,用arm的dsp库。


使用方法也很简单,详细看下图:
下载 (3).png


最重要是看效果。

原始波形:
下载 (4).png

带噪音音频波形:
下载 (5).png

降噪之后的波形:
下载 (6).png


MELPe_VS.zip (11.11 MB, 下载次数: 44)
npp.rar (3.4 MB, 下载次数: 49)

分享以上,感兴趣的朋友可以自己看一下具体的实现流程。



评分

参与人数 2金币 +106 收起 理由
划水佬 + 6 赞一个!
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106749
QQ
发表于 2023-10-17 15:17:36 | 显示全部楼层
回复

使用道具 举报

8

主题

104

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 2023-10-17 15:25:21 | 显示全部楼层

TI之前的工程师太强了,算法几十年都效果这么好。
回复

使用道具 举报

75

主题

684

回帖

909

积分

金牌会员

积分
909
发表于 2023-10-17 16:02:52 | 显示全部楼层
顶一个
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2023-10-25 16:13:41 | 显示全部楼层
感谢分享,试试效果。。。
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
发表于 2023-10-30 18:32:01 | 显示全部楼层
在pc上处理了下,不知道啥问题,看起来不太对。
1698661781397.jpg
回复

使用道具 举报

8

主题

104

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 2023-11-1 13:48:27 | 显示全部楼层
131202110 发表于 2023-10-30 18:32
在pc上处理了下,不知道啥问题,看起来不太对。

你用的是什么工程哇,vs 工程吗,vs工程可以直接打开的运行的。我看现象应该是 数据的 输入大小不对。

我忘了说 一些参数了:
1. 输入语音采样率必须是 8K、单声道。16bit以内,如果是32bit可以缩方到16bit.
2. NoiseSuppression 函数输入的 语音 数组是 22.5ms帧,换算过来就是 180个采样sample。加上是16bit的,那么输入的数据大小必须是 180 * 2Byte = 360 Byte.如果输入数据不对就会转换成你这样。
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
发表于 2023-11-6 13:50:55 | 显示全部楼层
由崎星空 发表于 2023-11-1 13:48
你用的是什么工程哇,vs 工程吗,vs工程可以直接打开的运行的。我看现象应该是 数据的 输入大小不对。

...

使用vs工程,输入语音采样率8k,单声道,uint8_t转成int16_t,180个数据处理一次。
回复

使用道具 举报

8

主题

104

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 2023-11-6 21:39:01 | 显示全部楼层
131202110 发表于 2023-11-6 13:50
使用vs工程,输入语音采样率8k,单声道,uint8_t转成int16_t,180个数据处理一次。

你发来我看看是不是处理的不对
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
发表于 2023-11-7 14:28:49 | 显示全部楼层
vs工程+wav语音

ej.zip

12.03 MB, 下载次数: 7

回复

使用道具 举报

8

主题

104

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 2023-11-7 16:25:04 | 显示全部楼层

看了你改的内容了,你的wav文件格式是8bit的。需要放大到16bit.  因为你是直接把 8bit赋值到了16bitd数组里面,其实实际上这个值会变成很小,因为你默认的wav是8bit的,但是处理的是16bit,它的滤波器会把你的赋值较低的部分给删除掉,因此你看起来你的波形有很大区别,这样也会音质受损。

建议:把8bit转成16bit在处理。可以直接把数据源文件转为16bit。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2024-3-19 19:46:26 | 显示全部楼层
记录一下 学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-4 07:34 , Processed in 0.376443 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表