文件帮助中心文件
用于音频信号和听觉谱图的光谱质心
Centroid = Spectralcentroid(x,f)
Centroid = Spectralcentroid(x,f,名称,值)
例子
封面= spectralCentroid (X那F)返回信号的谱心,X, 随着时间的推移。该功能如何解释X取决于形状F.
封面= spectralCentroid (X那F)
封面
X
F
封面= spectralCentroid (X那F那名称,价值)使用一个或多个指定选项名称,价值对参数。
封面= spectralCentroid (X那F那名称,价值)
名称,价值
全部折叠
在音频文件中读取,使用默认参数计算质心,然后绘制结果。
[audioIn, fs] = audioread ('Counting-16-44p1-mono-15secs.wav');质心= spectralCentroid (audioIn, fs);t = linspace(0,大小(audioIn 1) / fs,大小(重心,1));绘制(t,质心)xlabel(“时间(s)”) ylabel ('质心(Hz)')
在音频文件中读取,然后将信号缓冲到30毫米帧,20毫秒重叠。使用该计算速度功率谱poctave功能。
poctave
[audioIn, fs] = audioread ('Counting-16-44p1-mono-15secs.wav');audioBuffered =缓冲区(audioIn,圆(fs * 0.03),圆(fs * 0.02),'nodelay');[p, cf] = poctave (audioBuffered fs);
计算倍频功率谱随时间的重心。策划的结果。
质心= Spectralcerroid(P,CF);t = linspace(0,大小(audioIn 1) / fs,大小(重心,1));绘制(t,质心)xlabel(“时间(s)”) ylabel ('质心(Hz)')
在音频文件中读取。
[audioIn, fs] = audioread ('Counting-16-44p1-mono-15secs.wav');
计算电力谱的质心随时间。使用25毫秒重叠计算50毫米汉明窗口的质心。使用62.5 Hz的范围FS./2为质心计算。策划的结果。
FS.
Centroid = Spectralcentroid(AudioIn,FS,......'窗户',汉明(圆形(0.05 * fs)),......'overlaplencth',圆形(0.025 * fs),......“范围”, 62.5, f / 2);t = linspace(0,大小(audioIn 1) / fs,大小(重心,1));绘制(t,质心)xlabel(“时间(s)”) ylabel ('质心(Hz)')
创建一个dsp.audiofilereader.对象以逐帧读取音频数据。创建一个dsp。SignalSink记录谱心计算。
dsp.audiofilereader.
dsp。SignalSink
filereader = dsp.audiofilereader('Counting-16-44p1-mono-15secs.wav');logger = dsp.signalsink;
在音频流循环中:
读入一帧音频数据。
计算音频帧的谱心。
记录频谱质心以供以后绘图。
若要仅计算给定输入帧的谱心,请指定与输入帧具有相同样本数的窗口,并将重叠长度设为零。
绘制记录的数据。
而~isDone(fileReader) audioIn = fileReader();质心= spectralCentroid (audioIn fileReader。SampleRate,......'窗户',汉明(尺寸(isausin,1)),......'overlaplencth', 0);记录器(重心)结尾情节(logger.Buffer) ylabel ('质心(Hz)')
如果你的音频流循环的输入有一个可变的采样帧,一个不一致的采样帧的分析窗口大小Spectralcentroid.,或者如果您想计算重叠数据的谱心,请使用dsp.asyncbuffer..
Spectralcentroid.
dsp.asyncbuffer.
创建一个dsp.asyncbuffer.对象,重置日志记录器,并释放文件读取器。
buff = dsp.asyncuffer;重置(记录器)释放(Filereader)
指定光谱质心是为50毫秒帧和25毫秒重叠计算的。
fs = fileReader.SampleRate;samplesPerFrame =圆(fs * 0.05);samplesOverlap =圆(fs * 0.025);samplesPerHop = samplesPerFrame - samplesOverlap;赢得=汉明(samplesPerFrame);而~isDone(fileReader) audioIn = fileReader();写(buff,audioin);而buff.numunReadsamples> = samplesperhop audiobuffered = read(buff,samplesperframe,samplesoverlap);Centroid = Spectralcentroid(Audiobuffered,FS,......'窗户',赢了,......'overlaplencth', 0);记录器(重心)结尾结尾发布(Filereader)
情节(logger.Buffer) ylabel ('质心(Hz)')
输入信号,指定为矢量、矩阵或三维阵列。该功能如何解释X取决于形状F.
数据类型:单身的|双
单身的
双
以Hz为单位的采样率或频率矢量,分别指定为标量或矢量。该功能如何解释X取决于形状F:
如果F是标量,X被解释为时域信号,和F为采样率。在这种情况下,X必须是真正的矢量或矩阵。如果X被指定为矩阵,列被解释为单独的通道。
如果F是矢量,X被解释为频域信号,和F被解释为频率,在Hz中,对应于行的行X.在这种情况下,X必须是一个真实的L.——- - - - - -m——- - - - - -N.阵列,其中L.在给定频率的谱值的数目是多少F那m是个别光谱的数量,和N.是渠道的数量。
行的数量X那L.,必须等于元素的数量F.
指定可选的逗号分离对名称,价值参数。名称是参数名称和价值为对应值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家.
名称
价值
Name1, Value1,…,的家
'窗口',汉明(256)
笔记
以下名称值对参数适用X是一个时域信号。如果X是频域信号,忽略名称值对参数。
'窗户'
rectwin(圆(F* 0.03)))
窗口应用于时域,指定为逗号分隔对,由'窗户'和一个真正的矢量。向量中的元素数必须在范围[1,尺寸(X,1)].向量中的元素数也必须大于OverlapLength.
尺寸(X,1)
OverlapLength
'overlaplencth'
圆形的(F* 0.02)
相邻窗口之间重叠的样本数,指定为由逗号分隔的对组成'overlaplencth'并且范围内的整数[0,尺寸(窗户,1)).
尺寸(窗户,1)
窗户
“FFTLength”
元素个数(窗户)
用于计算DFT的窗口输入样本的频体数量,指定为逗号分隔对“FFTLength”一个正的标量整数。如果未指定的,FFTLENG属性中的元素数量默认为窗户.
FFTLENG
“范围”
[0,F/ 2]
Hz的频率范围,指定为逗号分隔对组成“范围”一个两元素的行向量在[0,F/ 2]。
'spectrumtype'
'力量'
“级”
谱类型,指定为逗号分隔对,由'spectrumtype'和'力量'或“级”:
'力量'——计算单边功率谱的谱心。
“级”——谱心为单边幅值谱计算。
数据类型:字符|细绳
字符
细绳
以Hz表示的谱心,返回为标量、矢量或矩阵。每一行的封面对应于窗口的谱心X.每列封面对应于独立频道。
如下所述计算谱质心[1]:
封面 = σ. K. = B. 1 B. 2 F K. S. K. σ. K. = B. 1 B. 2 S. K.
在哪里
FK.是Hz的频率对应于箱K..
S.K.是垃圾箱的光谱值K..
B.1和B.2是波段边缘,在箱子里,在上面计算光谱质心。
[1]彼得斯,G。“在CUIDADO项目中,用于声音描述(相似性和分类)的大量音频功能集。”技术报告;法国巴黎,2004年。
分谱塑化|spectralSkewness|spectralSpread
分谱塑化
spectralSkewness
spectralSpread
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
与当地办事处联系
得到审判现在