maxiyommi / signal-systems

Contenido práctico de la asignatura Señales y Sistemas de la carrera Ingeniería de Sonido, en la Universidad Nacional de Tres de Febrero.
7 stars 6 forks source link

Funcion de adquisicion y reproduccion #28

Open juanalmaraz opened 4 years ago

juanalmaraz commented 4 years ago

Buenas tardes, tengo un problema con la funcion de adquisicion y reproduccion. Investigando en la pagina de matlab sobre el Audio system toolbox nos quedó el siguiente codigo:

playRec = audioPlayerRecorder(fm);
fileReader = dsp.AudioFileReader('SineSweep.wav','SamplesPerFrame',256);
fm = fileReader.SampleRate;
fileWriter = dsp.AudioFileWriter('SineSweep.wav','SampleRate',fm);

aPR = audioPlayerRecorder('SampleRate',fm);
    while ~isDone(fileReader)
        audioToPlay = fileReader();
        [audioRecorded,nUnderruns,nOverruns] = aPR(audioToPlay);
        fileWriter(audioRecorded);
        if nUnderruns > 0
            fprintf('Se perdieron %d muestras al reproducir',nUnderruns);
        end
        if nOverruns > 0
            fprintf('Se perdieron %d muestras al grabar',nOverruns);
        end
    end

El problema es que en vez de grabar el Sine Sweep, graba mi micrófono (supongo porque es el dispositivo de entrada predeterminado) y no sé como cambiarlo. ¿Hay alguna manera? gracias.

maxiyommi commented 4 years ago

@juanalmaraz

Probé el snippet y anda perfectamente. Con respecto a tu comentario, no veo el inconveniente, creo que hay algo que no esta claro, el sine sweep debe ser grabado por tu micrófono para ser convolucionado con el filtro inverso (de dicho sine sweep). El sine sweep sintetizado es reproducido por una fuente en el recinto (sistema LTI), que se desea obtener la RI.