基于MATLAB的语音处理语音合成.docx

上传人:b****3 文档编号:4089632 上传时间:2023-05-06 格式:DOCX 页数:26 大小:86.89KB
下载 相关 举报
基于MATLAB的语音处理语音合成.docx_第1页
第1页 / 共26页
基于MATLAB的语音处理语音合成.docx_第2页
第2页 / 共26页
基于MATLAB的语音处理语音合成.docx_第3页
第3页 / 共26页
基于MATLAB的语音处理语音合成.docx_第4页
第4页 / 共26页
基于MATLAB的语音处理语音合成.docx_第5页
第5页 / 共26页
基于MATLAB的语音处理语音合成.docx_第6页
第6页 / 共26页
基于MATLAB的语音处理语音合成.docx_第7页
第7页 / 共26页
基于MATLAB的语音处理语音合成.docx_第8页
第8页 / 共26页
基于MATLAB的语音处理语音合成.docx_第9页
第9页 / 共26页
基于MATLAB的语音处理语音合成.docx_第10页
第10页 / 共26页
基于MATLAB的语音处理语音合成.docx_第11页
第11页 / 共26页
基于MATLAB的语音处理语音合成.docx_第12页
第12页 / 共26页
基于MATLAB的语音处理语音合成.docx_第13页
第13页 / 共26页
基于MATLAB的语音处理语音合成.docx_第14页
第14页 / 共26页
基于MATLAB的语音处理语音合成.docx_第15页
第15页 / 共26页
基于MATLAB的语音处理语音合成.docx_第16页
第16页 / 共26页
基于MATLAB的语音处理语音合成.docx_第17页
第17页 / 共26页
基于MATLAB的语音处理语音合成.docx_第18页
第18页 / 共26页
基于MATLAB的语音处理语音合成.docx_第19页
第19页 / 共26页
基于MATLAB的语音处理语音合成.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于MATLAB的语音处理语音合成.docx

《基于MATLAB的语音处理语音合成.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的语音处理语音合成.docx(26页珍藏版)》请在冰点文库上搜索。

基于MATLAB的语音处理语音合成.docx

基于MATLAB的语音处理语音合成

文档编制序号:

[KKIDT-LLE0828-LLETD298-POI08]

 

基于MATLAB的语音处理语音合成

 

基于MATLAB的语音信号处理

摘要:

语音信号处理是目前发展最为迅速的信息科学研究领域中的一个,是目前极为活跃和热门的研究领域,其研究成果具有重要的学术及应用价值。

语音信号处理的研究,对于机器语言、语音识别、语音合成等领域都具有很大的意义。

MATLAB软件以其强大的运算能力可以很好的完成对语音信号的处理。

通过MATLAB可以对数字化的语音信号进行时频域分析,方便地展现语音信号的时域及频域曲线,并且根据语音的特性对语音进行分析。

本文主要研究了基于MATLAB软件对语音信号进行的一系列特性分析及处理,帮助我们更好地发展语音编码、语音识别、语音合成等技术。

本文通过应用MATLAB对语音信号进行处理仿真,包括短时能量分析、短时自相关分析等特性分析,以及语音合成等。

关键词:

语音信号;MATLAB;特性分析;语音合成

VoicesignalprocessingbasedonMATLAB

Abstract:

Voicesignalprocessingisoneofthemostrapidlydevelopmentscienceininformationscienceresearchiscurrentlyaveryactiveandhotresearchfield.Theresearchresultsofvoiceprocessinghaveimportantacademicandapplicationvalue.Researchonvoicesignalprocessing,isofvairygreatsignificanceforthemachinelanguage,voicerecognition,voicesynthesisandotherfields.Withitspowerfulcomputingability,MATLABsoftwarecancompletetheprocessingofvoicesignalverywell.ThroughtheMATLAB,thedigitalspeechsignalcanbeanalyzedbycarriedoutintimedomain,frequencydomain,whichconvenientlyshowthecurveofthevoicewecandosomecharacteristicanalysisofthevoicesignalaccordingtothe.ThispapermainlystudiesontheanalysisandprocessingofvoicesignalbasedonMATLABsoftware,whichhelpustohaveabetterdevelopmentofvoicecoding,voicerecognition,andvoicesynthesistechnology.TheapplicationofMATLABonsimulation,analysis,includinganalysisofshort-timeautocorrelationanalysis,characteristicsofshort-timeenergyofvoicesignal.voicesynthesiswithMATLAB.

