All Stories

linux 配置和使用 service

今天在公司的云开发机上面把我们的一个 cpp 工程搭建了一个 websocket 服务.本地访问挺好的.通过 vscode 的端口转发在 mac 机器上也能正常访问.可是当我想让公司内网的其他同事访问该服务的时候却一直访问不通.公司的另一位同事说云开发机上搭建的服务是可以内网访问的,于是我只好找公司网络安全相关的同事咨询,费了一番功夫,最后终于发现,是由于我的程序里面监听的是ws:://localhost:8080,而实际应该把 localhost 换成机器的内网 ip 地址.挺简单的问题,在沟通过程中了解到 linux 的 service 相关的知识. 我的这个网络服务使用 cpp 写的,编译出来一个可执行程序,我一直以为直接运行就行或者再加个nohup和&放到后台和防止被杀后台.没想到还可以通过创建一个.service 文件来启动和管理服务. Linux中.service文件是某项服务对应的配置文件,可用于systemd管理和控制的服务的设置。 .service 文件通常包含3个模块, 即[Unit]控制单元,表示启动顺序和依赖关系; [Service]服务,表示服务的定义; [Install]安装,表示如何安装配置文件。 一般系统管理员手工创建的单元文件存放在/etc/systemd/system/目录下面。 我的程序需要创建的 service...

Rnnoise是如何工作的

几个月前,看到一个开源的Rnn降噪程序,我对其作了修改对一个带噪音频进行降噪,发现效果真的比传统的降噪算法(webrtc中的降噪模块)好了很多。当时看着挺复杂的,我没有深究它的原理,几个星期前总监让我做一个自研的Rnn降噪程序,我查询了一些资料,发现Rnnoise的设计真的挺自然而精妙的…

声源定位-GCC-PHAT

前几天工作中发现DOA这东西挺好玩的,于是这两天在做声源方向估计的工作,我使用GCC-PHAT(广义互相关-相位变换)实现了声源方向估计,遗憾的是,由于条件所限,只实现了双麦克风下的声源估计。。。

图片转音频

第一次接触到声谱图,在声谱图上编辑音频的时候,我就在想如果我在声谱图上编辑出各种图案,最终的音频会变成什么样子?前一阵子在某平台上看到一篇文章,里面说到某次演唱会上一个歌手就把自己的头像放进了自己的歌曲的最后一段里,并在最后突然显示出来。这听起来真是一件很有趣的事。最近我就用python实现了一个程序,把自己的自拍照转为音频,并且让音频能比较清晰的播放出有意义的声音······

使用c/c++实现utf8编码转gbk编码的两种方法

最近工作中遇到一个问题,需要把中文语句转换成对应的音素,如“增大音量”需要转换成“[z-eng] [d-a] [ii-in] [l-iang]”。boss给我提供了一个python实现的程序,需要我用c/c++实现一遍。python实现中大致分为两步:汉字转拼音、拼音转音素。其中汉字转拼音python中是由一个库实现的,要如何用c来实现这一功能呢?我在网上找到一个把gbk编码的汉字映射成拼音的表,但是程序要求的输入是utf8编码的汉字,所以就需要实现utf8编码转gbk编码。

回声消除算法

无论是在空旷的屋子里还是幽深的山谷中,我们都很容易听到回声。回声虽然听着很好玩,但是在一些场景中却必须要去除回声,比如免提电话、电话会议系统等情形。本文将主要讨论回声消除算法的归一化最小均方算法(Normalized Least Mean Square)。