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

조회 수: 2 (최근 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 CenterFile Exchange에서 Audio and Video Data에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by