%***************************************%
% wavファイル処理                       %
% リバーブ                              %
%         by Arata Kawamura (2021.06.08)%
%***************************************%
clear;
% 音声信号(s)とサンプリング周波数(Fs)を読み込む
[s, Fs] = audioread("speech.wav"); 
%************************************%
%       信号処理用変数設定           %
%************************************%
D    = 2000;                         % 遅延量
beta = 0.8;                          % フィルタ係数
x = [ s ; zeros(Fs,1)];              % 入力信号．末尾に0を1秒追加
L = length(x);                       % 入力信号の長さ
y = zeros(L, 1);                     % 出力信号
%************************************%
for n=D+1:L
    y(n) = x(n) + beta*y(n-D);       % リバーブ出力
end
% wavを書き出す
audiowrite("output.wav", y, Fs);
