视听觉信号处理-期末
我想回家。
语音学概要什么是听觉信号处理
语音识别:1-13.2
语音合成1-15.2
语音编码1-17.2
说话人识别1-19.3
语音的声学特性1-40.5
人耳对于声波频率高低的感觉与实际频率近似成对数关系
声波是纵波
用声压或声强来表示声音的强度1-41.5;习惯上采用相对强度
语音时频域分析办法时域分析短时分析:
x_w(n)=x(m)w(m)
10-30ms内近似为平稳信号,2-5.1
{方窗,哈明窗,哈宁窗}
短时能量$E_n=\sum_Z[x(m)w(m)]^2$;经常是特征的一维。2-9.1
短时平均幅度2-10.2
短时过零率2-10.2{平均过零率,门限过零率}
短时自相关函数2-14.2
频域分析
滤波器组2-19.3
语谱图2-20.3
卷积同态信号处理方法2-24.3乘积性组合信号或卷积性组合信号转化为加性信号。将非线性问题转化为线性问题来处理。
特征系统
反特征系统
复倒谱
倒谱
线性预测分析2-32.4
自相关法
协方差法
语音编码技术语音数据编码的原因3-3.1
每秒样本数fs
每个样本通道数c
每个样本点的位数
为什么可以压缩 ...
自然语言处理复习笔记
终于到了👴自己的4.5学分专业课了。
痛苦。
所以这门课到底在讲什么?
一些定义
NLP:一门以计算机为手段,通过建立语言现象的计算模型对自然语言进行研究和处理的学科
学术会议不接受语言起源的论文(因为无法证明)
语言和言语:个别和一般
言语:说话的行为,具体的话
语言:从言语概括出来的综合,约定俗成的体系
语言符号性
符号
能指(指代物)是所指(被指物)的符号
语言的主要性质
任意性:约定俗成
稳定性:短期,局部
渐变性:长期,全局
线性:书写口述理解都有先后
语言符号
音义结合的统一体
来自社会约定俗成
语言系统
组合关系-横向句子
聚合关系-纵向,互可替换的语言单位
文字
起源于图画
表意文字:不能存在
表音文字:拼音文字
意音文字
汉字:
词语文字
意音文字
语素文字
不是象形或表意文字
语法单位
句子
词组
词
语素
汉语的语法基于语序和虚词
语料库
自然语言的采样
大量的文本,通常经过整理,具有既定格式与标记
分类
共时语料库与历时语料库
共时研究一个平面
通用语料库与专用语料库
加工
杂质过滤 ...
视听觉信号处理-期中
你看我既选了NLP专业课,又选了CV专业课,是不是很智能?
空域图像处理算子
基本运算
加法:去除叠加性噪音,生成叠加效果
减法:去除叠加图案,检测同一场景的图像变化,计算物体边界梯度
乘法:图像的局部显示(二值蒙版)
求反:获得阴图像,子图像的补图像,绘制区别于背景的可恢复图像
与运算:获得两个子图像的相交子图
或运算:合并子图像
异或:获得相交子图像,绘制区别于背景的可恢复图像
几何变换
值不变,但位置变化
平移
旋转(绕原点α\alphaα)
水平镜像
垂直镜像
放缩
拉伸
插值(漏点处理)
本节引用自CSDN:薇洛的打火机
通常情况下,一个整数位置(x,y)经过图像变换后,往往都位于非整数位置。此时就要采用插值技术。
映射算法
向前映射
输入图像上整数点坐标映射到输出图像之后,变成了非整数点坐标。因此,需要将其像素值按一定权重分配到其周围四个像素点上。对于输出图像而言,其整数点像素值周围会有很多输入图像像素映射过来,每个到其周围的非整数点像素值都会分配一定的灰度值到它上面,将这些分配而来的像素值叠加,就是输出图像整数点位置的像素值。由于这个分配、叠加的特性, ...
计算机网络-笔记
概述
计算机网络
互联,自治设备的集合
功能组成上分为通信子网和资源子网
评价指标包括带宽和时延
协议定义两个对象之间交换报文格式及其响应
协议的三要素包括语法,语义和同步
从结构上划分为网络边缘,网络核心和接入网
功能
数据通信:最基本最重要的功能
资源共享
分布式处理
提高可靠性
负载均衡
参考模型
协议,服务和接口是关键。传输层(含)之上的称为端到端层。
OSI
应用层:用户与网络的界面
表示层:数据压缩、加密解密、数据交换
会话层:建立、管理和终止会话,完成同步
运输层:进程通信,可靠数据传输、流量控制、差错控制、服务质量、数据传输管理
网络层:传输数据报,实现流量控制、拥塞控制、差错控制和网际互连
链路层:组帧,差错检测、流量控制和传输管理
物理层:透明传输比特流
TCP/IP协议栈
应用层
运输层
网络层
链路层
物理层
应用层
原理
体系结构
C/S体系结构:一个长期在线的服务器和若干客户端
P2P:间断连接的主机之间直接通信
混合式
进程通信
网络中标识一个应用进程的信息包括端口号和IP地址。
TCP提供可靠的数据传输,无差错、 ...
使用DocFX制作文档&&利用Github Actions自动部署到Github Pages
前言笔者维护的MobileSuit项目在七月进行了一次大更新,但是由于懒一直也没有更新文档。在开学初,终于下定决心,对文档进行更新。
在之前,文档一直采用的是基于hexo的主题的一个文档模板,这个东西bug很多,用起来也很不方便。之前,了解到DocFX是专为C#设计的文档生成器,所以进行了安装和试用。
DocFX的使用安装DocFXDocFX只支持Windows平台。可以直接下载压缩包,也可以从巧克力安装DocFX,但是不能从winget安装(离谱)。
初始化在项目目录处执行docfx init即可进行初始化配置。一般的,保持默认就好了(所以说其实可以直接docfx init -q),但是我把其中的生成目标目录 _site 改成了 docs
之后,docfx在项目目录下生成了子目录docfx_project,推荐直接把里面的内容复制到项目根目录。
开始写文档api这个文件夹里存api文档,我们需要手动写的只有index.md一个文件;其他的会根据你项目的xml注释自动生成,非常方便。articles里存放的是你自己写的文档,你需要写各种md,然后用toc.yml将他们组织起来,如:
1 ...
如何完美添加Windows Terminal到右键菜单
前言Windows Terminal是微软新一代的终端,长得好看,功能也强大,与WSL一起使用更是爽的不得了。然而WT至今还没有大幅的被整合进系统,替换默认终端,使用起来并不是那么方便,更做不到像Linux的终端一样随时随地右键打开了。
因此,我决定自己动手修改注册表,来实现右键打开终端。就像这样:
修改注册表,添加菜单项首先把WT的图标扔到你的用户目录(%USERPROFILE%)里。图标右键另存为就行。
然后任意位置新建wt.reg,内容为
123456789Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\Background\shell\WT]@="打开终端(&T)""Icon"="%userprofile%\\terminal.ico"[HKEY_CLASSES_ROOT\Directory\Background\shell\WT\command]@="[这里自行替换为自己的用户目录]\\ ...
从零开始:Python模块开发、打包 和 PyPI发布
前言因为计算方法实验的缘故,需要用python写一些简单的算法,并进行实验、记录实验数据。其中一个实验需要记录一些多项式,而友好得显示公式的一个好办法就是产生Markdown文件。
然而python自带的Markdown库貌似更侧重于解析,不适合这种轻量化的写入性操作,因此决定自己造一个快速生成Markdown文件的库,也就是pyLabOn。
python模块的开发理论上,一个文件就是一个python模块。但是更复杂的Python Package是由一个包含init.py的文件夹构成的。
我们在pyCharm中新建一个Python Package, 就是这种形式的。
然后我们添加功能性的源文件,对于pyLabOn而言,就是 LabReport.py
模块和文件信息文件信息由头部的多行注释完成:
[email protected] : [email protected] : [email protected]@License : (C)Copyright 2020 [email protected] Time @Author @V ...
JMobileSuitLite:.NET->Java移植,以及Maven打包和发布
前言
最近一些缘故软构实验,需要开发一些Java的命令行程序。然而习惯了使用MobileSuit的我觉得这些重复的输入输出、解析操作,实在是过于繁琐。
MobileSuit是什么呢?是一套把用户输入的命令直接映射到某个类的方法的框架。具体参见MobileSuitDocs。它可以极大的简化命令解析这种繁琐、高度重复,但是又毫无意义的工作。
经过思考与权衡,我不难得出,我直接写实验所需要的时间≥\ge≥我移植MobileSuit的时间+使用MobileSuit完成实验的时间。
成品文档
因此,我花了昨天接近一天的时间,完成了移植和Maven打包发布的配置(现在在等审核)。以下是具体过程:
.NET到JAVA移植
经过这么长时间的发展,.NET Core无疑是比Java更有效率、更强大的平台,再加上我学习Java时间不过两个月,理解不太深入,因此.NET的很多特性,(凭借我的能力)难以在JVM上实现。因此,在进行移植时,我决定只移植最核心的一部分功能,而去除了一些高级功能(参数类型转换,并行和异步流支持,成员递归成员的函数调用等等)。
尽管是轻量级版本,JMobileSuitLite仍然 ...
HIT-Schedule-Master(CLI):基于MobileSuit的CLI程序MVC构建过程实录
前言HIT-Schedule-Master(CLI)项目诞生于手机的更换。IOS平台下,没有可以方便导入来自教务系统的软件,再加上需要输入个人信息的软件用起来也不大放心,因此决定和@mahoshojoHCG开发(实际上是重写)一个可以把从教务系统上自己下载的xls格式课表转换成被各大平台日历系统所支持的iCalendar格式的软件。
前作因为教务系统上课表格式的变化不再可用,再加上是当时紧急赶工的产品,尽管是GUI程序,使用体验很一般,内核代码也比较混乱,因此本作的所有代码基本都是重写的,至少我是把他看成全新作品的。
废话不多说,下面便是课表的开发过程!
Model-ADT程序最核心的部分,在于课表的ADT表示和xls文档的输入。
本作中,负责这部分功能的组件被单独拆分为HIT-Schedule-Master-Core包,代码主要由我编写。
我设计的ADT分为两部分:课表条目ScheduleEntry,和课表Schedule。
课表条目ScheduleEntry课表的一个条目,实际上是一门课在课表上占用的一个位置。然而一门课可以占用多个位置。比如在法外狂徒张三的课表中,甲课实际上占用了 ...
[转]软件构造实战!重构HIT-Schedule-Master-Core!
转载说明本文转载自本人的合作伙伴@mahoshojoHCG。尽管代码的大部分是我写的,但是后续的修改,以及本文的撰写由他完成。以下为原文内容。
前言依稀记得,很久以前做过一个课表软件咕咕咕。在寒假的时候,做了一些微笑的工作,将前端与后端的代码分离到两个仓库里,然后@FerdinandSukhoi(下称SDL)将库重新搞了一下,形成了新的版本,还在其基础上开发出了命令行客户端。
在学习了软件构造的课程之后,感觉很多地方写的问题很大,因此这次在原来的基础上进行小规模的重构,使其符合软件工程的规范。
三大改造暴露安全性修正由于C#是一种超级语言,因此其有属性,一般不会有暴露私有字段,一般来说是没有这方面的风险的。但是我在做Code Review的时候发现了:
1public List<ScheduleEntry> Entries { get; } = new List<ScheduleEntry>();
外界可以对这个List进行操作,可能会对ADT的内部造成毁灭性的破坏,因此这里要进行修改,修改后为:
12private readonly Li ...