Keywords:

Voicesignal;MATLAB;characteristicanalysis;voicesynthesis

引言

人类交换信息最方便的、最快捷的一种方式是语言。

在高度发达的信息社会中,用数字化的方法进行语音的识别、合成、增强、传送和储存等是整个数字化通信网中最重要、最基本的组成部分之一。

数字电话通信、高音质的窄带语音通信系统、智能机器人、声控打字机、语言学习机、自动翻译机等,都要用到语音信号处理技术,随着现在集成电路和微电子技术的飞速发展,语音信号处理系统逐步走向实用化[1]。

语音信号处理是一个新兴的交叉学科,是语音和数字信号处理两个学科的结合产物。

与认知科学、心理学、语言学、计算机科学、模式识别和人工智能学科有着密切的联系。

语音信号处理技术的发展依赖于这些学科的发展,语音信号处理技术的进步也将促进这些领域的进展。

语音信号处理目的是得到一些语音特征参数,以便高效的传输或存储,或通过某种处理以达到特定目的,如语音合成,辨识出讲话者、识别出讲话的内容等。

随着现代科学技术和计算机技术的发展,除了人与人的自然语言的沟通,人机对话和智能机领域也开始使用语言。

这些人造的语言拥有词汇,语法,语法结构和语义内容等。

语音信号处理的研究可以追溯到1876年贝尔电话的发明,其在真正意义上首次用声电,电声转换技术实现了远距离语音传输。

1939年HomerDudley提出并研制成功第一个声码器,奠定了语音产生模型的基础,其在语音信号处理领域具有划时代的意义。

在20世纪40年代,一种语言声学的专用仪器语谱图仪问世。

它可以让你把语音的时变频谱用语图表示出来,得到一个“可见的语言”。

1984年哈斯金斯实验室研制成功语音回放机,此仪器可以自动转换手工绘制的语谱图成为语言,并进行语音合成。

随着计算机的出现,语音分析技术可以在计算机上进行。

此时语音信号处理无论是在基础研究或在技术应用,都已取得了突破性进展。

现在语音信号可分为三个主要分支,即语音编码,语音识别和语音合成技术[10]。

语音编码技术。

语音编码的目的就是在保证一定语音质量的前提下,尽可能降低编码比特率来节省频率资源。

语音编码技术的研究开始于1939年,HomerDudley提出并实现了在低带宽电话电报上传输语音信号的通道声码器,第一个研制成功了语音编码技术。

到20世纪70年代,国际电联于1972年发布了64kbit/s脉冲编码调制(PCM)语音编码算法的建议,它被广泛应用于数字交换机、数字通信等领域,从而占据统治地位。

在1995年11月ITU-TSG15全会上共轭代数码激励线性预测(CS-ACELP)的8kbit/s语音编码建议被通过,并于1996年6月ITU-TSG15会议上通过附件A:

减少复杂度的8kbit/sCS-ACELP语音编解码器,正式成为国际标准[1]。

语音识别技术。

语音识别的研究开始于20世纪50年代贝尔实验室的Audry系统,它是第一个可以识别10个英文数字的语音识别系统,1959年Fry和Denes等人采用频谱分析和模式匹配来进行识别决策构建音素识别器来辨别9个辅音和4个元音。

20世纪60年代末单语音识别的研究取得实质性进展,并将其作为一个重要的课题。

一方面是因为计算机的计算能力有了迅速的提高,计算机能够提供实现复杂算法的硬件、软件;另一方面,数字信号处理在当时有了蓬勃发展,从而自20世纪60年代末开始引起了语音识别的研究热潮。

