![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
语音和文本处理(Python)
文章平均质量分 76
内容主要集中在文本处理和语音处理.语音处理各种情况下的正弦信号(阻尼正弦也包含),频谱图,过滤器,音频延迟处理等;文本处理包含识别单词和单词频率,替换单词,转换成POS标签,文档检索等.有问题可以在文章下面评论我,可以解答问题..
the only KIrsTEN
这个作者很懒,什么都没留下…
展开
-
Python音频音频延迟
最简单的延迟函数将创建输入的副本,在副本的开头中添加一些沉默(在字节对象中的0),并将其与原始输入组合。播放声音并在一段时间后重复进行声音的想法很简单,但是在音乐制作中广泛使用它作为独立的效果,也是混响,合唱和法兰的基础。要实现延迟函数,我们需要读取和写入音频数据,将两个音频信号添加在一起,更改信号的音量,并在信号末端创建空空间。为了使该声音更像是一个现实的回声,我们可以通过使用AudiOop.mul乘以延迟音频的音量来更改延迟音频的音量。现在,我已经实现了一个简单的延迟功能,我想进行一些增强功能。原创 2022-12-15 09:00:00 · 679 阅读 · 0 评论 -
python 自相关序列(ACF)
设置y轴方向的最大、最小值,修改默认整个y轴的区域设置,指定在y轴的区间,ymin=0.25,ymax=0.5,则y轴方向下边界为:y轴方向最小值+y轴区间长度* ymin,即− 1 + ( 1 − ( − 1 ) ) ∗ 0.25 = − 0.5 -1+(1-(-1))*0.25=-0.5−1+(1−(−1))∗0.25=−0.5,同理可得y轴方向上边界值。参数scale(float):正态分布的标准差,对应分布的宽度,scale越大,正态分布的曲线越矮胖,scale越小,曲线越高瘦。原创 2022-12-12 11:00:00 · 2193 阅读 · 0 评论 -
python 的Chirp功能
注意:频率图(正确)显示了一个平坦的频谱,但是我们认为信号是正弦的,即只有一个频率的信号,但随着时间的推移,信号是一个频率,但随着时间的推移变化(扫描到选定的频率范围)。我们现在看到,实际上存在(或多或少)平坦的频率范围(大约在0 Hz和≈8Hz之间),该频率与上面得出的瞬时频率的推导,即f(t)= t。随着时间的推移频率增加的正弦信号(即,以后t的更快振荡)可见。我们现在看到,实际上存在(或多或少)平坦的频率范围(大约在0 Hz和≈8Hz之间),该频率与上面得出的瞬时频率的推导,即f(t)= t。原创 2022-11-18 10:15:00 · 1354 阅读 · 0 评论 -
python 频谱图的应用和递归过滤器
预期的学习目标(ILOS):您应该演示频谱图的应用以及各自的numpy命令的参数如何影响时间和频率分辨率,并通过thet,您可以分析的内容。能够使用Butterworth,Cheby I和II以及Cauer / Cauer / Elliptic Filter Designs设计递归过滤器。线性绘制滤波器传输函数,并在DB中过滤信号并通过分析频谱图来感知过滤前后过滤之间的差异了解Python库的基本用途频谱图(任务1)频谱图可用于同时可视化时间和频率信息。 Matplotlib的Specgram(原创 2022-11-18 10:00:00 · 1236 阅读 · 0 评论 -
python 标准IR系统文档检索
这些包括是否在预处理中应用停止列表和/或词干的选项,设置结果文件名称的选项,以及指定术语权重方案的选项在检索期间使用(可选择二进制、tf(术语频率)和tfidf模式)。3.查询存储为表单对的列表(查询id、预处理文本),例如文本,[‘parallel’,‘languages’,'anguages],‘for’,‘paralle’,‘computation’]查询10没有词干或停止列表,但当两者都在使用时,它会变成[“平行”、“角度”、“语言”、“平行”和“对比”]。(您可以使用IR引擎的修改副本。原创 2023-01-04 13:30:00 · 389 阅读 · 0 评论 -
使用Python中的正则表达式处理html文件
例如,正则表达式,如:r" (\w+) \1 仅当与组(\w+)完全匹配的字符串再次出现时才匹配 backref\1出现的位置。在下面的代码中,这些匹配对象被访问(通过for循环),因此可以打印组1。将代码添加到STARTER脚本为这些模式编译RE(将它们分配给有意义的变量名称),并将这些RE应用于文件的每一行,打印出找到的匹配项。一个HTML文件,并返回一个纯文本文件,所有HTML标记都已从中删除出来这里我们不打算这样做,而是考虑一个更简单的例子,即删除我们在输入数据文件的任何行中找到的HTML标记。原创 2022-11-15 09:30:00 · 1719 阅读 · 0 评论 -
python Zipf定律-高度偏斜分布
例如,在图(Xs,Ys,‘ro-’)中,格式字符串“ro-”给出了一条红色(“r”)连续线(“-”),带圆圈(“o”)标记数据点,但我们可以选择蓝色(“b”)或绿色(“g”)、星号(“*”)或十字(“x”)或直线即虚线(“–”)、点划线(“-”)或不存在(即仅显示数据点)。要绘制具有(x,y)点(0,1.2)、(1,2.2)和(2,1.8),例如,我们形成x值[0,1,2]和y值[1.2,2.2,1.8]的列表。因此,最频繁的单词出现的频率大约为两倍作为第二频繁词,是第三频繁词的三倍,等等。原创 2022-11-07 10:00:00 · 842 阅读 · 0 评论 -
Python中的正则表达式(Regex匹配,贪婪匹配Greedy Matching)
•正则表达式(regex)是描述一组字符串的模式匹配过程测试给定字符串是否与模式匹配,也可以修改字符串.例如,通过替换子串或将其拆分为子串•正则表达式是一种功能强大的编程工具,广泛用于计算/文本处理(例如)在Perl、Tcl/Tk、Java、grep、sed、awk、vi、emacs、lex中找到但请注意,regex语法各不相同•许多应用-一些随机示例:从一组网页中删除html;从程序中提取注释块(例如构建文档);检查文档中的双字(“the”、“here here”)原创 2022-11-05 11:00:00 · 3833 阅读 · 0 评论 -
快速傅里叶变换(FFT),离散傅里叶变换(DFT)
为了确定合适的FFT长度LFFT,我们感兴趣的是一个大于时域(输入)序列长度的数字。FFT通常被实现为各种类型和长度的输入信号有效计算DFT的众多算法的集合,通常使用软件库FFTW(这里为真正感兴趣的人撰写的科学论文)。以下函数nextPowerOf2(L)和nextPowerPOf2_simple(L)是计算适当的FFT长度L_FFT的两个实现,该长度是2的幂,并且总是大于信号长度L。如果您感兴趣,可以使用不同的L,例如,使用下面代码中的主注释中提供的示例。这些函数的确切工作方式超出了本实验表的范围。原创 2022-11-04 11:30:00 · 2291 阅读 · 0 评论 -
python 处理锯齿波信号
如果我们在第一个正弦的顶部加上第二个正弦(这里是双频(2ω0),但振幅的一半),即要实现sin(ω0t)+0.5sin(2Ω0t),这可以解释为从单位圆上的当前值(下图左面板中的绿点)开始向半径为一半的第二个圆添加另一个矢量(振幅因子0.5)。如果样本数据的总数量为N,fft函数返回N个变换后的数据,但是这N个数据是左右对称的,即有效的实际数据只有N/2+1个。傅里叶定理指出,任何频率为f0的周期信号都可以通过将频率为f0,2f0,3f0,4f0,5f0等的“正弦波”(正弦波)相加而精确地构建。原创 2022-11-04 10:45:00 · 1494 阅读 · 0 评论 -
Python 处理POS标签
您还可以考虑是否存在术语的子类可以容易识别的,用于分配不同的默认标签,如果你有时间和动力,你可以探索使用词尾后缀作为预测未知单词词性的提示。例如,以-ing结尾的单词英语通常是动词(带有POS VBG),而以-ly结尾的单词通常是状语(RB)。扩展所提供的起始代码以给出将处理训练数据文件的脚本,将每个句子拆分为其标记,并计算标记和POS的同时出现次数标签。在这里,我们将查看一些词性(POS)标记的数据,并提取从中获取一些分布信息,然后使用单词/POS标签共现计数作为构建简单POS标签的基础。原创 2022-11-03 09:30:00 · 691 阅读 · 0 评论 -
Python两个序列的相关性
4.约束布局是指通过一系列限制来确定画布中元素的位置的方式,它预先会确定一个元素的绝对定位,之后以该元素的位置为基点对其他元素进行绝对定位,从而灵活地调整元素的位置。如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么 assert 语句是应用在这种情形下的理想语句。size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出 m * n * k 个样本。因此,有时报告相关性的绝对值也是常见的。原创 2022-11-03 10:00:00 · 1369 阅读 · 0 评论 -
python (语音)信号拆分为数据块,计算短期能量和过零率
学习目标(ILO):您应该了解如何将(语音)信号拆分为数据块(帧)并在这些块上进行分析/转换计算短期能量和过零率并将它们可视化以区分浊音和清音语音部分了解相关性的基础知识并能够实现相关性估计器了解 Python 命令的基本用法:枚举;范围原创 2022-11-02 10:00:00 · 852 阅读 · 0 评论 -
语音处理-傅里叶分析和Z变换
•分解为周期函数可以是将信号转换为“频域”(即时间上的重复可以表示为频率)f = 1/T(cycles-per-second/Hertz)•约瑟夫·傅立叶(1768-1830)介绍定理:频率为f0的任何周期信号都可以通过加在一起精确地构造“正弦”(正弦波)与频率f0,2f0…•每个频率的信号功率为其实它的真实和虚分量的平方(例如,正弦波具有变化振幅但恒定功率)•然而,信号的频谱完全由每个频率的幅度和相位…•非周期和随机信号具有连续的光谱频率函数(即所有可能的频率)•信号可以表示任何类型的序列测量。原创 2022-10-24 09:30:00 · 615 阅读 · 0 评论 -
语音信号块处理和自相关函数
相比之下,清音信号不需要使用声带。例如,音素 /s/ 和 /z/ 或 /f/ 和 /v/ 之间的唯一区别是声带的振动。– 例如 在 Pure Data 中,默认的“块大小”是 64 个样本(即默认 44.1 kHz 采样率下的 1.45 毫秒帧)假设“广义平稳性”(WSS)协方差仅取决于 𝜅 = 𝑘2 - 𝑘1 之间的差异考虑样本指数,即𝑘2 = 𝑘1 + k。• 由于语音的准平稳特性,帧尺寸是在一个帧中有足够的数据来完成所需的测量;离散时间信号之间x[k] 相同的信号 x[k]的“自协方差”原创 2022-10-23 14:00:00 · 615 阅读 · 0 评论 -
数字编码;数字语音编码
全球移动通信系统 (GSM) 是由欧洲电信标准协会 (ETSI) 开发的标准,用于描述移动电话和平板电脑等移动设备使用的第二代 (2G) 数字蜂窝网络协议。狄拉克δ函数是一个广义函数,在物理学中常用其表示质点、点电荷等理想模型的密度分布,该函数在除了零以外的点取值都等于零,而其在整个定义域上的积分等于1。狄拉克δ函数在概念上,它是这么一个“函数”:在除了零以外的点函数值都等于零,而其在整个定义域上的积分等于1。• 对低于奈奎斯特速率的信号进行采样会导致“混叠”(频率高于采样的能量率被反射回较低的频率)原创 2022-10-23 00:32:29 · 677 阅读 · 0 评论 -
语音叠加和谐振的计算
f = (2i – (x1+x2))c/4L, (c是声速”, L是管的长度,i 是一个正整数 (1, 2, 3 …),x1是管子一端的开口度,x2是管子另一端的开口度)• 在实践中,通常假设语音是在很短的时间间隔内(10-30 毫秒)静止,如果间隔太短,则没有足够的时间准确确定信号属性;• 一个圆柱体的共振频率 f由f= (nv)/2L给出 (v 是声速,L是管的长度,n 是一个正整数 (1, 2, 3 …• 如果两个纯音具有相同的频率,幅度和相位,结果是一个纯音相同的频率,振幅的两倍。原创 2022-10-23 11:15:00 · 742 阅读 · 0 评论 -
python统计word文档中的单词
您可以定义一个函数(例如count words),该函数对文件中(非非索引字表)单词的出现次数进行计数,并将这些计数作为字典返回,即单词作为键并计数为值。(或者,您可以定义一个简单的类实例存储此信息,并将单词计数功能作为一种方法。比较:您可以定义一个函数,在给定的计数字典中两个文件)计算其单词重叠的度量。一个简单的版本忽略文件中的单词数,而是处理每一个都只是一组单词类型。为了简化,您可以将单词视为文件中找到的所有最大字母顺序(可以使用简单regex和regex findall方法)。原创 2022-10-23 10:45:00 · 1487 阅读 · 0 评论 -
python 处理阻尼正弦
阻尼正弦阻尼正弦波(英語:damped sine wave)是振幅會隨時間增長而趨向零的正弦波函數。當諧振子消耗的能量比供應的能量多,其波形即為阻尼正弦波,此函數常用在科學及工程中。阻尼正弦可以定义为:x(t)=sin(2πft)e^(−αt)以下代码生成正弦信号和衰减形状。 通过将两个信号逐个样本相乘来生成阻尼正弦信号。exp:高等数学里以自然常数e为底的指数函数numpy.exp():返回e的幂次方,e是一个常数为2.71828首先没有阻尼。 why inside the np.conca原创 2022-10-18 10:00:00 · 1212 阅读 · 1 评论 -
Python处理大量的正弦信号
在本模块的后面(以及后面的实验工作表中),我们将分析频域中的频率内容,并将了解在频域中可以更好地区分此类信号。请编写一个函数 get_sine_wave(frequency_hz, length_s, sample_rate_hz) 以所需的采样率 fs 返回具有给定频率 f 和持续时间(以秒为单位)的正弦波。我们可以连接信号以形成更长的信号。例如,我们想要创建一个具有一半音乐会音高频率的新信号,然后与音乐会音高交替播放 2 次。因为这次我们需要大量的正弦信号,所以创建一个计算正弦的函数是有意义的。原创 2022-10-15 10:15:00 · 1031 阅读 · 0 评论 -
Python 以正弦信号绘制信号
但是由于采样点足够接近,所以在选择适当的时间轴和轴描述的情况下,它看起来好像是一个时间连续信号 s(t)。变量 s 包含语音信号向量 s[k] ,变量 fs 包含采样率,也就是采样频率 fs ,即每秒信号的离散样本数。legend()函数的属性bbox_to_anchor=(x, y)用于指定图例的坐标,属性ncol表示图例的列数,默认值为1。要绘制幅度信号 s[k](不是信号 s2[k] 的幂),我们可以使用 (\ref{eq:defDBamplitude})。为了处理语音信号,我们要加载一个声音文件。原创 2022-10-15 10:00:00 · 2105 阅读 · 1 评论 -
文档查询匹配的方法:布尔模型,向量空间模型
• 布尔查询提供了一个简单的逻辑基础来决定是否有任何应根据以下情况退回文件:查询的基本术语是否出现在文档中;参考文献 数学结构“bag”(又名“multiset”)— 像一个集合(即无序),但记录每个元素的计数。• 方法:构建复杂的搜索命令,通过结合基本搜索词(关键字,使用布尔运算符。• 比较查询向量与每个文档的向量,根据与查询的相似性对文档进行排名。• 集合中的每个文档要么与给定查询相关,要么不相关与该查询相关。通常,加上每个文档中的术语计数。查询和文档之间的匹配二元决策:是文档是否与查询相关?原创 2022-10-12 11:00:00 · 625 阅读 · 0 评论 -
信息检索Python
词条操纵(某些词算作同一个词条);术语权重(某些术语比其他术语更重要);• 期望网络上的所有内容创建者都这样做是不可行的;集合是动态的→方案不断变化;找到能够很好地描述文档并组织起来的术语的任务,他们允许有效地找到文件。通常:更多关于统计而不是“语言”,但要检索的对象(和过程)是语言。• 这就是 Google 的 IR 系统所做的。• 文档中的文字提供有关其内容的信息。每个术语的记录,它出现的文档的 ID。• 系统如何找到最匹配的文档?原创 2022-10-12 10:00:00 · 601 阅读 · 0 评论 -
处理文本的原则
• 为了确定正在使用的字节顺序,Unicode 有两个特殊的称为字节顺序标记 (BOM) 的代码,这些是彼此的镜像(U+FEFF 和 U+FFFE);在选择和突出显示文本等过程中与用户交互通过插入和删除接受键盘输入和编辑存储的文本比较操作中的文本,例如排序或确定排序顺序两串分析文本内容,例如拼写检查、断字、解析形态(查找词根/词干/词缀)将文本作为批量数据处理,例如压缩、传输。旨在覆盖通用,包含文本的所有字符,在所有现代书写系统中,在大多数历史书写系统中,以及用于纯文本中的符号。原创 2022-10-11 19:24:27 · 231 阅读 · 0 评论 -
文本处理的应用和编码文本历史
一个或多或少永久标记的系统,用于代表一个话语这样一种方式,它可以或多或少完全准确地恢复,而无需说话者的干预”Peter T. Daniels,世界写作系统语言和脚本之间存在多对多映射,许多语言可能共享一个脚本• 西欧的大多数语言使用罗马文字小的变化(法语的重音,西班牙语的一些额外字符,斯堪的纳维亚语言)某些语言可能有多个脚本• 日语——汉字(来自中文);平假名(用于语法粒子);片假名(用于汉语以外语言的外来词);阿拉伯数字书写系统可以从多个维度进行分类:方向性。原创 2022-09-29 21:31:41 · 639 阅读 · 0 评论