音频处理2_进阶概念

本节主要对”音乐”和”人声“等概念初步整理,并过度到AI模型的讲解,本节后续会有补充或修改。

1. 名词概念

1.1 音频类

  • 基频(f0)

复杂声音(例如人声、乐器音)通常由多个频率成分组成。基频是最低的频率成分,是整个声音波形的周期性重复的基础。其他的频率成分是基频的整数倍,称为谐波(harmonics)或泛音。

  • Pitch(Tone) 音高/音调
Pitch: 音高是 音频”频率“的主观感知,有高低的区别。Tone: 音调, 即声调 是 音高的变化规律,即声高的局部周期性。

对于乐器音符,基频越高,音高越高。

对于人声,男生基频低,女生基频高。

  • Timbre 音色

在任意时刻,声波振动产生的基频与谐波(基频的倍数),其频率数值和波的成分比例决定了声音的音色。

1.人声:当人说话或唱歌时,声带振动产生的主要频率就是基频(f0)。男声的基频通常在 85 Hz 到 180 Hz 之间,女声的基频通常在 165 Hz 到 255 Hz 之间。2.乐器:乐器的声音也是由基频和谐波组成。3.钢琴-弹奏音符中央C(C4)时,不仅会听到C4的基频,还会隐约听到其谐波,不同钢琴的音色是丰富和复杂的,每个音符包含了基频率及其谐波。每个音符频率基于十二平均律调音,即相邻音符的频率比是固定的 \sqrt[12]{2}(约1.05946)。同时:-钢琴中央C(C4)的基频约:261.63 Hz-二阶谐波:523.26 Hz(1个八度上,即C5)-三阶谐波:784.89 Hz(接近G5,因与纯音频率有少许偏差)-四阶谐波:1046.52 Hz(两个八度上,即C6)-五阶谐波:1307.15 Hz(接近E6)-六阶谐波:1569.78 Hz(接近G6)4.吉他- 弦在振动时,产生的基频是 440 Hz(即 A4 音),同时还会有 880 Hz、1320 Hz 等谐波。

1.2 语音类

首先要分清: 语音、语言、语义

  • 语音

语言的外部形式,是人的发音器官震动发出的声波。

  • 语言

是 人类 交流的表达方式,也是文化的载体,可以表达 思想 和感情等。

  • 语义

即 “语言的意义” 包含

  1. 思想, 即“理性意义”,“逻辑意义”。
  1. 情感,即“非理性意义”,包括主观情绪、态度及语体风格等

.

  • Phoneme 音素
1.Vowels(元音音素):通过声带振动从声道发出的声音,发音时口腔内没有明显的气流阻碍。
不同的元音主要通过舌头的位置(高低、前后)和嘴唇的形状来区分。
例如,英语中的元音 /i/(如 "see" 中的音)与 /u/(如 "food" 中的音)就是通过舌头和嘴唇的位置差异来区分的。
2.Consonants(辅音音素):辅音是通过在声道中产生气流阻碍来发出声音。这种阻碍可以是完全的阻塞(如 /t/)或者部分的(如 /f/)。
辅音音素分类通常基于三个主要的特征:发音位置(如双唇、齿龈等)、发音方式(如爆破音、摩擦音等)和声带振动情况(清音和浊音)。

- Syllable 音节

音节(Syllable)是语音中可感知的最小单位,一个音节由一个或多个音素(phonemes)组成。音节决定语言节奏和韵律。音节是词汇构建,在诗歌、歌曲和朗读中,音节的数目和分布对韵律和节奏有很大影响。

* 最小的发音单位:通常包含一个元音(vowel)或元音音素作为核心,这个核心被称为音节核(syllable nucleus)。在一些语言中,音节还可以包含一个或多个辅音(consonants)作为音节的边界(syllable margins)。* 组成:* 声母(Onset):音节的开头部分,通常是一个或多个辅音。* 韵母(Rhyme):音节的后半部分,由音节核和音节尾组成。* 音节核(Nucleus):通常是一个元音,是音节的最重要部分,决定了音节的响亮度。* 音节尾(Coda):紧随音节核的部分,通常是一个或多个辅音。

在一些语言中,音节可以没有声母(如英语中的单词 “eye”),或者没有音节尾(如 “go”)。

