【问题标题】:How to concatenate/merge two sounds to play simultaneously in MATLAB?如何连接/合并两个声音以在 MATLAB 中同时播放?
【发布时间】:2021-04-14 14:32:31
【问题描述】:

我需要在 MATLAB 中制作一首同时播放采样噪声和音调的歌曲,根据研究和我得到的结果,它看起来应该像将两种声音相加一样简单,但是我一直无法弄清楚出去。这是我尝试过的代码,我是编码新手,所以它可能效率低下。 'snare' 和 'A' 的长度相等,都是 1025。

load splat; y_splat = y;
Fs = 8192;             % the sampling rate
t = 0:1/Fs:0.125;      % an array of t values equally spaced from 0 to 0.125
f1 = 220;
A = sin(2*pi*f1*t);
snare = y_splat(7400:8424);

A_new = A + snare;
soundsc(A_new)

此代码会导致错误消息:仅支持单声道和双声道音频。 我究竟做错了什么?任何帮助将不胜感激。

【问题讨论】:

  • 这看起来像是尺寸不匹配的情况。虽然您可能会得到答案,但我建议您联系您的导师。我鼓励您在提出有关 SO 的问题之前与您所在机构的工作人员进行交流。

标签: matlab audio


【解决方案1】:

您的尺寸不匹配,snare 是 1025x1,A 是 1x1025。通过转置其中一个来解决它,例如 A_new = A + snare';

【讨论】:

    【解决方案2】:

    我在发布后不久就意识到尺寸不匹配。一个简单的撇号解决了这个问题。感谢您的回复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-20
      • 2011-08-10
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-26
      相关资源
      最近更新 更多