How to save two sin waves with left and right channels in a stereo wav file?

34 visualizaciones (últimos 30 días)
Hi,
I am using audiowrite to save two sin waves. Here is my code.
fs = 8000; %frequency sample rate
i=1/fs; % interval
t = 0:i:2; % time
phi = 0;
% F = 220Hz
f = 220;
x = A*sin((2*pi*f*t) + phi);
% F = 240Hz
f = 240;
y = A*sin((2*pi*f*t) + phi);
filex = 'x.wav';
filey = 'y.wav';
audiowrite(filex,x,fs);
audiowrite(filey,y,fs);
Now I want to save two separate waves as left and right channels in the a stereo wav file. How can I do that.
Many Thanks!

Respuesta aceptada

Star Strider
Star Strider el 3 de Mzo. de 2017
Editada: Star Strider el 3 de Mzo. de 2017
To create a stereophonic sound file, you need to create a (Nx2) matrix, so each channel is a column vector. In this example, ‘x’ will be the left channel, and ‘y’ will be the right channel.
The Code
fs = 8000; %frequency sample rate
i=1/fs; % interval
t = 0:i:2; % time
phi = 0;
A = 1;
% F = 220Hz
f = 220;
x = A*sin((2*pi*f*t) + phi);
% F = 240Hz
f = 240;
y = A*sin((2*pi*f*t) + phi);
stereo_mtx = [x(:), y(:)];
audiowrite('stereo sound.wav', stereo_mtx, fs);
  3 comentarios
An
An el 6 de Feb. de 2024
When saving to a file, stereo is lost. Any way to fix this?

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by