gpt4 book ai didi

matlab - 使用MATLAB将.mid转换为.wav

转载 作者:行者123 更新时间:2023-12-03 01:50:22 28 4
gpt4 key购买 nike

我一直在使用该库(http://kenschutte.com/midi)处理midi文件,此处的功能非常有帮助。但是,不管我放入什么midi,midi2audio()方法都只会产生乱码的.wav文件(尽管可以识别音符并且正在播放正确的Midi)。是否有人使用过此函数库并遇到了相同的问题?如果是,我该如何解决?还是我可以在其他地方使用在线执行相同功能的其他功能?

下面是用于生成.wav文件的代码(从上面的链接复制和粘贴)
[y,Fs] = midi2audio(midi);
% save to file:
% (normalize so as not clipped in writing to wav)
y = .95.*y./max(abs(y));
wavwrite(y, Fs, 'out.wav');

最佳答案

似乎midi2audio仅包含非常基本的声音合成,默认情况下为调频合成。如果您改为简单的正弦波合成,听起来会更好吗?

[y,Fs] = midi2audio(midi, 'sine')

如果仍然不能解决问题,您可能希望使用更复杂的软件工具。

最简单的跨平台方法可能是 FluidSynth(也可以通过MacPorts,Homebrew,apt-get,GitHub等各种存储库提供)
FluidSynth使用基于样本的声音合成将MIDI指令转换为音频,并且需要SoundFont2格式的样本库才能工作。可以在 here中找到这样的一个。

整理好之后,要做的就是从MIDI文件中制作WAVE文件,只需在终端/控制台中输入以下内容:
fluidsynth -F out.wav path-to-fm2-file in.mid

关于matlab - 使用MATLAB将.mid转换为.wav,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40275715/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com