这种情况很常见,可能是因为你的内心深处仍然对他有感情,或者你对这段感情还有一些不舍得和留恋。即使你已经决定要放手,但是你的情绪和情感可能需要一些时间来逐渐适应和接受这个事实。
也可能是因为你对未来的不确定性感到不安和焦虑,你想要一些保障和安全感。这种情况可能会让你感到情绪低落和难受。
无论是什么原因,最重要的是要学会面对自己的情感,尝试接受它们,并找到合适的方式来处理它们。你可以选择和好友或者家人谈谈,或者进行一些自我疗愈的活动,比如听音乐、看**、读书等等。同时,也要给自己一些时间和空间来适应这个变化,不要过于压抑自己的情感。时间会让你慢慢走出这段感情,走向更加美好的未来。
该篇文章只是以初学者的心态提出一些问题,同时通过浏览资料自答这些问题。
参考书籍:
b数字信号处理:理论与应用pdf
c数字信号处理(吴镇扬)pdf
d漫画傅立叶解析pdf
eDigital Audio Signal Processing2nd Editionpdf
f通信原理pdf
答:首先必须要有数学模型,而在时域分析,都是一系列的波形,分析起来也必定比较复杂,所以必须要寻求另外一个方式的分析。在做完另外一个方式的分析、处理操作之后,也必须要能转回到原来的数学模型中,其实这整个过程就是傅立叶变换与逆变换了。中间对信号的处理,就涉及到了滤波器等等知识。
答:我们知道,对于计算机而言,语音信号就是一系列的离散值,并没有数学模型,那是如何做出fft的呢?这里就要说明一个函数了:
这个是任意音频信号的逼近表达式,也就是说,不管获取的是什么数据,都可以通过这个函数来逼近。现在剩余的就是怎么去求解三个系数了,求系数的过程其实就是傅立叶变换,而如果对系数的计算做算法处理,让速度更快,就成了快速傅立叶变换。所以说,傅立叶变化只是将分析方法搬移到了频率域而已,因为变换之后还是能变换回来的,只是中间会有不同程度的精度损失。
答:1个方面是因为计算复杂度降低,也就是说计算速度快,相位效果好,而弊端是引入一个恒定的相位移。从模拟滤波器到数字滤波器,可以使用脉冲响应不变法和双线性变换法来从模拟滤波器转换到数字滤波器。iir滤波器有一些指标:
通带和阻带的容限一般使用的是db值描述。
再给出两个公式定义:
上式中,分子的值归一化为1,所以3db通带截至频率值为0707
答:主要是分析信号的频率的组成成分。
答:首先看离散fft的基本转换公式:
答:有高斯白噪声和粉红噪声。高斯白噪声可以在matlab中使用randn函数来产生,而粉红噪声就可以在高斯白噪声的基础上加一个滤波器,这样就可以达到效果了。
信号分为确定性信号和随机信号,随机信号常用统计量来描述。最常用统计量有均值、方差相关函数与功率谱密度,3阶、4阶高阶矩和高阶累积量,高阶谱等。随机信号有平稳随机信号和非平稳随机信号。
FFT分析是建立在平稳信号的基础上的。从这个意义上讲,并不是说fft不能分析非平稳信号,而是说,如果能将非平稳信号转为平稳信号,也是可以做分析的。
一般认为EQ可以分为3类,分别为图示均衡器(GEQ)、参量均衡器(PEQ)与房间均衡器。
GEQ与PEQ分别是图示均衡器与参量均衡器。它们都有3个重要的指标参数:Q值、Gain增益、Freq频率。Q值指的是频率线的弯曲幅度。Q越大则表示所选的频率范围越集中,Q越小则所选的范围越广阔。
EQ可以改变频率,它看起来与滤波器很像,但是滤波器确是砍去波形。
因为EQ可以增强与衰减某一个频率段的频率,所以可以通过粉红噪声,再结合EQ,可以训练耳朵听某一个频率的变换。
目前常用的图示均衡器将频率分为10段、15段、27段与31是段。10段均衡器的频点是以倍频程间隔分布,使用在一般的场合中,15段均衡器是2/3倍频程均衡器,用在专业扩声上,31段均衡器是1/3倍频程均衡器,多数有在比较重要的需要精细补偿的场合下。关于这部分可以在cooledit的Effects---->Filters---->Graphic Equaizer有实际效果图,可以推拉柱状图查看,如下图所示:
10段均衡器的频率分布为:[100Hz, 200Hz, 400Hz, 600Hz, 1KHz, 3KHz, 6KHz, 12KHz, 14KHz, 16KHz]
15段均衡器的频率分布为:[40Hz, 63Hz,100Hz,160Hz,250Hz, 400Hz, 630Hz, 1KHz, 16KHz,25KHz,4KHz, 63KHz, 10KHz, 14KHz, 16KHz]
31段均衡器的频率分布为:[20Hz, 25Hz, 32Hz, 40Hz, 50Hz, 63Hz, 80Hz, 100Hz,125Hz, 160Hz, 200Hz, 250Hz, 315Hz, 400Hz, 500Hz, 630Hz,800Hz, 1KHz, 125KHz, 16KHz, 2KHz, 25KHz, 315KHz, 4KHz,5KHz, 63KHz, 8KHz, 10KHz, 125KHz, 16KHz, 20KHz]
目前常用的参数均衡器可以对声音做更精细的调节,多附设在调音台上,调节的参数内容包括频点、频段、增益和品质因数Q值等。关于这部分的实际调参图,可以参考下图:
通过均衡器的图形带来的冲击感,就会发现,声音也是可以拿来玩的。同样,cooledit也的确是一个神器。
cooledit也是可以making music的,如下图所示:
现状
人与之间通过声音来直接沟通交流,人与机器之间的交流也渐渐脱离了传统的沟通模式,进入了语音交流时代。语音交流更是拉近了人和机器之间情感,现在的语音技术就是为了使机器更好的识别人声、并合成接近人类的声音以达到更好的交流。
目前国内研究语音相关的团队主要包括科研院所、语音技术公司以及互联网公司三部分:
科研院所主要包括高校和科学院,比如科学院里有声学所、自动化所,高校里面研究比较多的清华、北大、西工大、科大、上海交大等,这些都是在语音圈里占有较高位置的老牌队伍。
语音技术公司包括我们比较熟悉的科大讯飞、云知声、思必驰、极限元等。
互联网公司包括BAT、搜狗等拥有强大的语音技术团队来支撑着其本身的很多业务。
测试方案
接触语音识别、语音合成项目的测试将近一年,认识还非常浅薄,大家有更好的想法或者技术方案可以多多沟通交流。下面分别从语音识别、语音合成谈谈一些我在项目中用的测试方案。
语音识别
语音识别的整体流程如上,站在测试角度思考,测试最简单的切入点就是最终生成文本内容的校验上。
目前的测试方案是事先标注一批语音的文本内容,与识别出的文本内容做对比,获取识别的准确率。但是这种准确率统计脱离了实际使用场景,比如车载模式下的噪音、与麦克风的距离都会影响识别准确率。
另外,从上图流程可以看出,识别准确率还会受声学模型、解码器的影响。语音信号经过特征提取得到声学特征,再通过声学特征训练得到声学模型,声学模型结合语言模型以及发音辞典构建声码器以后进行解码来输出文本,所以声学模型的训练结果一定是正确的吗?这也是测试的一个切入点。
语音合成
测试考虑从以下两方面入手:
服务端的文本分析
合成效果的评测
文本分析
语音合成的测试前期工作主要放在前端文本分析上,用python中的Snownlp及pypinyin将文本进行分分词及注音后输出注音及音调,服务端的前端模块输出注音及音调,将脚本输出的结果和服务端输出的结果做对比。这种方式可以对比出音调、多音字的差异。
frompypinyin import pinyin#pinyin将汉字转为拼音。可以用于汉字注音、排序、检索fromsnownlp importnormal#snownlp 转换成拼音,繁体转简体,提取文本关键词fromsnownlp import seg#分词text_normal =normalzh2hans(text_path)sent_normal =normalget_sentences(text_normal)words= segseg(sent_normaldecode('utf-8'))#匹配多音字word= SnowNLP(words_list)word=wordsim(sim_worddecode('utf-8'))#注音txt_zhuyin = pinyin(word, style=pypinyinTONE3)
合成效果评测
成功效果评测的方式也有两种:一种方式众包评测,这种方式是靠人的主管感受去评测合成的语音是否流畅、自然、发音正确等,这种方式的结果更有说服力,但是人力成本较大。
另一种方式是对比语音的波形图,python中的wave模块支持将语音转为波形图,python中还有其他模块如eyeD3,PyAudio,Audacity等等可以处理语音暂且不介绍这些模块。先介绍wave中的一些方法:
getparams()
获取wav文件的参数(以tuple形式输出),依次为(声道数,采样精度,采样率,帧数等)
readframes()
得到每一帧的声音数据,返回的值是二进制数据,在python中用字符串表示二进制数据。
步骤如下:
通过wav库获得nightwav的头文件中的信息,如采样率/声道数等等
提取出DATA区域的信息,用numpy将string格式数据转化为数组
通过判定声道数将DATA区域数据进行处理(对数组矩阵进行转换)
得到每个绘制点的时间(x坐标)
用matplotlib库提供的方法绘制出波形图
对波形的信息进行对比分析,可以从中得到很多有效信息,但是这些信息是否能有效过滤掉不同的口音、情绪、呼吸等的差异,去提取自己想要的信息如音调差异、错别字的差异还在探索中。
原文链接
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)