语音识别基础

语音识别架构组成

基础概念

自动语音识别(Automatic Speech Recognition,ASR)技术是一种将人的语音转换为文本的技术。这项技术被当做是可以使人与人、人与机器更顺畅交流的桥梁,已经在研究领域活跃了50多年。

系统分类

研究领域分类

识别任务分类

应用

  • 帮助人与人的交流 HHC:应用场景如,如翻译系统,微信沟通中的语音转文字,语音输入等功能。语音到语音(speech-to-speech,S2S)翻译系统,可以整合到像Skype这样的交流工具中,实现自由的远程交流。S2S组成模块主要是,语音识别-->机器翻译-->文字转语音,可以看到,语音识别是整个流水线中的第一环。
  • 帮助人与机器的交流 HMC:应用场景如,语音搜索VS,个人数码助理PDA,游戏,车载信息娱乐系统等。

对话系统

要注意的是,我们上面所说的应用场景和系统讨论,都是基于【语音对话系统】的举例。

语音识别技术只是其中关键的一环,想要组建一个完整的语音对话系统,还需要其他技术。

语音对话系统:(包含以下系统的一个或多个)

  • 语音识别系统: 语音-->文字
  • 语义理解系统:提取用户说话的语音信息
  • 文字转语音系统:文字-->语音
  • 对话管理系统:1)+ 2)+3)完成实际应用场景的沟通

语音识别系统

语音识别问题,其实是一个模式识别的问题。给你一段声波,机器判别是a还是b。

这个过程有两大块,一个是生成机器能理解的声音向量。第二个是通过模型算法识别这些声音向量,最终给出识别结果。

每一块中间都有很多细小的步骤,我们后面会提到。

系统架构概述

分为四部分,信号处理和特征提取、声学模型(AM)、语言模型(LM)和解码搜索部分

左半部分可以看做是前端,用于处理音频流,从而分隔可能发声的声音片段,并将它们转换成一系列数值。

右半边看做是后端,是一个专用的搜索引擎,它获取前端产生的输出,在以下三个数据库进行搜索:一个发音模型,一个语言模型,一个词典。

  • 【发音模型】表示一种语言的发音声音 ,可通过训练来识别某个特定用户的语音模式和发音环境的特征。
  • 【语言模型】表示一种语言的单词如何合并 。
  • 【词典】列出该语言的大量单词 ,以及关于每个单词如何发音的信息。

信号处理和特征提取:以音频信号为输入,通过消除噪声和信道失真对语音进行增强,将信号从时域转化到频域,并为后面的声学模型提取合适的有代表性的特征向量。

b)声学模型:将声学和发音学的知识进行整合,以特征提取部分生成的特征为输入,并为可变长特征序列生成声学模型分数。

c)语言模型:语言模型估计通过训练语料学习词与词之间的相互关系,来估计假设词序列的可能性,又叫语言模型分数。如果了解领域或任务相关的先验知识,语言模型的分数通常可以估计的更准确。

解码搜索:综合声学模型分数与语言模型分数的结果,将总体输出分数最高的词序列当做识别结果。

语音识别技术详解

我们的语音内容,由基本的语音单元组成。选择要识别的语音单元是语音识别研究的第一步。

就是说,你要识别的结果是以什么为基础单位的?是单词还是元音字母?

语音识别单元有单词 (句) 、音节和音素三种,具体选择哪一种,根据具体任务来定,如词汇量大小、训练语音数据的多少。

  • 【音素】:在汉语里,最小的语音单位是音素,是从音色的角度分出来的。
  • 【音节】:一个音素单独存在或几个音素结合起来,叫做音节。可以从听觉上区分,汉语一般是一字一音节,少数的有两字一音节(如“花儿”)和两音节一字。

信号的数字化和预处理

数字化

声音是作为波的形式传播的。将声波转换成数字包括两个步骤:采样和量化。

为了将声波转换成数字,我们只记录声波在等距点的高度,这被称为采样(sampling)。

采样定理(Nyquist theorem)规定,从间隔的采样中完美重建原始声波——只要我们的采样频率比期望得到的最高频率快至少两倍就行。

「CD 音质」的音频是以 44.1khz(每秒 44100 个读数)进行采样的。但对于语音识别,16khz(每秒 16000 个采样)的采样率就足以覆盖人类语音的频率范围了。

