文档帮助中心文档
预处理音频用于OpenL3特征提取
特点= openl3Preprocess (audioIn fs)
特点= openl3Preprocess (audioIn、fs、名称,值)
例子
特性= openl3Preprocess (audioIn,fs)声音来自audioIn可以馈送到OpenL3预训练网络。
特性= openl3Preprocess (audioIn,fs)
特性
audioIn
fs
特性= openl3Preprocess (audioIn,fs,名称,值)使用一个或多个指定选项名称,值参数。例如,特点= openl3Preprocess (fs, audioIn OverlapPercentage, 75)在生成光谱图的连续帧之间应用75%的重叠。
特性= openl3Preprocess (audioIn,fs,名称,值)
名称,值
特点= openl3Preprocess (fs, audioIn OverlapPercentage, 75)
全部折叠
这个示例使用:
下载并解压缩OpenL3的Audio Toolbox™模型。
类型openl3在命令窗口。如果未安装OpenL3的Audio Toolbox模型,该功能提供网络权重位置的链接。要下载模型,请单击链接。解压文件到MATLAB路径上的一个位置。
openl3
或者,执行这些命令将OpenL3模型下载并解压缩到临时目录中。
downloadFolder = fullfile (tempdir,“OpenL3Download”);loc = websave (downloadFolder,“https://ssd.mathworks.com/金宝appsupportfiles/audio/openl3.zip”);OpenL3Location = tempdir;OpenL3Location解压(loc)目录(fullfile (OpenL3Location,“openl3”))
输入以下命令,检查安装是否成功openl3在命令窗口。如果网络已安装,则该函数返回aDAGNetwork(深度学习工具箱)对象。
DAGNetwork
ans = DAGNetwork with properties: Layers: [30×1 nnet.cnn.layer.Layer] Connections: [29×2 table] InputNames: {'in'} OutputNames: {'out'}
使用openl3Preprocess从音频信号中提取嵌入信息。
openl3Preprocess
读入音频信号。
[audioIn, fs] = audioread (“Counting-16-44p1-mono-15secs.wav”);
要从音频中提取声谱图,调用openl3Preprocess功能与音频和采样率。使用50%的重叠,并设置频谱类型为线性。的openl3Preprocess函数返回使用FFT长度512生成的30个光谱图数组。
特点= openl3Preprocess (audioIn fs,“OverlapPercentage”, 50岁,“SpectrumType”,“线性”);[posFFTbinsOvLap50 numHopsOvLap50, ~, numSpectOvLap50] =大小(特性)
posFFTbinsOvLap50 = 257
numHopsOvLap50 = 197
numSpectOvLap50 = 30
调用openl3Preprocess同样,这次使用默认的90%重叠。的openl3Preprocess函数现在返回一个包含146个谱图的数组。
特点= openl3Preprocess (audioIn fs,“SpectrumType”,“线性”);[posFFTbinsOvLap90 numHopsOvLap90, ~, numSpectOvLap90] =大小(特性)
posFFTbinsOvLap90 = 257
numHopsOvLap90 = 197
numSpectOvLap90 = 146
随机可视化其中一张光谱图。
randSpect =兰迪(numSpectOvLap90);viewRandSpect =特性(:,:,:,randSpect);N =大小(viewRandSpect 2);binsToHz = (0: N - 1) * fs / N;nyquistBin =圆(N / 2);semilogx (binsToHz (1: nyquistBin), mag2db (abs (viewRandSpect (1: nyquistBin))))包含(的频率(赫兹)) ylabel (“权力(dB)”);标题([num2str (randSpect),“th声谱图”])轴紧网格在
使用相同的工具创建一个OpenL3网络(这需要深度学习工具箱)“SpectrumType”.
“SpectrumType”
网= openl3 (“SpectrumType”,“线性”);
提取和可视化音频嵌入。
嵌入=预测(净、特点);冲浪(嵌入的,“EdgeColor”,“没有”) view([90,-90]) axis([1 numSpectOvLap90 1 numSpectOvLap90]) xlabel(“嵌入长度”) ylabel (的光谱数)标题(“OpenL3功能嵌入”)轴紧
输入信号,指定为列向量或矩阵。如果你指定一个矩阵,openl3Preprocess将矩阵的列视为单独的音频通道。
数据类型:单|双
单
双
输入信号的采样率(Hz),指定为一个正标量。
指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家.
的名字
价值
Name1, Value1,…,的家
openl3Preprocess (audioIn fs,‘SpectrumType’,‘mel256’)
OverlapPercentage
90
连续光谱图之间的重叠百分比,指定为范围[0,100)中的标量。
SpectrumType
“mel128”
“mel256”
“线性”
由音频生成的频谱类型,用作神经网络的输入,指定为其中之一:
“mel128”—使用128个mel波段生成mel光谱图。
“mel256”使用256个mel波段生成mel光谱图。
“线性”——使用FFT长度512生成正的单边谱图。
数据类型:字符|字符串
字符
字符串
谱图产生audioIn,返回为N——- - - - - -米-by-1-by -K数组中。
当你指定“SpectrumType”作为其中之一:
“mel128”——尺寸是128——- - - - - -199——- - - - - -1——- - - - - -K,在那里128MEL波段的数量是多少199是时间跳变的次数。
128
199
1
“mel256”——尺寸是256——- - - - - -199——- - - - - -1——- - - - - -K,在那里256MEL波段的数量是多少199是时间跳变的次数。
256
“线性”——尺寸是257——- - - - - -197——- - - - - -1——- - - - - -K,在那里257是正的单边FFT长度和197是时间跳变的次数。
257
197
K表示谱图的个数,取决于谱图的长度audioIn,通道的数量audioIn,以及OverlapPercentage.
数据类型:单
克莱默,杰森,等。“看,听,并了解更多:深度音频嵌入的设计选择。”在IEEE声学、语音和信号处理国际会议(ICASSP), IEEE, 2019, 3852-56页。DOI.org (Crossref), doi: 10.1109 / / ICASSP.2019.8682475。
该功能完全支持GPU阵列。金宝app有关更多信息,请参见在GPU上运行MATLAB函数(并行计算工具箱).
openl3|vggish|vggishFeatures|openl3Features|classifySound|audioFeatureExtractor
vggish
vggishFeatures
openl3Features
classifySound
audioFeatureExtractor
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系
得到审判现在