Fork me on GitHub

  2021年4月15日
摘要:一 基本概念 bin文件合并是嵌入式中常用的,这里给一个实例。 二 实例分析 import os import argparse import hashlib offset1 = 0x00100000 def bin_file_merge(bin_file1,bin_file2,bin_merge) 阅读全文
posted @ 2021-04-15 18:31 虚生 阅读(4) 评论(0) 推荐(0) 编辑
摘要:一 hash的价值 hash值的唯一性仅仅在是同一个文件的情况下得到了同样的hash值,而哪怕错误一个字节也会得到不一样的hash值。 hash值得最大价值就是唯一性。这样在bin文件检查和校验这块用处非常大,做嵌入式的,经常会遇到版本无法找到情况,利用hash来查找bin文件是否一致,非常方便。 阅读全文
posted @ 2021-04-15 16:47 虚生 阅读(4) 评论(0) 推荐(0) 编辑
摘要:前记 教员教导我们,没有调研就没有发言权。相比以前的凭着感觉走,现在在做一件事情之前,笔者一定会花一些时间做一些调研的,不掌握基础信息,不掌握一手资料,不掌握核心信息,怎么能够做出准确的判断呢?虽然是一个偶然的机会闯入了这个领域,但是想要把东西做好,还是要了解行业,了解需求的。 国外巨头 NO.1: 阅读全文
posted @ 2021-04-15 13:52 虚生 阅读(15) 评论(0) 推荐(0) 编辑
  2021年4月14日
摘要:一 python文件创建 import os import argparse def file_write(file_name,msg): f = open(file_name,"a") f.write(msg) f.close def get_parser(): parser = argparse 阅读全文
posted @ 2021-04-14 18:36 虚生 阅读(6) 评论(0) 推荐(0) 编辑
摘要:主流技术方式 反馈抑制器技术(啸叫抑制):现在用的有三种:移频技术,陷波器技术,自适应滤波器处理。这三种技术方案各有千秋,项目需要,笔者都研究了一番。 移频法 原理:就是通过算法运算,把声音的频段平移一定的量,来达到啸叫抑制的效果。实现方式:只需要用到Hilbert变换FIR滤波器即可以实现。优点: 阅读全文
posted @ 2021-04-14 15:36 虚生 阅读(19) 评论(1) 推荐(0) 编辑
  2021年4月8日
摘要:基本概念 所谓的2.4G音频传输,不是使用标准的wifi和蓝牙协议传输,而是使用私有的2.4G通信协议来实现点对点,一对多和多对一的音频传输。2.4G私有协议音频传输,有这低延时,距离远,声音高清的特点,这个是使用wifi和bt协议传输无法满足的。所以,在音频传输领域,这个是一个非常重要的音频传输方 阅读全文
posted @ 2021-04-08 21:16 虚生 阅读(30) 评论(0) 推荐(0) 编辑
  2021年4月6日
摘要:为什么是我们? 团队从做芯片开始,一直在无线领域这个圈子里面混。从刚开始的wifi芯片,到后面的bt芯片,再到后面的音频算法,再到后面一起创业,做无线音频解决方案。随着和客户关系的逐渐深入,团队慢慢的了解到,2.4G无线传输领域,里面有太多的问题没有解决。这里面的很多问题,正好是我们这个团队所擅长的 阅读全文
posted @ 2021-04-06 21:22 虚生 阅读(53) 评论(0) 推荐(0) 编辑
摘要:前记 作为一个前端算法为核心的解决方案提供商,双麦克算法一直是我们研究的重心。这些年,陆陆续续的花费了不少时间在上面,坎坷的研发经历,可以说是一波三折。不过,在经历了一系列山路回转之后,总算是得到了一些进展。蓦然回首,真是山穷水尽疑无路,柳暗花明又一村啊。 调试历程 农历腊月,寒风凛冽。当大多数人都 阅读全文
posted @ 2021-04-06 10:53 虚生 阅读(37) 评论(0) 推荐(0) 编辑
  2021年4月5日
摘要:前记 2.4G无线音频传输是一个非主流的应用,做这个的人 相对要比较少。但是,这个领域所涉及到的知识却不少,也就导致了这个领域是好入门,但是东西想做好特别难。这里涉及到声学,无线协议,电子,设备等知识,没有深厚的技术积累,是无法把这个方案做好的。这里,我们就梳理一些这里面的技术难点。 音频算法 音频 阅读全文
posted @ 2021-04-05 16:21 虚生 阅读(45) 评论(0) 推荐(0) 编辑
  2021年3月31日