语音合成技术。

第一个合成器是在1835年由Kempelen发明,经过Weston改进的机械讲话机。

机器完全模仿人的生理过程,分别应用了特别设计的哨和软管模拟肺部空气动力和口腔。

HomerDudley在1939年发明了第一台电子语音合成器,它不是一个简单的生理过程的模拟,而是在电子电路基础上来实现语音产生源。

本文关于语音信号处理方面主要研究了语音合成。

语音合成已经在许多方面得到了实际应用,方便了人们的生活,创造了很好的经济效益和社会效益,如公共交通中的自动报站、各种场合的自动报警、电话自动查询服务、文本校对中的语音提示等。

综观语言合成技术的研究,语音合成发展方向为提高合成语音的自然度、丰富合成语音的表现力、降低语音合成技术的复杂度等。

第一章语音信号处理基本知识与仿真环境介绍

语音信号处理基本知识

语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。

而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分析的准确性和精确性。

因此语音信号分析在语音信号处理应用中具有举足轻重的地位。

贯穿于语音分析全过程的是“短时分析技术”。

语音信号从整体来看其本质特征的参数是随时间而变化的,所以它是一个非稳态过程,不能用处理稳态信号的数字信号处理技术对其进行分析处理。

但是,由于不同的语音是由人的口腔肌肉运动构成声道某种形状而产生的响应,而这种口腔肌肉运动相对于语音频率来说是非常缓慢的,所以从另一方面看,虽然语音倍号具有时变特性,但是在一个短时间范围内(一般认为在10~30ms的短时间内),其特性基本保持不变即相对稳定,因此可以将其看作是一个准稳态过程,即语音信号具有短时平稳性。

所以任何语音信号的分析和处理必须建立在“短时”的基础上.即进行“短时分析”,将语音信号分为一段一段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为10~30ms。

这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数组成的特征参数时间序列[4]。

根据所分析参数的性质的不同,可将语音信号分析分为时域分析、频域分析、倒领域分析等;时域分析方法具有简单、计算量小、物理意义明确等优点,但由于语音信号最重要的感知特性反映在功率谱中,而相位变化只起着很小的作用,所以相对于时域分析来说频域分析更为重要。

采样定理。

在进行模拟/数字信号的转换过程中,当采样频率

大于信号中最高频率

的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。

采样定理又称奈奎斯特定理。

采样位数。

采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。

采样频率。

采样频率是指计算机每秒钟采样多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。

采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。

采样频率与声音频率之间有一定的关系,根据奈奎斯特理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。

这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。

采样位数与采样频率的关系。

采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。

无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度,每增加一个采样位数相当于力度范围增加了6dB,采样位数越多则捕捉到的信号越精确,对于采样率来说你可以想象它类似于一个照相机,意味着音频流进入计算机时计算机每秒会对其拍照达441000次。

显然采样率越高,计算机提取的图片越多,对于原始音频的还原也越加精确。

实现平台MATLAB介绍

MATLAB软件基本介绍

MATLAB产生于1982年,是一种效率高、功能强的数值计算和可视化计算机高级语言,它将信号处理、数值分析和图形显示结合一体,形成了一个极其方便又强大的操作环境,为科学研究、工程设计以及必须进行有效的众多科学提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式的编辑模式,代表了当今国际科学计算软件的先进水平[7]。

是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。

MATLAB的应用范围非常广,包括信号和、通讯、控制系统设计、测试和测量、和分析以及计算学等众多应用。

MATLAB与语音处理的关系

MATLAB软件以其强大的运算能力可以很好的完成对语音信号的处理。

通过MATLAB可以对数字化的语音信号进行时频域分析,方便地展现语音信号的时域及频域曲线,并且根据语音的特性对语音进行分析。

例如,请浊音的幅度差别、语音信号的端点、信号在频域中的共振峰频率、加不同窗和不同窗长对信号的影响、LPC分析、频谱分析等[3]。

同时,通过MATLAB可以对数字化的语音信号进行估计和判别。

