【问题标题】:How to convert sine wave form in to audio?如何将正弦波形转换为音频?
【发布时间】:2019-02-18 11:01:48
【问题描述】:

我有原始数据:

x 值 y 值

x 是时域。采样率为 8000 Hz。

我已将它们绘制成正弦波,但似乎找不到任何方法将其转换为音频形式。

有人可以指导这个过程吗?

【问题讨论】:

  • 请指定xy 是什么并指定它们的类型,以便我扩展我的答案。
  • x 是时域,y 是频率,我们以 8000hz 采样。
  • 谢谢,我更新了我的答案。您的原始数据是如何编码的?
  • 我们在 android studio 中将其编码为 PCM 格式,并通过 android 中的代码获取 x 和 y 值。现在我们在 MATLAB 中绘制它。

标签: matlab audio signal-processing sine-wave


【解决方案1】:

如果x 是时域,那么您实际上并不需要它,因为您有Fs = 8000 Hz。

y是您的数据,您可以尝试使用audiowrite将其转换为音频文件。

我们并不确切知道您的数据是如何编码的,因此您可能需要做一些工作。

例如,它可能是

audiowrite('audioFile.wav`, y, Fs);

【讨论】:

  • 谢谢,我完成了,但我使用了 y 的 1000 个值,因为很明显 x 在这里没有用,所以它制作了一个 1 秒的文件。我希望它听起来更长。
  • @SaifAli 如果你有 1000 个 8000 Hz 的值,它应该持续 1/8 秒我不知道你是如何让它持续 1 秒的。无论如何,如果你想增加音频文件的持续时间,你可以:1. 获取更多数据,2. 随时重复你的数据y = [y; y; y; y],3. 减少Fs(但你也会改变音高你的声音)。
猜你喜欢
  • 2021-04-09
  • 1970-01-01
  • 2016-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-03
  • 1970-01-01
  • 2013-06-17
相关资源
最近更新 更多