摘要:定格 时间定格在一年前,当讨论要不要做这个方向时,团队分成了两拨意见,一种是认为智能音箱已经价格极低了,再做这个有什么意义呢?另外一种声音是以为这个难度太高了,一大堆音频算法需要调试,花费的时间和精力太大了。这个时候,就是要看决策者的眼界和战略了。通过对产品的研究,自身的特点,以及办公趋势的发展,笔 阅读全文
posted @ 2021-03-31 22:18 虚生 阅读(19) 评论(0) 推荐(0) 编辑
摘要:定位 人最难的是给自己的定位,并在这个社会中找到自身的角色和价值。心在一艺,其艺必工,心在一职,其职必举。个人和团队做了那么多年的技术,一直在积累蓝牙和音频方面的技术。团队的使命也就定位成为中小企业提供一体化的音频物联网解决方案。 急人所需 作为一家方案公司,身处整个电子产业链的漩涡中。为了及时接触 阅读全文
posted @ 2021-03-31 10:09 虚生 阅读(26) 评论(0) 推荐(0) 编辑
  2021年3月29日
摘要:前言 教员曾经教导我们,没有调研就没有发言权。这个一个中年男人闯荡社会多年之后,蓦然回声,才发现已经采坑很多年。作为一个方案公司的技术人员,假如不深入的了解客户的需求,那无疑义闭门造成,曾经的我们,就是闭门造车啊。跟着自己的想法走,以为自己的做的东西就是客户所需要的东西,岁月真是不堪回首啊。 用户需 阅读全文
posted @ 2021-03-29 18:40 虚生 阅读(17) 评论(0) 推荐(0) 编辑
  2021年3月26日
摘要:产品简介 大家开会的时候,很多人都直接使用手机app了,比如,zoom,腾讯会议等。既方便又快捷。由于手机设备拾音距离有限,也不是针对会议场景做的,所有,在多人会议的时候,问题就出来了。这个时候就需要一个专门的会议通话设备。这下就催生了J公司的全向麦克风无线蓝牙拾音器。 作为一个音频解决方案商,对这 阅读全文
posted @ 2021-03-26 18:26 虚生 阅读(32) 评论(0) 推荐(0) 编辑
  2021年3月25日
摘要:一 概念: A malloc() 在内存的动态存储区中分配一块长度为size字节的连续区域,参数size为需要内存空间的长度,返回该区域的首地址 B calloc() 与malloc相似,参数sizeOfElement为申请地址的单位元素长度,numElements为元素个数,即在内存中申请numE 阅读全文
posted @ 2021-03-25 10:19 虚生 阅读(21) 评论(0) 推荐(0) 编辑
  2021年3月23日
摘要:谁的方案? 前几天和一个小伙伴讨论方案公司的价值,他给出定位还是比较准确地,作为一家方案公司,就是让产品公司,低成本,快速的推出具有市场竞争力的产品。凭借着本团队在无线蓝牙领域的深耕,这些年也做了不少产品。抱着资源不浪费的原则,这里把做过的产品展示给大家,让有需要的朋友能够快速的找到适合的方案。 方 阅读全文
posted @ 2021-03-23 21:47 虚生 阅读(25) 评论(0) 推荐(0) 编辑
  2021年3月17日
摘要:一 概念: 在声学领域中,DRC(Dynamic range compression) 一般用来动态调整音频输出幅值,在音量大时压制音量在某一范围内,在音量小时适当提升音量。通常用于控制音频输出功率,使扬声器不破音,当处于低音量播放时也能清晰听到。 DRC通常用于声音的记录和再现,广播,现场声音增强 阅读全文
posted @ 2021-03-17 11:57 虚生 阅读(79) 评论(0) 推荐(0) 编辑
  2021年3月13日
摘要:前记: 书到用时方恨少,工具用时方才发现好不到。为了一个工具,也是折腾了有一阵了。 工具说明: 在耳机中,各大芯片公司为了节省内存,本地播放的一般都是sbc格式文件,这就用到了wav转sbc文件的软件,这个市面上非常少,很多只能依靠专门的工具, 笔者找了好久也才算挖掘出来了一个。有需要的小伙伴联系我 阅读全文
posted @ 2021-03-13 17:54 虚生 阅读(36) 评论(0) 推荐(0) 编辑
  2021年3月2日