例如,根据语音信号的短时参数,一级不同语音信号的短时参数的性质对一段给定的信号进行有无声和请浊音的判断、对语音信号的基音周期进行估计等。

另外,通过利用MATLAB编程可以对语音信号进行各种处理。

由于MATLAB是一种面向科学和工程计算的高级语言,允许用数学形式的语言编程,又有大量的库函数,所以编程简单、编程效率高、易学易懂,我们可以对信号进行加噪去噪、滤波、截取语音等,也可进行语音编码、语音识别、语音合成的处理等。

总之,对于语音信号进行分析处理,MATLAB软件是当今比较高效的平台。

第二章语音信号的特点与采集

语音信号的特点分析

语音信号的特点可以分为时域方面和频域方面。

在时域内,语音信号具有“短时性”的特点,即在总体上,语音信号的特征是随着时间而变化的,但在一段较短的时间间隔内,语音信号保持平稳。

在频域内,语音信号的频谱分量主要集中在300~3400Hz的范围内。

利用这个特点,可以按8kHz的采样率对语音信号进行采样,得到离散的语音信号。

语音信号的这两种特点均可通过MATLAB软件表现出来,如图和图所示。

图语音信号时域图

图语音信号频域分析

语音信号的采集

语音信号的量化编码采样

在将语音信号进行数字化前,必须先进行防混叠预滤波,预滤波的目的有两个,一是抑制输入信导各领域分量中频率超出

/2的所有分量(

为采样频率),以防止混叠干扰;二是抑制50Hz的电源工频干扰。

这样,预滤波器必须是一个带通滤波器,设其上、下截止颜率分别是

,则对于绝人多数语音编译码器,

=3400Hz、

=60~100Hz、采样率为

=8kHz;而对于语音识别而言,当用于电话用户时,指标与语音编译码器相同。

当使用要求较高或很高的场合时

=4500Hz或8000Hz、

=60Hz、

=10kHz或20kHz。

为了将原始模拟语音信号变为数字信号,必须经过采样和量化两个步骤,从而得到时间和幅度上均为离散的数字语音信号。

采样也称抽样,是信号在时间上的离散化,即按照一定时间间隔△t在模拟信号x(t)上逐点采取其瞬时值。

采样时必须要注意满足奈奎斯特定理,即采样频率

必须以高于受测信号的最高频率两倍以上的速度进行取样,才能正确地重建波它是通过采样脉冲和模拟信号相乘来实现的。

在采样的过程中应注意采样间隔的选择和信号混淆:

对模拟信号采样首先要确定采样间隔。

如何合理选择△t涉及到许多需要考虑的技术因素。

一般而言,采样频率越高,采样点数就越密,所得离散信号就越逼近于原信号。

但过高的采样频率并不可取,对固定长度(T)的信号,采集到过大的数据量(N=T/△t),给计算机增加不必要的计算工作量和存储空间;若数据量(N)限定,则采样时间过短,会导致一些数据信息被排斥在外。

采样频率过低,采样点间隔过远,则离散信号不足以反映原有信号波形特征,无法使信号复原,造成信号混淆。

根据采样定理,当采样频率大于信号的两倍带宽时,采样过程不会丢失信息,利用理想滤波器可从采样信号中不失真地重构原始信号波形。

量化是对幅值进行离散化,即将振动幅值用二进制量化电平来表示。

量化电平按级数变化,实际的振动值是连续的物理量。

具体振值用舍入法归到靠近的量化电平上。

语音信号经过预滤波和采样后,由A/D变换器变换为二进制数字码。

这种防混叠滤波通常与模数转换器做在一个集成块内,因此目前来说,语音信号的数字化的质量还是有保证的。

市面上购买到的普通声卡在这方面做的都很好,语音声波通过话筒输入到声卡后直接获得的是经过防混叠滤波、A/D变换、量化处理的离散的数字信号。

利用Windows录音器采集语音信号

在本次设计中,可以利用Windows自带的录音机录制语音文件,图是基于PC机的语音信号采集过程,声卡可以完成语音波形的A/D转换,获得WAV文件,为后续的处理储备原材料。

