MindAudio语音领域开源一体化工具包

联合创作 · 2023-09-29 20:26

MindAudio是一个基于全场景 AI 框架 MindSpore 建立的,针对语音领域的开源一体化工具包。它提供语音领域的常用音频数据处理、音频特征提取以及音频数据增强等系列API,用户可便利地进行数据预处理;提供常用数据集以及SoTA模型,支持多个语音处理任务如语音识别、文字到语音生成、声纹识别、语音分离等。

主要特性

  • 丰富的数据处理API MindAudio提供了大量易用的数据处理API,用户可轻松实现音频数据分析,以及对音频算法任务中的数据进行特征提取和增强等。
>>> import mindaudio
# 读取音频文件
>>> test_data, sr = mindaudio.read(data_path)
# 对原始数据进行变速
>>> matrix = mindaudio.speed_perturb(signal, orig_freq=16000, speeds=[90,  100])
  • 集成常用数据集,一键进行数据预处理 由于音频深度学习领域中数据集较多,处理过程较复杂,对新手不友好。MindAudio针对不同数据提供一套高效的数据处理方案,并支持用户根据需求进行定制化修改。
>>> from ..librispeech import create_base_dataset, train_data_pipeline
# 创建基础数据集
>>>ds_train = create_base_dataset(manifest_filepathlabels)
# 进行数据特征提取
>>>ds_train = train_data_pipeline(ds_train, batch_size=64)
  • 支持多种任务模型 MindAudio提供多种任务模型, 如ASR任务中的DeepSpeech2,TTS任务中的WavGrad等,并提供预训练权重、训练策略和性能报告,帮助用户快速上手复现音频领域任务。
  • 灵活高效 MindAudio基于高效的深度学习框架MindSpore开发,具有自动并行和自动微分等特性,支持不同硬件平台上(CPU/GPU/Ascend),同时支持效率优化的静态图模式和调试灵活的动态图模式。

音频数据分析

mindaudio提供一系列常用的音频数据处理API,可便捷调用进行数据分析及特征提取。

>>> import mindaudio
>>> import numpy as np
>>> import matplotlib.pyplot as plt
# 读取音频文件
>>> test_data, sr = mindaudio.read(data_path)
# 进行数据特征提取
>>> n_fft = 512
>>> matrix = mindaudio.stft(test_data, n_fft=n_fft)
>>> magnitude, _ = mindaudio.magphase(matrix, 1)
# 画图展示
>>> x = [i for i in range(0, 256*750, 256)]
>>> f = [i/n_fft * sr for i in range(0, int(n_fft/2+1))]
>>> plt.pcolormesh(x,f,magnitude, shading='gouraud', vmin=0, vmax=np.percentile(magnitude, 98))
>>> plt.title('STFT Magnitude')
>>> plt.ylabel('Frequency [Hz]')
>>> plt.xlabel('Time [sec]')
>>> plt.show()

结果展示:

 

浏览 2
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报