• 大小: 10KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-19
  • 语言: Matlab
  • 标签: 音乐合成  matlab  

资源简介

这是matlab合成lemon和起风了的代码,在哔哩哔哩上有视频,打开matlab,运行lemon.m合成lemon,运行qifengle.m合成起风了,合成效果非常逼真,欢迎下载学习。

资源截图

代码片段和文件信息

function y = ADSR(x f)
% 声音包络处理
% 这个函数是给混频后的钢琴单音进行包络处理,让人听起来有打击感
[~N] = size(x);
if f ~= 0
    d = round(-36492*log(f) + 325507);
    r = round(d / 400);

    m = linspace(06.2146d);
    ds = 0.5 * exp(-m);
    adsr = [ds zeros(16*44100-d)];    % ds

    adsr(1:r) = linspace(0adsr(r)r); % a
    
    adsr = adsr(1:N);
    
    adsr(end - r + 1:end) = linspace(adsr(end-r)0r); % r
    
    y = x .* adsr;
else
    y = x;
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-15 22:21  合成音乐\
     文件         492  2019-03-20 16:35  合成音乐\ADSR.m
     文件       51764  2019-03-20 16:26  合成音乐\lemon.m
     文件        3011  2019-03-20 16:33  合成音乐\mulfreq.m
     文件       20858  2019-04-15 22:30  合成音乐\qifengle.m

评论

共有 条评论