Hola gente!
Teniendo un audio en .ogg (canción larga) necesito insertar varios .ogg's más con sonidos de pocos segundos (3 o 5 segundos quizás) y que resulte una canción con los sonidos esos de por medio, según la posición de tiempo indicada.
Es decir...
------------ canción larga------- continua la canción------------------
--- aquí un sonido ---- aqui otro sonido ----- aquí otro sonido----
La restricción es usar libsndfile.
Por lo que he estado leyendo... la cosa sería abrir en modo escritura la canción, y mirando los frames que tiene, dividirlos por el tiempo total de la canción para poder saber a qué frame específico pertenece cierto tiempo.
Entonces en ese frame escribir el sonido pero haciendo una media con el valor actual.
He visto estos dos ejemplos:
http://stackoverflow.com/questions/13437346/artifacts-when-mixing-wav-files-with-libsndfile
http://stackoverflow.com/questions/5671055/libsndfile-usage-joining-and-mixing-wav-files
Pero lo que no llego a entender es el 88200 del primero, y el
outdata = (data + data2) -(data)*(data2)/65535;
del segundo link.
Me podéis echar un cable?
Gracias!
Así a bote pronto, a mí el 88200 me suena a tamaño de buffer para almacenar un segundo en estéreo a 44100 Hz. No estoy seguro de a qué se refiere el segundo.