* 音节的种类:* 开放音节(Open Syllable):以元音结束,如 "no"。* 闭合音节(Closed Syllable):以辅音结束,如 "cat"。* 简单音节(Simple Syllable):只有一个元音或辅音和元音的组合,如 "me"。* 复杂音节(Complex Syllable):包含多个辅音和元音的组合,如 "strength"。

- Prosody 韵律

韵律涵盖语言的节奏、音高、强度、语调和音长等超音段(suprasegmental features)音质特征。包括音节和音素的组合,及更长的语音结构。用于分析表达情感、意义和语法结构。

韵律的组成:

  1.节奏(Rhythm):* 节奏是指语言中音节或词汇的时长和间隔的模式。节奏可以通过语音中重读和非重读音节的排列以及音节的时长来体现。* 英语是一个重音时间语言(stress-timed language),即重读音节之间的时间间隔大致相等。而西班牙语则是一个音节时间语言(syllable-timed language),即每个音节的时间间隔大致相等。2.重音(Stress):* 重音是指在某个音节或词汇上加重发音。重音可以改变单词或句子的意义(如“record”作为名词和动词在英语中的重音位置不同)。* 重音在不同语言中的分布和功能有所不同。例如,法语的重音通常出现在词的最后一个音节,而英语的重音可以出现在词的任何位置。3.语调(Intonation):* 语调是指在句子层面上音高(Pitch)的整体变化模式。语调可以表示疑问、陈述、命令等语气,还可以用来区分句子结构(如在英语中,升调通常用于是非疑问句,降调用于陈述句)。* 语调还可以用来表达情感,如高昂的语调可能表示兴奋或惊讶,而平稳的语调可能表示平静或冷静。* 汉语是一种声调语言,每个音节的音高模式(声调)直接决定词义。例如,“妈(mā)”、“麻(má)”、“马(mǎ)”和“骂(mà)”因声调不同而表示不同的意思。4.音长(Duration):* 音长是指音素或音节的发音时长。音长的变化可以影响语言的节奏和韵律,有时还可以改变词汇的意义(如在日语中,音长变化可以区分词义)。

.

  • 音韵(Phonology)

音韵关注音素及其组合和变化规律,是语言的音段层面(segmental level)的特征。关注音素及其组合规则、音位变体、音节结构、音韵模式等。它揭示了语言中如何利用声音来传达意义的深层次结构,并与韵律(Prosody)等超音段特征紧密相关。

1.3 人声类

  • 辅音

发音时声带不振动的辅音,辅音的产生主要依靠气流在口腔或喉部的阻碍或摩擦。辅音可以分为清辅音(Voiceless consonant )和浊辅音两大类。

清辅音是指在发音时声带不振动的辅音

浊辅音则是指在发音时声带振动的辅音,振动为浊音提供了音色和共振。

1. 清辅音的例子:* /p/:如 "pin"* /t/:如 "top"* /k/:如 "cat"* /s/:如 "sit"* /ʃ/:如 "ship"* /f/:如 "fine"
2. 浊辅音的例子:* /b/:如 "bat"* /d/:如 "dog"* /g/:如 "go"* /z/:如 "zip"* /v/:如 "vet"* /ð/:如 "this"

3. 发音区别:

清辅音与浊辅音的发音方式相似,区别在于声带的振动状态。例如,/p/ 和 /b/ 在舌位和唇音的制约下发音的过程相似,但/b/ 是浊辅音,其振动声带,而/p/ 是清辅音,不声带振动。

  1. 语言中的应用:

英语中清辅音和浊辅音之间可区分词义,例如 “pin” 和 “bin” 的区别就在于/p/ 和/b/ 的区别。

  • 齿音

主要是: zhi-chi-shi

上下牙齿较近时,发音气流过长造成的刺耳声音

发音快速过度 或 上下牙齿保持距离

2. 主流任务

2.1 文本生成语音(TTS)

  • concatenative TTS

    从单个说话者那里录制一个非常大的简短语音片段数据库,然后重新组合拼接成完整的话语。

  • parametric TTS

    生成数据所需的所有信息都存储在模型的参数中(声码器),语音的内容和特征可以通过模型的输入进行控制。如隐马尔可夫模型(HMM-based Speech Synthesis),深度神经网络等。

2.2 语音转换(VC)

  • VC(Voice Conversion)即变声,从一个人的声音,转换到另一个人

  • SVC(Singing Voice Conversion), VC子任务,即歌声转换

3. 模型结构

3.1 结构总览

