欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    《自然语言处理技术》——实训15 加载并预处理语音数据.docx

    • 资源ID:1371518       资源大小:170.85KB        全文页数:11页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《自然语言处理技术》——实训15 加载并预处理语音数据.docx

    项目5初识语音数据加工处理加载并预处理语音数据1实训目标(1) 掌握IibroSa库读取和处理语音数据的方法。(2) 掌握Iibrosa和Matplotlib库的数据可视化展示方法。(3) 掌握使用effects模块、UtiI模块实现移除静音、分帧和重叠的方法。2实训环境环境版本说明Windows1064电脑操作系统Python3.8.5Python语言版本pandas1.3.0主要用于数据读取、清洗等操作NumPy1.21.6主要用于Python中的数值计算jieba0.42.1主要用于文本分词Gensim4.2.0主要用于检索文本、计算文本相似度、训练词向量、建模主题等Matplotlib3.3.0主要用于数据可视化PaddlePaddle2.4.2是一个深度学习框架,提供了高效的计算框架和优化算法PaddleSpcech1.2.0主要用于语音和音频中的各种关键任务的开发scikit-learn1.0.2广泛地用于统计分析和机器学习建模等数据科学领域Librosa0.8.1主要用于分析一般的音频信号,是一个非常强大的Python语音信号处理的第三方库NLTK3.5是一个常用的自然语言处理工具包,可用于文本处理、语义分析、词性标注等SciPy1.7.3是一个科学计算工具包,可用于数学、科学、工程学等领域pyttsx32.9.0主要用于将文本转换成语音3实训说明音频数据在当今数字世界中占据着举足轻重的地位,具有极高的价值。众多不同规模和领域的组织在数字世界中持续生成和积累各式各样的音频数据,如电话通话、语音助手互动、会议录音、播客等。这些音频数据包含了丰富的信息和潜在价值,因此音频数据分析与处理在数据科学领域中显得尤为重要。然而,音频数据的原始形式通常是非结构化、杂乱且复杂的,这使得从中提取有意义的洞察和模式变得困难。因此,在对音频数据进行分析之前,对其进行读取和预处理变得尤为必要。本任务的数据读取与预处理流程主要包括读取数据、数据降噪、移除静音、音量处理、分帧和重叠,具体过程如图5-1所示。4实训步骤4.1音频数据读取并可视化使用的示例音频数据为“file.wav",如图5-2所示。file.wav图5-2示例音频数据可以使用PythOn中IibroSa库的IOad函数读取音频数据。读取音频文件,如代码5-1所7Jo代码5-1读取音频文件importIibrosaimportlibrosa.displayimportnumpyasnpimportmatplotlib.pyplotaspitplt.rcParams'font.sans-serif=1SimHei'plt.rcParams,axes.unicode-minus,=Falseaudio_file='.datafle.wav,# 加载音频文件# 参数sr=None表示保持原始音频文件的采样率# audio_data是一个包含音频数据的NumPy数组# sampling_rate是音频数据的采样率,单位是Hz(赫兹)audio_data,sampling_rate=librosa.load(audio_flle,sr=None)PrintC包含音频数据的NumPy数组:IaUdiO_data)PrintC音频数据的采样率:',sampling_rate)在代码5-1中,使用IibrOSa库中的IOad函数进行音频数据读取,常用参数说明如表5-1所示。表5-1load函数的常用参数说明参数名称参数说明audio_file接收str,表示要加载的音频文件的路径。无默认值sr接收int,表示采样率。默认为None经过运行代码5-1,得到音频数据相关信息。包含音频数据的NumPy数组:-0.00138855-0.00363159-0.00479126.-0.02793884-0.01925659-0.01679993音频数据的采样率:8000通过基本信息输出,可以得知音频数据的采样率为8000Hz。为了更直观地观察音频数据,对音频数据进行可视化,如代码5-2所示。代码5-2原始音频数据可视化# 创建一个新的Matplotlib图形plt.figure()# 使用Iibrosadisplaywaveshow函数显示音频波形# 这个函数将音频数据作为输入,并根据采样率在时间轴上显示波形librosa.display.waveshow(audio_data,sr=sampling_rate)# 设置图形的标题、X轴标签和Y轴标签plt.title('原始音频波形',fontsize='14')plt.xlabel('时间(秒)',fontsize='14')pltylabel('振幅;fontsize=,14,)# 显示图形plt.show()运行代码5-2,得到原始音频数据的波形,如图5-3所示。图5-3原始音频数据的波形从图5-3中可以看出,原始音频数据是由一组震荡的声波组成的。4.2音频数据预处理在进行音频数据分析时,常面临诸如音量过小、过大和噪声等问题。因此,在对音频数据进行分析之前,需要对其进行预处理。音频预处理的核心目标是将非结构化且混乱的音频数据转换为干净、结构化和机器可读的格式,从而可以更有效地进行分析和建模。预处理可以消除噪音和不相关的信息。音频数据可能包含自然噪音、电磁噪音、操作噪音、污染噪音和信号损失噪音等多种噪音,这指的是可能对分析结果产生负面影响的不相关或冗余信息。降噪、去除静音段等预处理技术有助于消除不必要的元素,仅保留最相关的信息。预处理还可以通过音量标准化、分帧和重叠技术来增强音频数据。音频数据预处理流程如图5-4所示。图5-4音频数据预处理流程1.音频数据降噪音频数据降噪在音频处理和分析中具有重要意义。降噪的主要目的是减少或消除音频信号中的背景噪音、干扰和其他不需要的声音成分,从而提高音频质量。在许多实际应用中,如语音识别、语音通信、音乐处理和环境声音分析,音频降噪都具有关键作用。音频数据降噪可以使用Iibrosa库中decompose模块的nn_filter函数对音频数据进行降噪。nn-filter函数是用于神经网络滤波的函数,可以用于滤除音频信号中的冗余信息。音频数据降噪如代码5-3所示。代码5-3音频数据降噪# 代码5-3音频数据降噪# 加载音频文件audio_file=,.datafile.wav,y,sr=librosa.load(audio_file)# 计算音频文件的Mel频谱mel_spectrogram=librosa.feature.melspcctrogram(y,sr=sr)# 使用nn_filter函数进行神经网络滤波filtered_mel_spectrogram=librosa.decompose.nn_filter(mel_spectrogram,aggregate=np.median)filtered_audio=librosa.feature.inverse.mel_to_audio(filtered_mel_spectrogram,sr=sr)# 绘制原始波形和降噪后的波形plt.figure(figsize=(15,6)plt.subplot(2,1,1)librosa.display.waveshow(y,sr=sr)PILtitleC原始波形)pk.xlim(0,2)pltxlabel('时间(秒)',fontsize='14')plt.subplot(2,1,2)librosa.display.waveshow(filtercd_audio,sr=sr)plt.titleC降噪后的波形,)plt.xlim(>2)plt.xlabel('时间(秒)',fontsize='14')plt.tightjayout()plt.show()在代码5-3中,nn_filter函数的常用参数说明如表5-2所示。表5-2nn_filter函数的常用参数说明参数名称参数说明S接收NUmPy,表示一个音频特征的时间序列数据。无默认值aggregate接收函数,表示对特征向量求平均值。默认为np.mean运行代码5-3,得到原始音频数据与降噪数据的波形结果如图5-5所示。除始波形图5-5原始音频数据与降噪数据的波形从图5-5中可以看出,降噪后的波形有明显变化,相较原始数据波形更加明显。2.移除静音部分移除音频数据中的静音部分是一种常见的数字信号处理技术,旨在从语音信号中识别出有声部分的起始点和结束点,即去除静音部分。移除静音部分可以使用Iibrosa库中effects模块的trim函数对音频数据进行裁剪。trim函数的目的是移除音频信号中静音部分。移除音频数据中的静音部分,如代码5-4所示。代码5-4移除音频数据中的静音部分# 对音频数据进行裁剪,去除静音部分# filtered_audio:降噪的原始音频数据# top_db:静音阈值,小于此阈值的部分将被视为静音并被裁剪audio_data_trimmed,_=librosa.effects.trim(filtered_audio,top_db=20)# 可视化原始音频数据plt.figure(figsize=(14,5)librosa.display.waveshow(audio_data,sr=sampling_rate)PILtitle(,原始音频数据,)plt.xlabel('时间(秒)')PILyIabe1('振幅,)pk.xlim(0,2)plt.show()# 可视化裁剪后的音频数据pltfigure(figsize=(14,5)librosa.display.waveshow(audio_data_trimmed,sr=sampling_rate)PlLtitIec裁剪后的音频数据)plt.xlabel('时间(秒)')PILylabe1('振幅,)plt.xlim(O,2)plt.show()在代码5-4中,trim函数的常用参数说明如表5-3所示。表5-3trim函数的常用参数说明参数名称参数说明audio_data接收数组,表示输入音频信号。无默认值top_db接收float,表示被认为是静音的最大分贝值(单位:分贝)。默认为20运行代码5-4,得到降噪后的原始音频数据与移除静音部分数据的波形结果如图5-6所/Jo时间(秒)图5-6原始音频数据与移除静音部分音频数据的波形从图5-6中可以看出,静音处理后的波形长度减少,静音部分己经被裁剪掉。3.音量处理音量处理在音频处理和分析中具有重要意义。音量处理的主要目的是调整音频信号的响度,使其适应不同的场景和需求。在许多实际应用中,音量处理都具有关键作用,可以提高音频信号的清晰度和可理解性。音量处理使用将音频数据的NumPy数组乘以增益系数的方式实现。将音频信号乘以增益系数可以实现音量的增大或减小。音量处理过程如代码5-5所示。代码5-5音量处理gain=1.5#增加音量#通过将音频数据乘以增益因子来提高音量audio_d

    注意事项

    本文(《自然语言处理技术》——实训15 加载并预处理语音数据.docx)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!

    收起
    展开