writeall
描述
writeall (
写音频数据存储的数据广告
,outputLocation
)广告
文件位于outputLocation
。
writeall (
指定附加选项的数据写入一个或多个参数名称-值对。广告
,outputLocation
,名称,值
)
例子:writeall(广告、outputLocation OutputFormat =“flac”)
将数据写到FLAC文件。
例子
写音频数据设置为新位置
创建一个audioDatastore
对象指向WAV音频样本包含音频工具箱™。的audioDatastore
对象包括只读属性指示所支持的文件格式,和默认的输出格式(WAV)。金宝app
文件夹= fullfile (matlabroot,“工具箱”,“音频”,“样本”);广告= audioDatastore(文件夹,“FileExtensions”,“wav”)
广告= audioDatastore属性:文件:{"…/构建/ matlab工具箱/音频/样本/ Ambiance-16-44p1-mono-12secs.wav ';’……/ matlab工具箱/音频/样本/ AudioArray-16-16-4channels-20secs.wav”;’……/工具箱/音频/样本/ ChurchImpulseResponse-16-44p1-mono-5secs。wav”……文件夹和17}:{/ mathworks猛击/棒/ Bdoc23a /构建/ matlab工具箱/音频/样品'}AlternateFileSystemRoots: {} OutputDataType:“双”标签:{}SupportedOutputFormats: [“wav”“flac”“ogg”“作品”“mp4”金宝app“m4a格式”]DefaultOutputFormat:“wav”
编写音频数据设置为当前文件夹。所有文件保存在默认的(WAV)格式。
outputLocation = pwd;outputLocation writeall(广告)
的文件夹,样品
的音频文件,文件夹包含已写入当前文件夹。
dir样品
,. .Ambiance-16-44p1-mono-12secs。wav AudioArray-16-16-4channels-20secs。wav ChurchImpulseResponse-16-44p1-mono-5secs。wav点击- 16 - 44 - p1 - mono - 0.2秒。wav Counting-16-44p1-mono-15secs。wav Engine-16-44p1-stereo-20sec。wav FemaleSpeech-16-8-mono-3secs。wav Heli_16ch_ACN_SN3D。wav JetAirplane-16-11p025-mono-16secs。wav Laughter-16-8-mono-4secs。wav MainStreetOne-16-16-mono-12secs。wav NoisySpeech-16-22p5-mono-5secs。wav彩虹- 16 - 8 mono - 114秒。wav rainbownoisy - 16 - 8 mono - 114秒。wav rockguitar - 16 - 44 - p1 -立体声- 72秒。wav SpeechDFT-16-8-mono-5secs。wav TrainWhistle-16-44p1-mono-9secs.wav Turbine-16-44p1-mono-22secs.wav WashingMachine-16-44p1-stereo-10secs.wav multipleSounds-16-16-mono-18secs.wav
Pre-Extract特性从音频数据集
您可以使用预浸特性减少迭代时间在开发机器学习或深度学习系统。这也是一个常见的做法使用预浸特性对于无监督学习任务,如相似集群,以及基于内容的音乐信息检索索引任务,比如(MIR)。
创建一个audioDatastore
对象指向音频样本包含音频工具箱™。
文件夹= fullfile (matlabroot,“工具箱”,“音频”,“样本”);广告= audioDatastore(文件夹)
广告= audioDatastore属性:文件:{"…/构建/ matlab工具箱/音频/样本/ Ambiance-16-44p1-mono-12secs.wav ';’……/ matlab工具箱/音频/样本/ AudioArray-16-16-4channels-20secs.wav”;’……/工具箱/音频/样本/ ChurchImpulseResponse-16-44p1-mono-5secs。wav”……文件夹和33}:{/ mathworks猛击/棒/ Bdoc23a /构建/ matlab工具箱/音频/样品'}AlternateFileSystemRoots: {} OutputDataType:“双”标签:{}SupportedOutputFormats: [“wav”“flac”“ogg”“作品”“mp4”金宝app“m4a格式”]DefaultOutputFormat:“wav”
创建一个自定义编写函数,提取mel频率cepstral系数(mfcc
)的音频,写他们垫文件。函数定义位于这个例子的结束。
函数myWriter (audioIn、信息~)fs = info.ReadInfo.SampleRate;% MFCC提取[多项式系数δ,deltaDelta] = mfcc (audioIn fs);%显示输出的文件扩展名的名字替换垫子上。文件名= strrep (info.SuggestedOutputName,“wav”,“.mat”);%保存MFCC系数垫文件。保存(文件名,“多项式系数”,“δ”,“deltaDelta”)结束
定义的输出位置提取的特征。
outputLocation = pwd;
调用writeall
函数与audioDatastore
对象,输出位置,和自定义编写的功能。还指定后缀_MFCC
文件的名字。
抽搐writeall(广告、outputLocation“WriteFcn”@myWriter,“FilenameSuffix”,“_MFCC”)流(“数据集创建完成(f % 0.0秒)\ n”toc)
数据集创建完成(14秒)
现在您已经创建了一个数据集组成的MFCCs每个音频文件。
fds = fileDatastore (pwd,“ReadFcn”@load,“FileExtensions”,“.mat”,“IncludeSubfolders”,真正的)
fds = FileDatastore属性:文件:{“…/ audio-ex80013303 /样本/ Ambiance-16-44p1-mono-12secs_MFCC.mat”;“…/ audio-ex80013303 /样本/ AudioArray-16-16-4channels-20secs_MFCC.mat”;“……/样本/ ChurchImpulseResponse-16-44p1-mono-5secs_MFCC。垫”……和33}文件夹:{“/ tmp / Bdoc23a_2213998_2542017 / tpb6fd849c / audio-ex80013303”} UniformRead: 0 ReadMode:‘文件’BlockSize:正PreviewFcn: @load SupportedOutputFor金宝appmats:[“三种”“csv”“xlsx”“xls”“铺”“parq”“png”“jpg”“jpeg”“tif”“tiff”“wav”“flac”“ogg”“作品”“mp4”“m4a格式”]ReadFcn: @load AlternateFileSystemRoots: {}
Helper函数
函数myWriter (audioIn、信息~)fs = info.ReadInfo.SampleRate;[多项式系数δ,deltaDelta] = mfcc (audioIn fs);文件名= strrep (info.SuggestedOutputName,“wav”,“.mat”);保存(文件名,“多项式系数”,“δ”,“deltaDelta”)结束
增加音频数据集
创建一个audioDatastore
对象指向音频样本包含音频工具箱™。
文件夹= fullfile (matlabroot,“工具箱”,“音频”,“样本”);广告= audioDatastore(文件夹);
创建一个audioDataAugmenter
对象输出两个对应每一个输入信号。
增量= audioDataAugmenter (NumAugmentations = 2);
定义一个自定义函数,写myWriter
这适用于audioDataAugmenter
对象一个音频文件并将新产生的信号写入单独的文件。
调用writeall
函数创建一个新的增广数据集。加快处理,集UseParallel
来真正的
。
outputLocation = pwd;writeall(广告、outputLocation FilenameSuffix =“_Aug”,…UseParallel = true, WriteFcn = @ (x, y, z, a) myWriter (x, y, z,增压器))
创建一个新的数据存储指向增强音频数据集。
adsAug = audioDatastore (outputLocation IncludeSubfolders = true);
myWriter
Helper函数
函数myWriter (audioIn信息,fileExtension变长度输入宗量)%创建方便变量的增量和采样率增量=变长度输入宗量{1};fs = info.ReadInfo.SampleRate;%进行扩充扩增=增加(增压器、audioIn fs);为2 = 1:增压器。NumAugmentations x = augmentations.Audio {2};%防止剪裁如果任何(x < 1 | x > 1) x = x / max (abs (x));结束%更新音频文件的名字包括增加数量文件名=方法(info.SuggestedOutputName, (“。”+ fileExtension)字符串(ii));%编写音频文件audiowrite(文件名,x, fs)结束结束
段音频数据
使用detectSpeech
和writeall
函数来创建一个新的音频数据集,其中包含孤立语音段。
创建一个audioDatastore
对象指向音频样本包含在这个例子。
广告= audioDatastore (pwd)
广告= audioDatastore属性:文件:{“…/ tp7dd43a6a / audio-ex78151030 / KeywordSpeech-16-16-mono-34secs.flac”;“/ tmp / Bdoc23a_2213998_2542427 / tp7dd43a6a / audio-ex78151030 / Plosives.wav”;“/ tmp / Bdoc23a_2213998_2542427 / tp7dd43a6a audio-ex78151030 /丝丝声。wav”}文件夹:{“/ tmp / Bdoc23a_2213998_2542427 / tp7dd43a6a / audio-ex78151030”} AlternateFileSystemRoots: {} OutputDataType:“双”标签:{}SupportedOutput金宝appFormats: [“wav”“flac”“ogg”“作品”“mp4”“m4a格式”]DefaultOutputFormat:“wav”
定义一个自定义编写函数首先判断区域的演讲音频信号读取数据存储,然后写演讲的个别地区单独的文件。地区号附加到文件的名字。函数定义位于这个例子的结束。
函数myWriter (audioIn信息,fileExtension) fs = info.ReadInfo.SampleRate;%得到指数对应区域的言论idx = detectSpeech (audioIn, fs);%为每个地区的演讲为2 = 1:尺寸(idx, 1) x = audioIn (idx (2, 1): idx (ii) 2),:);%创造一个独特的文件名文件名=方法(info.SuggestedOutputName, (“。”+ fileExtension)字符串(ii));%写发现地区的演讲audiowrite(文件名,x, fs)结束结束
调用writeall
使用自定义函数编写函数来创建一个新的数据集,包括孤立语音段。创建一个文件夹命名分段
在你的临时目录中,然后将数据写入该文件夹。
outputLocation = fullfile (tempdir,“脱节”现象);writeall(广告、outputLocation“WriteFcn”@myWriter)
创建一个新的audioDatastore
对象指向分段数据集。
adsSegmented = audioDatastore (outputLocation,“IncludeSubfolders”,真正的)
adsSegmented = audioDatastore属性:文件:{“…/分段/ audio-ex78151030 / KeywordSpeech-16-16-mono-34secs1.wav”;“…/分段/ audio-ex78151030 / KeywordSpeech-16-16-mono-34secs10.wav”;“…/分段/ audio-ex78151030 / KeywordSpeech-16-16-mono-34secs11。wav”……和24}文件夹:{“/ tmp / Bdoc23a_2213998_2542427 /分段”}AlternateFileSystemRoots: {} OutputDataType:“双”标签:{}SupportedOutputFormats: [“wav”“fla金宝appc”“ogg”“作品”“mp4”“m4a格式”]DefaultOutputFormat:“wav”
从数据存储和读取一个示例听它。
[audioIn, adsInfo] =阅读(adsSegmented);声音(audioIn adsInfo.SampleRate)
金宝app支持函数
函数myWriter (audioIn信息,fileExtension) fs = info.ReadInfo.SampleRate;idx = detectSpeech (audioIn, fs);为2 = 1:尺寸(idx, 1) x = audioIn (idx (2, 1): idx (ii) 2),:);文件名=方法(info.SuggestedOutputName, (“。”+ fileExtension)字符串(ii));audiowrite(文件名,x, fs)结束结束
干净的音频数据集
音频数据集,尤其是开源音频数据集,可能有不一致的抽样率,数量的渠道,或持续时间。他们也可能包含垃圾数据,如剪辑贴上包含演讲但包含沉默。
通常是第一步在机器学习和深度学习工作流清洁音频数据集。这是特别重要的验证和测试数据集。常见的清洁包括重采样、转换单声道或立体声,削减或扩大的时间片段长度一致,消除时间的寂静后,消除背景噪音,或获得正常化。
在本例中,您清洁音频数据集,以便所有的文件有16 kHz的采样率,是单声道,在FLAC格式,并归一化,这样信号的最大绝对星等1
。
创建一个audioDatastore
对象指向音频样本包含音频工具箱™。
文件夹= fullfile (matlabroot,“工具箱”,“音频”,“样本”);广告= audioDatastore(文件夹);
定义一个函数,myTransform
,适用于对音频数据的操作序列。创建一个转换数据存储对象,应用清洁操作。
adsTransform =变换(广告、@myTransform IncludeInfo = true);
调用writeall
变换数据存储对象创建清洁数据集。指定格式FLAC
。写数据设置为当前文件夹。
outputLocation = pwd;writeall (adsTransform outputLocation OutputFormat =“flac”)
创建一个新的数据存储对象指向干净的数据集。
adsClean = audioDatastore (outputLocation IncludeSubfolders = true);
myTransform
金宝app支持函数
函数[audioOut, adsInfo] = myTransform (audioIn adsInfo) fs = adsInfo.SampleRate;desiredFs = 16 e3;%转换为单x =意味着(audioIn, 2);%重新取样16赫兹y =重新取样(x, desiredFs fs);adsInfo。SampleRate = desiredFs;%规范化,最大一个信号的绝对值是1audioOut = y / max (abs (y));结束
输入参数
广告
- - - - - -音频数据存储
audioDatastore
对象
音频数据存储,指定为一个audioDatastore
对象。
outputLocation
- - - - - -文件夹位置写数据
特征向量|字符串
文件夹位置写数据,指定为一个字符或字符串向量。您可以指定一个完整或相对路径outputLocation
。
例子:outputLocation = " . . / . . / dir /数据”
例子:outputLocation = " C: \ \名字\用户桌面”
数据类型:字符
|字符串
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
例子:FolderLayout =“平”
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:‘FolderLayout’,‘平’
FolderLayout
- - - - - -在输出文件夹布局文件
“复制”
(默认)|“平”
在输出文件夹布局文件,指定为“复制”
或“平”
。
“复制”
——复制数据的文件夹结构,音频数据存储指向。指定FolderLayout
作为“复制”
维护对应输入和输出数据集。“平”
——从输入的所有文件写入指定输出文件夹没有任何中间文件夹。
数据类型:字符
|字符串
OutputFormat
- - - - - -输出文件格式
“wav”
(默认)|“flac”
|“ogg”
|“作品”
|“mp4”
|“m4a格式”
输出文件格式,指定为“wav”
,“flac”
,“ogg”
,“作品”
,“mp4”
,或“m4a格式”
。
数据类型:字符
|字符串
BitsPerSample
- - - - - -每个样本的输出比特数
16
(默认)|8
|24
|32
|64年
输出位/样本数量,指定为一个整数。
依赖关系
要启用这个名称-值对参数,设置OutputFormat
来“wav”
或“flac”
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
比特率
- - - - - -千比特/秒(kbit / s)
128年
(默认)|64年
|96年
|160年
|192年
|256年
|320年
千比特/秒(kbit / s)用于压缩音频文件,指定为一个整数。在窗户®7或晚,唯一有效的值96年
,128年
,160年
,192年
。
一般来说,一个更大的比特率
值会导致更高的压缩质量。
依赖关系
要启用这个名称-值对参数,设置OutputFormat
来“m4a格式”
或“mp4”
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
FilenamePrefix
- - - - - -前缀添加到文件的名字
特征向量|字符串
前缀添加到文件名称,指定字符或字符串向量。
的writeall
函数将指定前缀添加到输出文件的名字。例如,下面的代码添加了今天的日期作为前缀的所有输出文件名称:
prefixText =字符串(datetime (“今天”));writeall(广告,“C: \ myFolder”FilenamePrefix = prefixText);
数据类型:字符
|字符串
FilenameSuffix
- - - - - -后缀添加到文件的名字
特征向量|字符串
后缀添加到文件名称,指定为特征向量或字符串。文件名后缀应用前的文件扩展名。
的writeall
函数将指定的后缀添加到输出文件的名字。例如,下面的代码添加描述性文本“清洁”
对所有输出文件名称的后缀:
writeall(广告,“C: \ myFolder”FilenameSuffix =“清洁”);
数据类型:字符
|字符串
UseParallel
- - - - - -指标编写并行
假
(默认)|真正的
指标编写并行,指定为假
或真正的
。
默认情况下,writeall
函数在系列中写道。如果你设置UseParallel
来真正的
,那么writeall
并行函数写输出文件。
请注意
编写并行需要并行计算工具箱™。
数据类型:逻辑
WriteFcn
- - - - - -自定义编写函数
函数处理
自定义编写函数,指定为一个函数处理。指定的功能是负责创建输出文件。您可以使用WriteFcn
写各种格式的数据,即使writeall
不直接支持的输出格式。金宝app
函数签名
自定义编写函数需要三个输入参数:audioIn
,信息
,suggestedOutputType
。函数也可以接受额外的输入,如名称-值对,前三后需要输入。
函数myWriter (audioIn信息,suggestedOutputType变长度输入宗量)
audioIn
包含从输入数据存储读取数据广告
。信息
是一个类型的对象matlab.io.datastore.WriteInfo
表中列出的字段。场 描述 类型 ReadInfo
第二个的输出 读
方法。结构体
SuggestedOutputName
完全限定,全局唯一满足的位置和文件名的命名要求。 字符串
位置
指定的 outputLocation
传递给writeall
。字符串
suggestedOutputType
——建议输出文件类型。
例子函数
一个简单的写函数重新取样音频在写作之前44.1 kHz。
函数myWriter(数据、信息~)fs = info.ReadInfo.SampleRate;desiredFs = 44.1 e3;data =重新取样(数据、desiredFs fs);audiowrite (writeInfo.SuggestedOutputName、数据desiredFs);结束
myWriter
就像在writeall
功能,使用这些命令:广告= audioDatastore(位置);outputLocation =“C: / tmp / MyData”;writeall(广告、outputLocation WriteFcn = @myWriter)
数据类型:function_handle
版本历史
介绍了R2020aR2022b:金宝app对作品的音频文件格式的支持
的audioDatastore
writeall
函数支持作品文件格金宝app式(.opus
)。
另请参阅
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。