【问题标题】:What MATLAB function can I use to add sound clips?我可以使用什么 MATLAB 函数来添加声音剪辑?
【发布时间】:2013-01-25 15:15:17
【问题描述】:

这是我到目前为止的代码 我被困在 F 部分

% Project 1
% Part B

[S1,Fs1,bits] = wavread('F1');
[S3,Fs3,bits3] = wavread('F3');
[S6,Fs6,bits6] = wavread('F6');

S12=downsample(S1,2);
S32=downsample(S3,2);
S62=downsample(S6,2);

% Part D
%F1
L1=length(S1);       %Number of samples
F1=Fs1 ;             %Sampling Frequency
E1 =sum((S1).^2);    %Energy
P1=E1/L1;            %Power
%S12
L12=length(S12);     %Number of samples
F12=Fs1   ;          %Sampling Frequency
E12 =sum((S12).^2);  %Energy
P12=E12/L12     ;    %Power
%F6
L6=length(S6) ;      %Number of samples
F6=Fs6    ;          %Sampling Frequency
E6 =sum((S6).^2) ;   %Energy
P6=E6/L6   ;         %Power
%S62
L62=length(S62);     %Number of samples
F62=Fs6;             %Sampling Frequency
E62 =sum((S62).^2);  %Energy
P62=E62/L62;         %Power

% L1 = 93648
% F1 = 22050
% E1 = 1.3476e+03
% P1 = 0.0144
% L12 = 46824
% F12 = 22050
% E12 = 673.5918
% P12 = 0.0144
% L6 = 5934
% F6 = 22050
% E6 = 34.8697
% P6 = 0.0059
% L62 = 2967
% F62 = 22050
% E62 = 17.4075
% P62 = 0.0059

% Part E

S14=downsample(S1,4);

% Part F
[S2,Fs2,bits2] = wavread('F2');
[S4,Fs4,bits4] = wavread('F4');
[S5,Fs5,bits5] = wavread('F5');
[S7,Fs7,bits7] = wavread('F7');

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我想添加剪辑 S2、S6、S4、S5、S3、S7、S7。

我应该使用什么功能? 我一直在寻找一段时间没有运气。

这就是这部分代码给我带来的问题:

你如何产生一个新的信号(F8),其中包含“记住”这个词,然后是 0.2 秒的沉默,然后是“你将有力量,永远,永远”的句子

【问题讨论】:

  • “添加剪辑”是什么意思?您想创建一个听起来像其他剪辑相互叠加的新剪辑吗?
  • 他的任务是将一些音频,或一些静音连接到一些音频中
  • 好吧,他没有说每个剪辑是什么,但声音剪辑只是向量,您可以像连接任何向量 [a, b] 一样将它们连接起来。此外,有意义的变量名是您的朋友。
  • 每个剪辑都是一个单词。添加剪辑/文件意味着一个接一个地排列单词。在第二个单词之后,需要有 0.2 秒的停顿。

标签: matlab audio signals analysis


【解决方案1】:

您可能知道 matlab 中的所有内容都与向量有关(S2、S3、... 确实是向量),因此您可以将它们连接起来: 您可以使用c = vertcat(S2,S3,...) 进行垂直连接或使用c = horzcat(S2,S3,...) 进行水平连接

【讨论】:

  • 我不会简单地连接声音片段 - 这样做会导致不连续性,可以听到“咔嗒声”或“砰砰声”。
  • 每个剪辑都是一个单词。添加剪辑/文件意味着一个接一个地排列单词。在第二个单词之后,需要有 0.2 秒的停顿。
  • 它不会让我投票,但这很有帮助。我只是不知道如何添加 0.2 秒的暂停
  • @user2011410 可以通过在两个样本之间添加(大致)直流电平来实现 0.2 秒的暂停。假设第一个剪辑的最后一个样本位于 N1 级别,下一个剪辑的样本级别从 N2 开始,然后在 N1 和 N2 之间创建 0.2 秒的线性间隔点,并在剪辑之间连接这些点。
猜你喜欢
  • 2012-10-07
  • 2015-02-07
  • 1970-01-01
  • 2012-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多