Sound-command produces click-noise in a loop after each tone

3 ビュー (過去 30 日間)
elchico
elchico 2018 年 2 月 13 日
回答済み: elchico 2018 年 2 月 16 日
Hello,
I am trying to make my impedance curve audible. My procedure (in Matlab):
  • normalize data (Z/mean(Z))
  • normalized data * sound frequence (440 Hz)
  • determine the time per tone with e.g. 0.1 s (here I need a "time-array", because later I want to add the capacitance as the time => every tone another time (same for the duration). Now I want to add all these single tones to one "song" (background: I am working with impedance curves and have to explain my work to non-professionals - perhaps it will be easier with audible support =) )
Now my problem: after every single tone there is a "click"-noise, like turning old speakers on and off. I also tried to stick the sound vectors first together and play then the "sound-total" at one piece - does not work, too =/
Does anybody have an idea, why this click-noise is present? I would really appreciate that =) Furthermore, the sound is not around 440 Hz. Does anybody have a good working code for a sinusoidal sound?
I have spent so much time for this and I do not figure it out.
Thanks in advance. Regards,
elchico
My Code:
%%config settings
filename = 'Z_data.dat';
delimiter = '\t';
sound_freq = 440; % in Hz, middle value to fluctuate around
fs = 20500; % Sampling frequency
dt = 1/fs; % time resolution
num_points = 10; % How many points of raw data to convert into sound?
for jj = 1:num_points
duration(jj,1) = 0.1; % duration per note in sec
amplitude_array(jj,1) = 1; % a.u., middle value to fluctuate around (=> volume)
end
%%calculate values (Z_norm) and refer to sound
M_raw = dlmread(filename,delimiter);
Z_values = M_raw(1:num_points,1);
Z_norm= Z_values /mean(Z_values );
sounds_freq_array = Z_norm*sound_freq,0;
%%play sound
for ii= 1:num_points
t = 0:dt:(duration(ii,1));
signal = amplitude_array(ii,1)*sin(2*pi*sounds_freq_array(ii,1)*t);
sound(signal, (fs));
pause (duration(ii,1));
end
And here are some example-data:
8406
8200
8000
8500
8365
8400
7999
8555
8336
8456

回答 (1 件)

elchico
elchico 2018 年 2 月 16 日
Noone with an idea? I would really appreciate it. Regards

カテゴリ

Help Center および File ExchangeAudio and Video Data についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by