采样信号预处理

这里的预处理主要指,分帧处理。

因为语音信号是不平稳的、时长变化的,如下图:

我们把它分隔为一小段一小段(10毫秒-40毫秒)的短语音,我们认为这样的小片段是平稳的,称之为【帧】。在每个帧上进行信号分析,称为语音的短时分析。

每帧的长度为25毫秒,每两帧之间有25-10=15毫秒的交叠。我们称为帧长25ms、帧移10ms的分帧。帧移的事情就不详细解释了,它是为了保证语音信息的完整性。感兴趣的同学可以查一下,加窗/窗函数。

那为什么需要平缓的分帧呢?因为我们需要做傅里叶变化,它适用于分析平稳的信号

人类是根据振动频率判断声音的,而以时间为横轴(时域)的波形图没有振幅描述,我们需要做傅里叶变换,将它变成以频率为横轴(频域)的振幅描述。

2.3 特征提取

特征提取就是从语音波形中提取出能反映语音特征的重要信息,去掉相对无关的信息(如背景噪声),并把这些信息转换为一组离散的参数矢量 。

特征提取

如何提取呢?我们经过采样,预处理,将这些数字绘制为简单的折线图,如下所示,我们得到了 20 毫秒内原始声波的大致形状:

就是我们上面所说的,用傅里叶变化来完成时域到频域的转换。

这就需要对每一帧做傅里叶变化,用特征参数MFCC得到每一帧的频谱(这个过程就是特征提取,结果用多维向量表示),最后可以总结为一个频谱图(语谱图)。

横轴是时间,纵轴是频率。颜色越亮,表示强度越大。

常用的特性参数

特性提取时,我们有常用的特征参数作为提取模板,主要有两种:

  • 线性预测系数(LPC)

LPC 的基本思想是,当前时刻的信号可以用若干个历史时刻的信号的线性组合来估计。通过使实际语音的采样值和线性预测采样值之间达到均方差最小,即可得到一组线性预测系数。

求解LPC系数可以采用自相关法 (德宾 durbin 法) 、协方差法、格型法等快速算法。

  • 倒谱系数

利用同态处理方法,对语音信号求离散傅立叶变换后取对数,再求反变换就可得到倒谱系数。

其中,LPC倒谱(LPCCEP)是建立在LPC谱上的。而梅尔倒谱系数(Mel Frequency Cepstrum Coefficient, MFCC)则是基于MEL谱的。不同于LPC等通过对人的发声机理的研究而得到的声学特征,MFCC 是受人的听觉系统研究成果推动而导出的声学特征。

简单的说,经过梅尔倒谱分析,得到的参数更符合人耳的听觉特性

短语音识别为单词

有了上面的特征提取,每一帧都可以表述为一个多维向量,接下来就是把向量识别为文本。

这里我们需要多介绍一个概念,叫【状态】。

你可以理解为,是比音素更细致的语音单位。通常把一个音素划分成3个状态。

如上图所示,识别过程无非是:

  • 把帧识别成状态(难点)。
  • 把状态组合成音素。
  • 把音素组合成单词。
  • 声学模型

  • 声学模型是识别系统的底层模型,其目的是提供一种计算语音的特征矢量序列和每个发音模板之间的距离的方法。

  • 也就是说,提取到的语音特性,与某个发音之间的差距越小,越有可能是这个发音

    或者说,某帧对应哪个状态的概率最大,那这帧就属于哪个状态。这个可以用GMM(混合高斯模型,就是一种概率分布)或DNN(深度神经网络)来识别。

    但这样识别出来的结果会比较乱,因为一个人讲话的速度不一样,每一帧识别出的结果可能是:....HHH_EE_LL__LLLL__OOO.....,如下图:

常用的声学建模方法包含以下三种:

  • 基于模式匹配的动态时间规整法(DTW);
  • 隐马尔可夫模型法(HMM);
  • 基于人工神经网络识别法(ANN);

在过去,主流的语音识别系统通常使用梅尔倒谱系数(Mel-Frequency Cepstral Coefficient, MFCC)或者线性感知预测(Perceptual Linear Prediction, PLP)作为特征,使用混合高斯模型-隐马尔科夫模型(GMM-HMM)作为声学模型。

