WSJ0数据中的.wv1文件(sph)读取

WSJ0数据中语音文件都是.wv1格式,为sph文件,在Windows下无法正常读取,需要进行转换。 转换工具:sph2pipe_v2.5,如果安装过Kaldi的话,可以直接使用 $KALDI_ROOT/tools/sph2pipe_v2.5/sph2pipe,如果没有安装的话,可以单独下载:http://sourceforge.net/projects/kaldi/files/sph2pipe_v2.5.tar.gz 如果是在Windows环境下的话直接使用sph2pipe.exe即可,如果是在linux环境下的话,则需要进行GCC编码:gcc -o sph2pipe  *.c -lm 最简单使用方式为 sph2pipe -f wav filename.wv1 filename.wav      

Matlab处理log文件

一般文本类文件都用java或python处理方便很多,此处记录一下matlab 处理文本文件的一些语法。 例如,程序记录下的日志文件为:dl4ss_output.log_2017_03_10_210643,其部分内容为: [Epoch: 1] - SDR:1.308344, SIR:2.063156, SAR:-1.509836, NSDR:2.908430   Epoch 1/1   50/50 [==============================] - 178s - loss: 1.9203 - val_loss: 1.7383   Epoch 1/1   50/50 [==============================] - 176s - loss: 1.6208 - val_loss: 1.5113   Epoch 1/1   50/50 [==============================] - 176s - loss: 1.4212 - val_loss: 1.3334   Epoch 1/1   50/50 [==============================] - 175s - loss: 1.2612 - val_loss: 1.1911   Epoch 1/1   50/50 [==============================] - 176s - loss: 1.1320 - val_loss: 1.0740   [Epoch: 6] - SDR:2.128937, SIR:3.154744, SAR:0.774681, NSDR:3.729023   Epoch 1/1   50/50 [==============================] - 175s - loss: 1.0312 - val_loss: 0.9913   现在想对该日志文件进行处理,并将Epoch迭代过程中评估的结果值绘制成图,方法如下: clc    clear   colours = ’rbckgcmbkgcmbkgcmbgrcmykbgrcmykb’;  % ’bgrcmykw’ modified by jacoxu@msn.com    symbols = ’.x^os*.dvph><x+^os*.dvph><+’;  % ’.ox+*sdv^<>ph’ %参考 http://blog.sina.com.cn/s/blog_618af1950100kdi2.html    linetypes = {‘-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’,’-’};  % {‘-’,’:’,’-.’,’–’}    figureSize = [300,200,500,300];    lineWidth = 1.5;    para_list = {‘SDR’, ’SIR’, ’SAR’, ’NSDR’};       log_file = ’dl4ss_output.log_2017_03_10_210643′;    log_file_fd = fopen(log_file);    epoch_idx = 0;    … 继续阅读

Python下调用Matlab接口

1. 安装Matlab到目录$Matlab_Path 2. 安装Matlab Engine API for Python cd $Matlab_Path/extern/engines/python python setup.py install 3. 在Python中使用 (a). 加载库 import matlab.engine (b). 开启引擎 mat_eng = matlab.engine.start_matlab() (c). 把matlab文件放到当前工程目录下,如’./BSS_EVAL.m’ (d). 如有需要进行tpye转换,如 input = matlab.double(input) (d). 调用BSS_EVAL.m函数 params = mat_eng.BSS_EVAL(input)