由于项目需要,我要使用Python对语音进行端点检测,在之前的博客使用短时能量和谱质心特征进行端点检测中,我使用MATLAB实现了一个语音端点检测算法,下面我将使用Python重新实现这个这个算法,并将其封装到VAD类中,如下是运行结果: 软件环境 Python3.8、scipy、pyaudio、matplotlib 程序 matlab程序转换到python还是挺容易的,VAD
1.概述 语音增强算法可从信号输入的通道数上分为单通道的语音增强算法与多通道的语音增强算法。单通道语音系统在实际应用中较为常见,如电话,手机等。这种情况下语音与噪声同时存在一个通道中 ,语音信息与噪声信息必须从同一个信号中得出。一般这种语音系统要求噪声比较平稳,以便在非语音段对噪声进行估计,再依据估计出来的噪声对带噪的语音段进行处理。如果系统是一个多通道的语音系统,各个通道之间存
HHT原理 Hiibert Huang变换是由Huang等人于1998年提出来的一种信号分析方法,它主要由两个部分组成:经验模型分解(Empirical Mode Decomposition, EMD)和希尔伯特变换(Hilbert Transform,HT),其中EMD是核心。 经验模式分解方法是一种自适应的、高效的数据分解方法。由于这种分解是以局部时间尺度为基础的,因此它适应于
在信号处理领域,存在诸多变换,比如标题中的五个变换。本文将对这五个变换进行介绍和比较。在开始之前,我们需要先理清什么是平稳信号,什么是非平稳信号。 我们知道,自然界中几乎所有信号都是非平稳信号,比如我们的语音信号就是典型的非平稳信号。那么何谓平稳信号和非平稳信号呢?一个通俗的理解即,平稳信号在不同时间得到的采样值的统计特性(比如期望、方差等)是相同的,非平稳信号则与之相反,其特性会随
概述 在复杂的应用环境下,从音频中分割出语音信号和和非语音信号,是一个很重要的环节,因为它不仅可以减少数据以及系统的运行时间,还能够抑制噪声对系统的干扰。端点检测就是判断语音的起点和终点。常用的方法有基于短时能量和过零率的双门限法。 本文将介绍一种基于信号短时能量和谱质心的端点检测方法。 原理及MATLAB实现 基本流程 从语音信号中提取短时能量特征和谱质心特征序列(
在机器人路径规划之动态窗口法文中,介绍了一种局部路径规划方法——动态窗口法,本文将介绍一种全局路径规划方法——Dijkstra算法(狄克斯特拉算法)。Dijkstra算法是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。 基本原理其基本原理是:每次新扩展一个距离最短的点,更新与其相邻的点的距离。 以下图为例,计算左上角节点到右下角节点的最短路径,箭头上的数值表示两个节点间的距离
在文章路径规划 | 随机采样算法:PRM、RRT、RRT-Connect、RRT*中,介绍了具备渐近最优性的RRT*算法。随着采样点数的增多,RRT*算法的规划结果会逐渐收敛到最优。 但是可以观察到,RRT*算法是对自由空间进行均匀采样,搜索树上会生成很多冗余的分支,我们可以对RRT*算法的采样过程进行改进。 Informed-RRT*算法就是对RRT*的采样过程进行优化得到的算法,它采用一个椭
JPS算法全称为Jump Point Search,也就是跳点算法,可以视为A*算法的一种改进算法,它保留了A*算法的主体框架,区别在于:A*算法是将当前节点的所有未访问邻居节点加入openlist,而JPS则是使用一些方法将有“价值”的节点加入openlist,具体方法就是本文的内容。以下面两图为例,简单说说JPS的改进效果。 两图中深蓝色的点表示在openlist中的节点,淡蓝色表示已经探索过
基于图搜索的路径规划算法主要用于低维度空间上的路径规划问题,它在这类问题中往往具有较好的完备性,但是需要对环境进行完整的建模工作,在高维度空间中往往会出现维数灾难。为了解决这些问题,本文将介绍基于随机采样的路径规划算法。这类算法适用于高维度空间,它们以概率完备性(当时间接近无限时一定有解)来代替完备性,从而提高搜索效率。 基于随机采样的路径规划算法又分为单查询算法(single-query pat
地图数据常常可以用图(Graph)这类数据结构表示,那么在图结构中常用的搜索算法也可以应用到路径规划中。 本文将从图搜索算法的基本流程入手,层层递进地介绍几种图搜索算法。首先是两种针对无权图的基本图搜索算法:深度优先搜索(Depth First Search, DFS)、广度优先搜索(Breadth First Search, BFS)。它们的区别在于openlist(后面介绍)所选用的数据结构类
ROS下载缓慢 如果是在国内安装,建议在安装之前先配置国内的镜像源,在软件和更新进行更改即可 参考:Ubuntu18.04下安装ROS 由于没有公钥,无法验证下列签名 安装ROS时报错: W: GPG 错误:http://mirrors.ustc.edu.cn/ros/ubuntu bionic InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17
使用RealsenseD435i运行VINS-FusionVINS-Fusion是基于双目的视觉惯导方案,不太符合我目前的需求,但这是我使用的第一个视觉SLAM方案,接下来还是简单记录下 运行环境硬件环境:Up2、RealsenseD435i 软件环境:Ubuntu18.04、ROS melodic、librealsense2.29、realsense-ros2.2.9 安装首先需要安装Ceres
动态窗口法(Dynamic Window Approach)概述 DWA是一种基于速度的局部规划器,可计算达到目标所需的机器人的最佳无碰撞速度。 程序实现DWA算法主要分三步: 计算动态窗口计算最优 [ v , ω ]更新机器人状态流程图如下: 以下代码参考:https://github.com/AtsushiSakai/PythonRobotics 初始化机器人状态、目标位置、障碍物位置 #
ROS与STM32是用串口进行通信的,主要有两种方式,一是将STM32作为一个节点,二是制作一个上位机节点,负责与STM32进行串口通信.第一种方式需要专门的硬件,所以我选择第二种方式 本文将实现在ROS上制作上位机节点接收来自STM32发送的IMU数据,并将接收到的数据作为话题进行发布.由于发送的数据均为float型数据,而串口只支持发送字节型的数据,所以实现两者通信的关键就是float与字节数
俗话说"工欲善其事必先利其器",之前在Ubuntu上运行的ROS项目都是用vim或者gedit编写和修改代码,然后在终端编译运行,很不方便,函数跳转查看都没办法实现。所以今天我决定找一个方便的开发工具,也就是找一个像Windows上的VS那样的集成开发工具(IDE),ROS官网上有一个不同IDE的对比文章,网址在这里 我选择使用VScode.下载安装好VScode后,在扩展栏安装C/C++,CMa
在运行VINS-MONO、VINS-Fusion等SLAM方案的时候,需要很准确的相机参数,否则很容易漂移。本文是RealsenseD435i相机标定过程的记录,标定主要有三个步骤 IMU标定 相机标定 IMU与相机联合标定 IMU标定这里使用imu_utils标定imu,在安装imu_utils之前,要先安装ceres-solver和code_utils,ceres-solver安装见Ins
本文直接使用的github上的orb_slam_2_ros实现在ROS上运行ORB-SLAM2,这个ros包能够得到相机的位姿以及稀疏点云,而且删掉了对Pangolin的依赖,进行可视化时要用RViz。 运行环境硬件环境:Intel Up2、Realsense D435i软件环境:Ubuntu18.04、ROS melodic、librealsense2.29、realsense-ros2.2.9
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信