近些年,分层鉴别模型比如DNN,变得可行起来,比如上下文相关的深度神经网络-隐马尔可夫模型(context-dependent DNN-HMM,CD-DNN-HMM)就比传统的GMM-HMM表现要好得多。

主要问题:

我们要了解的是,声学模型存在2个问题:

  • 特征向量序列的可变长;

每个人说同一个单词的时间长度都不一样,声学模型要能从不同的时间长度的语音信号中识别出是同一个单词。

解决方法就是DTW(动态时间规整)、 HMM(隐马尔可夫模型)。

 

语言模型

如何将识别出的单词,组成有逻辑的句子,如何识别出正确的有歧义的单词,这些就用到语言模型了。

由于语音信号的时变性、噪声和其它一些不稳定因素,单纯靠声学模型无法达到较高的语音识别的准确率。在人类语言中,每一句话的单词直接有密切的联系,这些单词层面的信息可以减少声学模型上的搜索范围,有效地提高识别的准确性,要完成这项任务语言模型是必不可少的,它提供了语言中词之间的上下文信息以及语义信息。

随着统计语言处理方法的发展,统计语言模型成为语音识别中语言处理的主流技术,其中统计语言模型有很多种,如N-Gram语言模型、马尔可夫N元模型(Markov N-gram)、指数模型( Exponential Models)、决策树模型(Decision Tree Models)等。而N元语言模型是最常被使用的统计语言模型,特别是二元语言模型(bigram)、三元语言模型(trigram)

字典

是存放所有单词的发音的词典,它的作用是用来连接声学模型和语言模型的。

识别出音素,利用字典,就可以查出单词了。

例如,一个句子可以分成若干个单词相连接,每个单词通过查询发音词典得到该单词发音的音素序列。相邻单词的转移概率可以通过语言模型获得,音素的概率模型可以通过声学模型获得。从而生成了这句话的一个概率模型。

解码器

解码器的作用就是将上述训练好的模型按照一定的规则组合起来,将新输入的语音识别出来。

在语音识别中,常用的评估标准为词错误率(Word Error Rate,WER)。

我们上面讲了帧向量识别为单词,需要用声学模型。因为识别出来的整个词序列是混乱的,需要进行替换、删除、插入某些词,使得次序列有序完整。

WER就是反映上述过程的标准,能直接反映识别系统声学模型的性能,也是其他评估指标如句错误率SER的基础。

传统的词错误率评估算法在语音识别中存在三种典型的词错误:

  • 替换错误(Substitution):在识别结果中,正确的词被错误的词代替;
  • 删除错误(Deletion):在识别结果中,丢失了正确的词;
  • 插入错误(Insertion):在识别结果中,增加了一个多余的词;

所以,词错误率为:

S 为替代错误词数,D 为删除错误词数,I 为插入错误词数。T为参照句子中的所有词数。

需要注意的是,因为有插入词,所以WER有可能大于100%。

 

