MindAudio语音领域开源一体化工具包
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_filepath,labels) # 进行数据特征提取 >>>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()
结果展示:
评论