Sum sound signals with different size
조회 수: 2 (최근 30일)
이전 댓글 표시
Hello,
I want to produce a sound from a sound_signal, but I don't know how to create the sound signal.
I have a cell sequence like that as input
{'0'} {'111'} {'0'} {'111'} {'0'} {'0'} {'0'} {'1'} {'0'} {'111'} {'0'}
Now my code looks like this:
dot_duration = 0.1
sampling_freq = 1000
tone_freq = 700
t_dot=0:1/sampling_freq:dot_duration;
t_dash=0:1/sampling_freq:3*dot_duration;
t_code_space=0:1/sampling_freq:dot_duration;
y_dot=cos(2*pi*tone_freq*t_dot);
y_dash=cos(2*pi*tone_freq*t_dash);
y_code_space=0*t_code_space;
input = reshape(pulse_sequential, 1, 1, length(input));
%with the reshape I avoid the use of loops
soundsignal1 = ismember(input(:), '1')*y_dot;
soundsignal2 = ismember(input(:), '111')*y_dash;
soundsignal3 = ismember(input(:), '0')*y_code_space;
soundsignal = soundsignal1+soundsignal2+soundsignal3
My problem is in the sum of the soundsignal1, soundsignal2 and soundsignal3, but obviously I can not add those elements because the Matrix dimensions do not agree.
I don't know how to solve this error, I understand it, (y_dot, y_dash and y_code_space have different size).
If you could help me I would grateful
댓글 수: 0
답변 (1개)
Mohamad
2020년 10월 24일
y_dot=[y_dot zeros(1,length(y_dash)-length(y_dot))];% pad zeros
y_code_space=[y_code_space zeros(1,length(y_dash)-length(y_code_space))];% pad zeros
Now all vectors of same length , can be added .
댓글 수: 4
Mohamad
2020년 10월 25일
Why the matrix has 48001 columns ?
sound command will allow playing the sound for a matrix of 2 columns only ( i.e 1st channel and 2 ed channel ) .
참고 항목
카테고리
Help Center 및 File Exchange에서 Audio I/O and Waveform Generation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!