调节录音机保存界面的“更改”选项,可以存储各种格式的WAV文件。

图基于PC机的语音采集过程

第三章语音信号的分析

语音信号的短时能量分析

一定时宽的语音信号,其能量的大小随时间有明显的变化。

清音信号和浊音信号之间的能量差别相当显着。

其中清音段(以清音为主要成份的语音段),其能量比浊音段小得多[10]。

因此,对语音的短时能量进行分析,可以描述语音的这种特征变化情况。

定义短时能量为如式(3-1)所示。

(3-1)

其中N为窗长。

特殊地,当采用矩形窗时,可简化为如式(3-2)所示。

(3-2)

也可以从另外一个角度来解释。

(3-3)

可表示为如式(3-4)所示。

(3-4)

可以理解为,首先语音信号各个样点值平方,然后通过一个冲击响应为h(n)的滤波器,输出为由短时能量构成的时间序列。

短时能量的计算直接受冲击响应的选择即窗函数的选择的影响。

如果冲击响应的幅度是恒定的,它的序列长度N(即窗长)会很长,将其等效为非常窄的低通滤波器,这时冲击响应对

产生的平滑的作用比较明显,使短时能量基本没有很大的变化,将不能表现出语音的时变的特性。

相反,如果冲击响应的序列长度过于小,等效窗就不能提供出够用的平滑,以导致语音的振幅在瞬时的变化的许多细节仍被留了下来,进而不能看出振幅包络变化的规律,一般我们要求窗长是几个基音周期的数量级。

图为采样率8000kHZ,16位,单声道的一个语音信号(单词“earth”)在不同矩形窗长时的短时能量函数,我们会发现:

语音信号的幅度变化在被短时能量所反映时,窗长的长短都有影响。

图不同矩形窗长的短时能量函数

我们知道,单词earth前半部分是浊音,后半部分是清音。

由以上分析结果可知,浊音部分的能量较之清音部分要大得多,而清音部分的能量相当小,几乎为零。

对语音信号进行短时能量函数运算,可实现以下三点应用:

(1)可用于区分清音段与浊音段。

En值大对应于浊音段,En值小对应于清音段。

(2)可用于区分浊音变为清音或清音变为浊音的时间(根据En值的变化趋势)。

(3)对高信噪比的语音信号,也可以用来区分有无语音(语音信号的开始点或终

止点)。

无信号(或仅有噪声能量)时,En值很小,有语音信号时,能量显着增大。

短时自相关分析

对于确定性信号序列,自相关函数定义如式(3-5)所示。

(3-5)

对于随机性信号序列或周期性信号序列,自相关函数的定义如式(3-6)所示。

(3-6)

自相关函数具有以下几项性质:

(1)若序列是周期性的,假设序列周期为

,那么其自相关函数也是具有相同周期的周期函数,即

(2)自相关函数是偶函数,即R(k)=R(-k);

(3)当k=0时,自相关函数有极大值,即

(4)R(0)为随机性序列的平均功率或确定性信号序列的能量。

自相关函数的上述性质,完全可以适用于语音信号的时域分析中。

例如,浊音语音波形序列具有周期性,因此可用自相关函数求出这个周期,即是基音周期。

此外,自相关函数也可用在语音信号的线性预测分析中。

短时自相关函数的定义如式(3-7)所示。

(3-7)

,并且

,可以得到如下式子,如(3-8)所示。

(3-8)

如图是在不同的矩形窗窗长条件下单词earth的语音自相关的函数的波形。

对两图分析可得:

清音信号的短时自相关函数的波形不具有周期性,也没有明显的峰值,且随着延时k的增大迅速变小,因此其接近于随机噪声;浊音是具有周期性的信号,浊音信号的周期为自相关函数的周期,由此可知,语音信号的性质是浊音还是清音,如果是浊音,还可以得出它的基音周期,它的基音周期可由自相关函数波形中的第一个峰值的位置来估计。