实用语音识别基础--21世纪高等院校技术优秀教材 ISBN:711803746 作者:王炳锡 屈丹 彭煊 出版社:国防工业出版社 本书从语音识别的基本理论出发,以“从理论到实用”为主线,讲解了国际上最新、最前沿的语音识别领域的关键技术,从语料库建立、语音信号预处理特征提取、特征变换、模型建立等方面详细介绍了语音识别系统建立的过程,并针对语音识别系统实用化的问题,给出了一些改善语音识别系统性能的关键技术,力求语音识别能走出实验室,向实用发展。   全书共分四个部分(17章),第一部分介绍语音识别的基本理论;第二部分介绍实用语音识别系统建立的过程;第三部分列举了语音识别系统工程化所需的关键技术;第四部分对语音识别的4个主要应用领域进行了详尽的、深入浅出的讲解,并根据最新的研究实验结果提供了大量的实际参数、图表,实际工作联系紧密,具有很强的可操作性实用性。章节之间紧密配合、前后呼应,具有很强酶系统性。同时,通过书中的研究过程研究方法,读者能够在以后的研究工作中得到很大的启发。   本书可作为高等院校理工科通信信息处理及相关专业的高年级本科生(硕士、博士)研究生的教材或参考书,也可供从事信息处理、通信工程等专业的研究人员参考。   目录:   第1章 绪论   1. 1 概述   1. 2 语音识别综述   1. 3 国内外语音识别的研究现状发展趋势   参考文献   第一部分 基本理论   第2章 听觉机理汉语语音基础   2. 1 概述   2. 2 听觉机理心理   2. 2. 1 语音听觉器官的生理结构   2. 2. 2 语音听觉的心理   2. 3 发音的生理机构过程   2. 4 汉语语音基本特性   2. 4. 1 元音辅音   2. 4. 2 声母韵母   2. 4. 3 音调 字调   2. 4. 4 音节 字 构成   2. 4. 5 汉语的波形特征   2. 4. 6 音的频谱特性   2. 4. 7 辅音的频谱特性   2. 4. 8 汉语语音的韵律特征   2. 5 小结   参考文献   第3章 语音信号处理方法--时域处理   3. 1 概述   3. 2 语音信号的数字化预处理   3. 2. 1 语音信号的数字化   3. 2. 2 语音信号预处理   3. 3 短时平均能量短时平均幅度   3. 3. 1 短时平均能量   3. 3. 2 短时平均幅度   3. 4 短时过零分析   3. 4. 1 短时平均过零率   3. 4. 2 短时上升过零间隔   3. 5 短时自相关函数平均幅度差函数   3. 5. 1 短时自相关函数   3. 5. 2 短时平均幅度差函数   3. 6 高阶统计量   3. 6. 1 单个随机变量情况   3. 6. 2 多个随机变量及随机过程情况   3. 6. 3 高斯过程的高阶累积量   3. 7 小结   参考文献   第4章 语音信号处理方法--时频处理   4. 1 概述   4. 2 短时傅里叶变换   4. 2. 1 短时傅里叶变换的定义物理意义   4. 2. 2 基于短时傅里叶变换的语谱图及其时频分辨率   4. 2. 3 短时傅里叶谱的采样   4. 3 小波变换   4. 3. 1 连续小波变换   4. 3. 2 二进小波变换   4. 3. 3 离散小波变换   4. 3. 4 多分辨分析   4. 3. 5 正交小波包   4. 4 Wigner分布   4. 4. 1 Wigner分布的定义   4. 4. 2 Wigner分布的一般性质   4. 4. 3 两个信号妁Wigner分布   4. 4. 4 Wigner分布的重建   4. 4. 5 Wigner分布的实现   4. 5 小结   参考文献   第5章 语音信号处理方法--倒谱同态处理   5. 1 概述   5. 2 复倒谱倒谱   5. 2. 1 定义   5. 2. 2 复倒谱的性质   5. 3 语音信号的倒谱分析同态解卷积   5. 3. 1 叠加原理广义叠加原理   5. 3. 2 同态解卷特征系统同态解卷反特征系统   5. 3. 3 同态解卷系统   5. 3. 4 语音的复倒谱及同态解卷   5. 4 避免相位卷绕的算法   5. 4. 1 最小相位信号法   5. 4. 2 递归法   5. 5 小结   参考文献   第二部分 语音识别系统   第6章 语料库   6. 1 概述   6. 2 语料库的基本特征   6. 3 语料库的类型   6. 4 语音语料库   6. 4. 1 语音语料库建立. 收集标注的意义   6. 4. 2 语音语料库的建立收集要点   6. 4. 3 标准语音库语音特性描述   6. 5 语料库的设计举例--863汉语普通话语音合成语料库的设计   6. 5. 1 语料库设计原则   6. 5. 2 语音库的标注   6. 5. 3 语音语料库相关的文字语料库标注   6. 6 小结   参考文献   第7章 语音识别预处理   7. 1 概述   7. 2 语音识别单元的选取   7. 2. 1 汉语音节   7. 2. 2 汉语的基本音素   7. 2. 3 汉语半音节   7. 3 自动分段--端点检测技术   7. 3. 1 基于能量的端点检测   7. 3. 2 基于LPC-10声码器的端点检测   7. 3. 3 基于信息熵的语音端点检测   7. 3. 4 基于频带方差的端点检测   7. 3. 5 基于倒谱特征的带噪语音信号端点检测   7. 3. 6 基于HMM的端点检测方法   7. 3. 7 基于分形技术的端点检测   7, 3. 8 基于自相关相似距离的端点检测   7. 3. 9 基于迟滞编码的端点检测   7. 3. 10 实时端点检测算法   7. 4 小结   参考文献   第8章 语音信号特征参数   8. 1 概述   8. 2 基音周期   8. 2. 1 自相关法及其改进   8. 2. 2 并行处理法   8. 2. 3 倒谱法   8. 2. 4 简化逆滤波法   8. 3 线性预测参数   8. 3. 1 线性预测信号模型   8. 3. 2 线性预测误差滤波   8. 3. 3 语音信号的线性预测分析   8. 3. 4 线性预测分析的解法   8. 3. 5 斜格法及其改进   8. 4 线谱对 LSP 参数   8. 4. 1 线谱对分析原理   8. 4. 2 线谱对分析的求解   8. 5 LPCC参数   8. 6 mfcc参数   8. 7 ASCC参数   8. 8 感觉加权的线性预测 PLP 特征   8. 8. 1 PLP参数   8. 8. 2 RASTA-PLP参数   8. 9 动态差分参数   8. 10 高阶信号谱类特征   8. 10. 1 WV谱的定义及其主要性质   8. 10. 2 WV谱计算式的一些变形   8. 11 小结   参考文献   第9章 特征变换   9. 1 概述   9. 2 线性判别分析 LDA   9. 2. 1 线性判别分析的概念   9. 2. 2 广义线性判别函数   9. 2. 3 Fisher线性判别   9. 2. 4 多类问题   9. 3 主分量分析 PCA   9. 3. 1 基于K-L变换的主分量分析   9. 3. 2 随机向量的K-L展开   9. 3. 3 基于K-L变换的降维   9. 4 独立分量分析 ICA   9. 4. 1 引言   9. 4. 2 线性独立分量分析   9. 4. 3 线性独立分量分析算法   9. 4. 4 独立分量分析的预处理   9. 4. 5 非线性独立分量分析   9. 5 小结   参考文献   第10章 语音识别的模型   10. 1 概述   10. 2 动态时间规整 DTW   10. 2. 1 动态规划技术 DP   10. 2. 2 DTW算法的改进   10. 3 隐马尔可夫模型 HMM   10. 3. 1 隐马尔可夫模型的定义   10. 3. 2 HMM中的3个基本问题及其解决方案   10. 3. 3 隐马尔可夫模型的类型   10. 3. 4 HMM算法实现的问题   10. 4 分类模型 SVM   10. 4. 1 引言   10. 4. 2 学习问题   10. 4. 3 学习过程一致性的条件   10. 4. 4 学习过程收敛速度的界   10. 4. 5 结构风险最小归纳原理   10. 4. 6 支持向量机   10. 5 人工神经网络   10. 5. 1 引言   10. 5. 2 神经元的基本模型   10. 5. 3 前向网络   10. 5. 4 反馈网络   10. 6 高斯混合模型 GMM   10. 6. 1 高斯混合模型的定义   10. 6. 2 参数调整算法--em算法   10. 7 小结   参考文献   第三部分 语音识别中关键处理技术   第11章 说话人自适应说话人归一化技术   11. 1 概述   11. 2 自适应方式的分类   11. 3 MLLR算法介绍   11. 3. 1 语音特征空间的划分   11. 3. 2 参数的估计   11. 3. 3 对均值矢量的变换   11. 4 MAP算法介绍   11. 4. 1 MAP算法准则   11. 4. 2 MAP算法公式推导   11. 4. 3 MAP算法讨论   11. 5 说话人归一化技术   11. 5. 1 说话人归一化技术原理   11. 5. 2 声道长度归一化 VTLN   11. 6 小结   参考文献   第12章 噪声抑制   12. 1 概述   12. 2 基于小波变换的噪声抑制   12. 2. 1 利用小波变换去除周期性噪声   12. 2. 2 利用小波变换去除冲激噪声   12. 2. 3 利用小波变换去除宽带噪声   12. 2. 4 小波去噪方法的分析   12. 3 基于EVRC编码的噪声抑制   12. 4 基于HMM模型的噪声补偿   12. 5 小结   参考文献   第13章 信道补偿   13. 1 概述   13. 2 稳健语音识别技术   13. 2. 1 稳健语音识别的提出   13. 2. 2 稳健语音识别的研究现状   13. 3 信道补偿技术的主要方法   13. 3. 1 经验补偿技术   13. 3. 2 盲补偿   13. 3. 3 基于特征及模型的补偿   13. 4 信道补偿技术在语音识别中的应用   13. 4. 1 信道补偿技术在汽车内语音识别中的应用   13. 4. 2 基于信道补偿的电话语音识别   13. 5 小结   参考文献   第四部分语音识别应用   第14章 说话人识别   14. 1 概述   14. 2 说话人识别的基本原理   14. 2. 1 说话人识别系统的典型结构   14. 2. 2 技术原理   14. 3 说话人识别的特征选择   14. 3. 1 说话人识别系统中常用的特征   14. 3. 2 特征参数的统计评价   14. 4 说话人识别的主要方法   14. 4. 1 模板匹配法   14. 4. 2 概率统计方法   14. 4. 3 辨别分类器方法   14. 4. 4. 混合方法   14. 5 判决规则性能评价标准   14. 5. 1 说话人辨认   14. 5. 2 说话人确认 检测   14. 6 说话人识别中的稳健技术   14. 7 系统举例   14. 7. 1 GMM说话人辨认算法   14. 7. 2 SVM-GMM混合模型   14. 7. 3 CMM-UBM说话人确认   14. 8 小结   参考文献   第15章 关键词识别   15. 1 概述   15. 2 关键词识别及其连续语音识别的关系   15. 3 关键词识别原理   15. 3. 1 关键词识别系统组成   15. 3. 2 关键词识别的基本问题   15. 3. 3 关键词识别系统的主要技术难点   15. 4 搜索策略   15. 4. 1 语音起始结束点的粗判   15. 4. 2 帧同步的Viterbi解码算法   15. 4. 3 加入驻留惩罚的改进Viterbi解码算法   15. 4. 4 语法节点处的路径合并   15. 4. 5 回溯   15. 5 识别结果的确认   15. 5. 1 置信度的原理   15. 5. 2 利用反词模型的拒识方法   15. 5. 3 利用识别结果本身信息的拒识方法   15. 6 系统实现   15. 6. 1 训练识别系统框图   15. 6. 2 训练系统的具体实现   15. 6. 3 识别系统的具体实现   15. 7 小结   参考文献   第16章 语言辨识   16. 1 概述   16. 1. 1 语言辨识的原理   16. 1. 2 语言辨识技术研究发展的历史   16. 2 语言辨识所需要的有用信息   16. 3 针对自动语言辨识的知觉研究   16. 4 语言辨识的主要方法   16. 4. 1 频谱相似性方法   16. 4. 2 基于韵律信息的方法   16. 4. 3 基于音素识别的方法   16. 4. 4 基于多语言语音单元的方法   16. 4. 5 单词层次方法   16. 4. 6 基于连续语音识别的方法   16. 4. 7 元音系统模型   16. 5 语言辨识系统举例   16. 5. 1 基于GMM-UBM模型的语言辨识系统   16. 5. 2 基于最小分类误差准则的语言辨识系统   16. 5. 3 基于说话人聚类高斯混合模型的语言辨识系统   16. 5. 4 基于时频主分量分析高斯混合模型的语言辨识系统   16. 5. 5 基于高斯混合二元模型的语言辨识系统   16. 6 语言辨识系统评估   16. 7 小结   参考文献   第17章 连续语音识别   17. 1 概述   17. 2 连续语音识别整体模型   17. 3 声学模型   17. 3. 1 语音识别单元的选取   17. 3. 2 基于予词单元HMM的训练   17. 4 连续语音识别中的搜索策略   17. 4. 1 传统的帧同步算法   17. 4. 2 基于统计知识的帧同步搜索算法原理   17. 4. 3 受词法约束的词搜索树   17. 4. 4 连续语音识别中的双层搜索网络   17. 5 语言模型   17. 5. 1 基于规则的方法   17. 5. 2 基于统计的方法   17. 5. 3 N-gram模型的平滑   17. 5. 4 基于文法规则的方法基于统计的方法相结合   17. 6 小结   参考文献   附录 英汉名词对照
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值