摘要:一 概念: hexdump是Linux下的一个二进制文件查看工具,它可以将二进制文件转换为ASCII、八进制、十进制、十六进制 格式进行 查看。 二 用法简介: 该工具的用法十分简单,具体如下所示: hexdump: 不适用的选项 -- - usage: hexdump [-bcCdovx] [-e 阅读全文
posted @ 2021-03-02 14:54 虚生 阅读(67) 评论(0) 推荐(0) 编辑
  2021年2月26日
摘要:概述 在音频前端处理算法中,beamforming算法是一个无法绕过的存在,随着AI技术的广泛发展,前端语音技术的需求也在呈现个性化的动态范围。作为一个深耕音频算法多年的老兵,发现站在巨人的肩膀上,才能做出对得起客户的产品。今天就分析一下一个开源的beamforming算法。 算法流程 步骤一:预处 阅读全文
posted @ 2021-02-26 17:23 虚生 阅读(149) 评论(0) 推荐(0) 编辑
  2021年2月25日
摘要:一 简介: CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cma 阅读全文
posted @ 2021-02-25 17:10 虚生 阅读(80) 评论(0) 推荐(1) 编辑
摘要:一 语法: load(filename) load(filename,variables) load(filename,'-ascii') load(filename,'-mat') load(filename,'-mat',variables) S = load(___) load filenam 阅读全文
posted @ 2021-02-25 13:59 虚生 阅读(163) 评论(0) 推荐(0) 编辑
  2021年1月15日
摘要:最简单的代码,能够解决最棘手的问题,才是解决工程师的需要: #include <stdio.h> #include <time.h> #include <unistd.h> int main(void) { time_t t; time(&t); while(1) { sleep(1); print 阅读全文
posted @ 2021-01-15 18:15 虚生 阅读(66) 评论(0) 推荐(0) 编辑
  2021年1月6日
摘要:总结 新年的钟声敲响了,沉重的2020就这样消失在历史中了。一年之间,斗转星移,春夏秋冬,当回望过去,感触颇深。有太多的经历值得回味,有太多痛苦值得铭记。有太多的失误值得修正,也有太多的成长值得庆祝。经历过彷徨,失望,也经历过开心和刻骨铭心。不过,这些都会像窗外飘飞的雪花落入泥土一样,这些都会慢慢的 阅读全文
posted @ 2021-01-06 08:37 虚生 阅读(171) 评论(0) 推荐(1) 编辑
  2020年12月30日
摘要:概念 在数字信号处理过程中,每次FFT变换只能对有限长度的时域数据进行变换,因此,需要对时域信号进行信号截断。即使是周期信号,如果截断的时间长度不是周期的整数倍(周期截断),那么,截取后的信号将会存在泄漏。为了将这个泄漏误差减少到最小程度(注意我说是的减少,而不是消除),我们需要使用加权函数,也叫窗 阅读全文
posted @ 2020-12-30 17:08 虚生 阅读(654) 评论(0) 推荐(0) 编辑
摘要:目前基于麦克风阵列的声源定位方法大致可以分为三类:基于最大输出功率的可控波束形成技术、基于高分辨率谱图估计技术和基于声音时间差(time-delay estimation,TDE)的声源定位技术。 基于TDE的算法核心在于对传播时延的准确估计,一般通过对麦克风间信号做互相关处理得到。进一步获得声源位 阅读全文
posted @ 2020-12-30 14:25 虚生 阅读(126) 评论(0) 推荐(0) 编辑
  2020年12月24日
摘要:前记 随着以AI为核心的智能设备的广泛发展,语音这个非常重要的入口一直是很多厂商争夺的市场。作为音频采集的前端设备,能采集到的距离远,清晰度高,无噪声的信号是一个非常重要的能力。这样就对音频前端降噪提出了新的需求,需要前端降噪更加智能化,更加深度化,更加低成本化。 面对市场的强劲需求和市场的不断变化 阅读全文
posted @ 2020-12-24 14:12 虚生 阅读(215) 评论(0) 推荐(0) 编辑
  2020年12月22日
摘要:早期语音质量的评价方式是凭主观的,人们在打通电话之后通过人耳来感知语音质量的好坏。1996年国际ITU组织在ITU-T P.800和P.830建议书开始制订相关的评测标准:MOS(Mean Opinion Score)测试。 它是一种主观测试方法,将用户接听和感知语音质量的行为进行调研和量化,由不同 阅读全文
posted @ 2020-12-22 20:27 虚生 阅读(253) 评论(0) 推荐(0) 编辑
摘要:前记: 人生苦短,我用python,python在做一些算法验证和接口验证方面,的确是非常的好用。读取串口经常用到,这里就做个总结,给自己和周围的人做个备忘吧。 函数解析: 初始化串口数据: import serial #Serial takes two parameters: serial dev 阅读全文
posted @ 2020-12-22 20:19 虚生 阅读(307) 评论(0) 推荐(0) 编辑
  2020年12月18日
摘要:待补充 阅读全文
posted @ 2020-12-18 17:52 虚生 阅读(119) 评论(0) 推荐(0) 编辑
摘要:FIR的作用和价值 FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、 阅读全文
posted @ 2020-12-18 17:34 虚生 阅读(169) 评论(0) 推荐(0) 编辑