所以,自相关函数常用作一下两种作用:

(1)区分语音信号是清音还是浊音;

(2)估计浊音语音信号的基音周期[4]。

图不同的矩形窗窗长下短时自相关

第四章语音合成

语音合成技术概述

语音合成技术的意义

语音合成技术涉及声学、语言学、数字信号处理技术、多媒体技术等多个领域,是当今世界强国竞相研究的热门技术之一。

语音合成技术可分为参数合成和波形拼接两种方法。

早期的研究主要是采用参数合成方法,它是计算发音器官的参数,从而对人的发音进行直接模拟。

语音合成已经在许多方面得到了实际应用,方便了人们的生活,创造了很好的经济效益和社会效益,如公共交通中的自动报站、各种场合的自动报警、电话自动查询服务、文本校对中的语音提示等[8]。

本文主要利用载波调制技术进行语音合成。

基于载波调制的语音信号合成是以语音信号处理技术、数字信号处理技术为基础,依托于电子计算机、Windows操作系统、MATLAB处理软件等工具将两个信号合成为一个信号。

具有较强的实用性、可操作性等特点。

基于载波调制语音合成的基本原理

语音信号合成是一个“分析—存储—合成”的过程。

一般是选择合适的基本单元,将基本单元用一定的参数编码方式或波形方式进行存储,形成一个语音库。

合成时,根据待合成语音信号,从语音库中取出基本单元进行合成,并将其还原成语音信号。

在语音合成中,为了便于存储和后续分析,必须先将语音信号进行预分析、预处理、波形变换等一系列操作。

其中,基元是语音合成处理的最小单元,待合成的语音库就是所有语音基元的某中集合。

根据基元的选择方式以及其存储形式的不同,可以将合成方法笼统的分为波形合成方法和参数合成方法。

波形合成是一种相对简单的语音合成技术。

它把人的发音波形直接存储或者进行进行简单的波形编码后存储,组成一个合成的语音库;合成时,根据待合成的信息,在语音库中取出相应单元的波形数据,拼接或编辑到一起,经过解码还原成语音。

该语音合成技术具有一定的局限和不足,但对语音信号具有数据量庞大的特点,这种误差在某种范围内是可以接受的。

基于载波调制的语音信号合成是基于信号的振幅调制原理而实现的。

将低频信号加载到高频载波信号的过程,或者说把信息加载到信息载体上以便传输的处理过程,称为调制。

所谓“加载”,其实质是使高频载波信号(信息载体)的某个特性参数随信息信号幅值的大小程线性变化。

基于载波调制的语音信号合成是以语音一信号作为调制信号,语音二信号为载波信号来进行合成一种以语音二信号声色表述语音一内容的新信号。

这种调制方式是用传递的低频信号(如代表语言、音乐、图像的电信号)去控制作为传送载体的高频振荡波(称为载波)的幅度,是已调波的幅度随调制信号的大小线性变化,而保持载波的角频率不变。

基于载波调制的语音合成基本知识

关键函数希尔伯特变换介绍

本文语音合成的设计思路是用一个语音信号的包络去调制另一个语音信号,实现语音的合成。

这就用到了一个关键的函数,希尔伯特变换。

在与的领域中,一个的希尔伯特变换是将信号s(t)与1/(πt)做,以得到s'(t)。

因此,希尔伯特变换结果s'(t)可以被解读为输入是s(t)的的输出,而此系统的脉冲响应为1/(πt)。

这是一项有用的数学工具,用在描述一个以实数值载波做调制的信号之复数包络,出现在通讯理论中发挥着重要作用[9]。

希尔伯特变换的频域数学表达式如式(4-1)所示。

(4-1)

其中F是傅里叶变换,i是虚数单位,ω是角频率。

希尔伯特变换等效于

π/2的相移,对正频率产生-π/2的相移,对负频率产生π/2相移,或者说,在时域信号每一频率成分移位1/4波长,因此,希尔伯特变换又称为90度移相器。

MATLAB提供了计算Hilbert变换的函数,其

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2