How to create sounds with specific characteristics?
古いコメントを表示
How can I create sounds with MATLAB with the following characteristics:
Sound 1:
pitch: 3 sinusoidal partials of 500, 1000 and 1500 Hz
duration: 100 ms (including 5 ms rise and fall times)
amplitude: 80 dB
Sound 2:
like Sound 1, but with a cutting out of 10 ms (5 ms fall / rise included) from the middle of the sound
%%configure signal settings
duration = 0.1; % duration in seconds
amplitude = 0.8; % amplitude
f1 = 500; % frequency in Hertz
f2 = 1000;
f3 = 1500;
phi = 2*pi*0.5; % phase offset, e.g.: 2*pi*0.25 = 1/4 cycle
%%configure output settings
fs = 44100; % sampling rate
T = 1/fs; % sampling period
t = 0:T:duration; % time vector
%%create the signal
omega1 = 2*pi*f1; % angular frequency in radians
omega2 = 2*pi*f2;
omega3 = 2*pi*f3;
partial1 = cos(omega1*t + phi)*amplitude; % sinusoidal partial 1
partial2 = cos(omega2*t + phi)*amplitude; % sinusoidal partial 2
partial3 = cos(omega3*t + phi)*amplitude; % sinusoidal partial 3
signal = (partial1 + partial2 + partial3)/3;
%%plot the signal
plot(t, signal);
xlabel('Time (seconds)');
ylabel('Amplitude');
title('Complex Signal');
%%play the signal
sound(signal, fs);
%%save signal as stereo wave file
stereo_signal = [x1; x1]';
wavwrite(stereo_signal, fs, 'test.wav');
I am wondering how to adjust the amplitude and to implement the rise and fall.
Looking forward to your help! Thanks in advance!
4 件のコメント
Daniel Shub
2011 年 5 月 31 日
How do you want to the signal to rise/fall? Probably a raised cosine (hanning or hamming window).
80 dB re what? It cannot be 80 dB SPL without knowing your speaker and amplifier.
D.
2011 年 6 月 1 日
John
2016 年 11 月 14 日
THANK YOU!
Ilya Rotov
2020 年 10 月 10 日
Obvious understanding. Thanks!
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で AI for Audio についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!