当前模型结构都可以归纳为自编码器结构(auto-encoder),即【编码器-解码器】结构,部分模型只有编码器,或只有解码器。

  • 编码器提取或压缩特征

  • 解码器根据低维特征,生成目标内容

输入语音│ ▼
─────
特征提取 (降维-下采样得到低纬度特征,如潜空间向量、梅儿谱等)│ ▼	  【编码器-特征提取 模型】
─────
特征对齐   (输入特征 和 目标特征对齐, 是  输入特征 和 目标特征 融合的 关键)【融合-对齐 模型】
─────	│ 	   【解码器-声码器-生成模型】▼
特征表征    (将融合的特征 升维-上采样,输出目标语音)
─────│ ▼
输出语音

3.2 主流模型

主流TTS和VC模型都是自编码器结构

TTS 模型重点在编码器,该编码器提取声音的语义特征,以匹配文本

VC模型重点在解码器,也叫生码器,用于生成转换后的变声语音

  • So-VITS-SVC 和 RVC

    包含 Hubert 编码器 和 VITs变声模型, 以及HifiGAN

  • Shallow Diffusion Mechanism (DiffSinger)

    包含 隐空间扩散模型增强的HifiGAN

  • Neural Source Filter (NSF-HiFiGAN)

     > 包含 NSF的HifiGAN
    

Reference

  • https://medium.com/qosmo-lab/state-of-the-art-singing-voice-conversion-methods-12f01b35405b

后续内容可以关注公众号 “迪AI”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/855137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity基础(三)3D场景搭建

目录 简介: 一.下载新手资源 二.创建基本地形 三.添加场景细节 四,添加水 五,其他 六. 总结 简介: 在 Unity 中进行 3D 场景搭建是创建富有立体感和真实感的虚拟环境的关键步骤。 首先,需要导入各种 3D 模型资源,如建筑物、角色、道具等。这些模…

springboot与flowable(9):候选人组

