当前位置: 首页 > article >正文

基础-语音是怎么进到LLM里面的

粗糙且概括地来说,语音是按照时间切分成很小的小块,然后每个小块的波形变成了一列像素,例如1100,那么一段语音可能分成200块,则该图片是200100的,接下来就变成了怎么做ViT的问题了。

接下来,详细说说语音->图的转变。

傅立叶变换

如果音频只有一个频率,则它是规律的波形。
规律的波形也有高低,因此这是另一个变量,叫赫兹。现在有了频率和赫兹,这就能画二维的图了。
在这里插入图片描述
如果一个音频很乱,则它是多个频率的叠加。
这就是傅立叶变换的目的,找出时序的音频波形是由哪些。
如上图所示,由两个频率和各自振幅(声音大小)组成的波形是左下角,右下角是两个频率(x轴)和其振幅(y轴),实际上应该是两个尖,没有宽度。
可以想像,如果是真实音频,其傅立叶变换后的右下角图得有多乱了。

短时傅立叶变换。

如果对十分钟的音频做FFT,显得有些拥挤了,信息也不够细。
所以有了短时FFT,核心就是把音频切分成带覆叠的音频块,再对小块做FFT。这就是前面说的1*100的像素的由来,100就是100个频率区间,像素颜色深浅代表赫兹。
在这里插入图片描述

梅尔频谱

这没有什么神秘的,只是一种对频率轴的拉伸。对于同样500hz频率的变化,从500->1000人类能分辨, 10000->10500就分不出来了。人类对低频更敏感,所以需要做一定的拉伸:
在这里插入图片描述
f是频率,单位是hz,依照上面的公式就能把频谱图转为梅尔频谱图。可见,上式是单调递增的。鬼知道为什么是这些值,大概是试出来的吧。

下面是一个实际的梅尔频谱,从知乎截的。
在这里插入图片描述
可见,横轴是时间,即短时傅立叶变化切割整个时间轴得到的碎片,一个个小格子很明显。
纵轴是hz,但是注意,hz并非线性变化,0-512与1024-2048的宽度几乎一样,但是hz变化差分别是512和1024,这是梅尔频谱转化的结果。
感觉纵轴不太对,所以用gpt快速验证了一下:
在这里插入图片描述
看来也差不多,0-512变化618,1024-2048变化526。
梅尔频谱图的颜色深浅为分贝,它也是一个对振幅的单调递增映射,也是为了对应人耳感受。以下是振幅转分贝的公式,其中A0是一个定值。
在这里插入图片描述

结语

看完了就知道声音是怎么转为“图片”的了,后续再看看这些频谱图的处理与cv领域用的ViT处理方法有何不同。


http://www.kler.cn/a/599499.html

相关文章:

  • 平芯微PW2609A过压保护芯片应用电路
  • 安科瑞新能源防逆流解决方案:守护电网安全,赋能绿色能源利用
  • Packaging Process
  • Geotools自动识别SLD并生成图例图片实战-以Polygon数据为例
  • 万象更新(一)VTK 坐标轴、相机方向坐标轴、立方体坐标轴
  • Linux共享内存
  • HarmonyOS NEXT 基于原生能力获取视频缩略图
  • 2025年3月24日(matlab/simulink 问题集)
  • JAVA线程安全的集合类分类
  • 【Kafka】Kafka可靠的数据传递
  • 数据结构-栈的应用(括号匹配,表达式求值(中缀转后缀、中缀表达式))
  • CollageDao
  • 图相关知识总结
  • Spring Boot与K8s深度融合
  • 利用dify打造命令行助手
  • Hugging Face预训练GPT微调ChatGPT(微调入门!新手友好!)
  • Spring MVC 异步接口简析
  • Apache Dubbo 与 ZooKeeper 集成:服务注册与发现的全解析
  • 版本控制GIT的使用
  • 基础算法篇(2)(蓝桥杯常考点)