act_id_xxx相关表存储了所有用户和组的数据。 一、维护用户信息 Autowiredprivate IdentityService identityService;/*** 维护用户*/Testvoid createUser() {User user identityService.newUser("zhangsan");user.setEmail("zhangsanqq.com");user.setF…

TOP150-LC45-跳跃问题II-java版

java解法-贪心 /*跳跃游戏II 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处:0 < j < nums[i]i j < n 返…

一周刷爆leetcode!(b站视频)

文章目录 一、排序思想的题目二、使用步骤1. 一、排序思想的题目 跟着b站一周刷爆leetcode这个视频开始刷一下leetcode的题目 进行一下记录啥的 二、使用步骤 1. 315. 计算右侧小于当前元素的个数 代码如下&#xff1a; 写了一下暴力解法&#xff0c;没有通过 使用归并排序…

CHATGPT说这个运算放大器是比较器,我说这是运放典型的同相比例放大器,一个光控电路分析

纠正 图1 光控电路 该电路来自一个问题&#xff0c;链接见文末。 因GPT的分析有误&#xff0c;特此纠正。 引用图片和答案用于分析&#xff0c;如侵权请联系本人。 电路分析&#xff1a; 该电路为光控灯电路&#xff0c;灯光为LED发光二极管 D。 光敏电阻RG的阻值和光线强度关…

6.18作业

完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和密码不匹配&#xf…

翻转数位00

题目链接 翻转数位 题目描述 注意点 可以将一个数位从0变为1找出能够获得的最长的一串1的长度&#xff08;必须是连续的&#xff09; 解答思路 参照题解使用动态规划解决本题&#xff0c;对于任意一个位置i&#xff0c;dp[i][0]表示到达且包含第i位不翻转0最长1的长度&…

使用 rosbag play 更改bag包发布的话题名称

在ROS开发中&#xff0c;有时我们需要回放已记录的ROS包文件&#xff08;.bag&#xff09;&#xff0c;并将其中某个话题的数据重新映射到一个新的话题。这在数据处理、调试和系统集成时非常有用。例如&#xff0c;我们可能有一个记录了点云数据的ROS包文件&#xff0c;其中点云…

Git 拉取指定分支 合并入主分支

前提条件 确保你已经安装了Git&#xff0c;并且已经克隆了自己的仓库到本地。 解决方法 添加远程仓库 假设你已经添加了远程仓库&#xff1a; git remote add upstream https://github.com/username/repo.git 获取远程仓库的分支 获取远程仓库的所有分支信息&#xff1a; g…

游戏心理学Day18

游戏玩家心理 在游戏世界中&#xff0c;设计师的工作总是围绕尽可能留住玩家要展开。在游戏创作时&#xff0c;设计师会假设目标诉讼的特点并激励迎合他们的需求&#xff0c;如果这种假设是经过实际调研之后做出的&#xff0c;那么就会比较接近实际情况而。如果这种假设是设计…

思科配置路由器,四台主机互相ping通

一、如图配置 PC4和PC5用来配置路由器&#xff0c;各ip、接口如图所示。 二、配置各主机ip、子网掩码SNM、默认网关DGW (一)、PC0 (二)、PC1 (三)、PC2 (四)、PC3 三、 配置路由器Router0 (期间报错是打错了字母) Router>en Router#configure terminal Enter configurat…

golang之Redis常用类型使用

代码仓库 Gitee&#xff1a;https://gitee.com/xiaoyinhui/go-study/tree/master/server/testsGithub&#xff1a;https://github.com/xiaoyin001/go-study/tree/master/server/tests 链接Redis func newRedis() *redis.Client {// 更多 Options 的参数解释可以参考 go Redis…

阶段性总结:如何快速上手一个新的平台或者技术

作为研发一枚&#xff0c;为了实现客户的各种需求&#xff0c;为了避免重复造轮子&#xff0c;通常需要快速调查到哪个轮子&#xff08;比如各种平台&#xff0c;或者开发包等&#xff09;好用&#xff0c;然后快速熟悉和上手。在接触到一个新的平台或者技术的时候&#xff0c;…

更新表的统计信息并清空缓存--DM8达梦数据库

更新表的统计信息并清空缓存--DM8达梦数据库 环境介绍1 收集 <表> 上所有对象信息&#xff0c;含索引2 清理缓存的执行计划3 达梦数据库学习使用列表 环境介绍 在某些环境刚完成数据迁移, 10万行以上大表数据量有修改1/3 ,查询条件已经创建索引,执行计划不好,或执行计划…

开发指南031-安装ssl证书

为增强安全性&#xff0c;平台可安装ssl证书。对于平台不同的组成部分需要采用不同的方式&#xff0c;使用不同的证书格式&#xff1a; 一、前端 前端采用nginx部署&#xff0c;安装证书步骤如下&#xff08;linux window版一样&#xff09;&#xff1a; 1、conf目录下增加cert…

软考阅卷将完成?!软考成绩有望六月底公布!

2024上半年软考考试已于5月25日-28日举行&#xff0c;考完试后大家最关心的事情莫过于查分了。 一、最新消息 1、不同地区在报名时对成绩公布的时间有所预示&#xff0c;但并没有一个统一的日期举个例子&#xff0c;江苏考区预计在6月下旬公布成绩&#xff0c;而黑龙江考区则预…

力扣2476.二叉搜索树最近节点查询

力扣2476.二叉搜索树最近节点查询 二叉搜索树 中序遍历 严格递增数组 在数组上做二分 找到第一个>q的元素的下标j若j < n 则a[j]为maxx若j-1>0 && a[j] ! p 则a[j-1]为minx class Solution {vector<int> a;void dfs(TreeNode* node){if(node null…

glm4、qwen、MiniCPM-Llama3-V代码层面差异性分析

让我们详细解读这个glm4下的 RotaryEmbedding 类&#xff0c;逐行解释代码的工作原理。 类的定义和初始化 class RotaryEmbedding(nn.Module):def __init__(self, dim, rope_ratio1, original_implFalse, deviceNone, dtypeNone):super().__init__()inv_freq 1.0 / (10000 *…

【Altium】Sheet Symbol器件页面符和对应原理图端口同步

【更多软件使用问题请点击亿道电子官方网站】 1、文档目标&#xff1a; 更给原理图端口后&#xff0c;如何同步到对应的sheet symbol 2、应用场景&#xff1a; 使用层次结构原理图设计的情况下&#xff0c;修改了某张原理图上的端口之后&#xff0c;其对应的sheet symbol上的…

APK打包 |应用图标 | 应用名称设置

在 Android 项目中&#xff0c;设置应用的图标和名称是必要的步骤。这些设置通常在 AndroidManifest.xml 和资源文件中进行配置。以下是如何设置应用的图标和名称的详细步骤。 1. 设置应用图标 准备图标资源 首先&#xff0c;准备好你的应用图标。图标应该有多个尺寸&#x…