Conversion de 8 bits a 16 bits.
Publicado por fafilberg (11 intervenciones) el 23/08/2005 13:30:21
Hola, estoy haciendo un programa para composicion musical que trabaja con .wav's.
Necesito alguna forma de poder convertir un valor de 8 bits a 16, 24 bits o lo que uno quiera.
Los archivos .wav tienen una cabecera y a partir de la posicion 44, los datos en si del sonido (samples). Para leer estos datos hay que conocer el formato del archivo lo cual viene definido en la cabecera, una vez conocido esto sabremos si es 8, 16, ... bits o 1, 2, ... canales.
Como esto no es fijo, necesito alguna funcion o formula para convertir dinamicamente, ya que el origen puede ser 24 bits y el destino 8 bits o podria ser 32 bits y el destino 24 bits y asi etc., por lo tanto no puedo hacer una funcion por cada posibilidad como ser:
1) convertir_8b_1ch_a_16b_1ch
2) convertir_8b_1ch_a_24b_1ch
3) convertir_8b_1ch_a_32b_1ch
...
no es practico cubrir todas las posibilidades de esta forma, por eso que necesito saber como llevar un dato de origen que puede ser BYTE, WORD o DWORD a otro de destino que puede ser tambien BYTE, WORD o DWORD.
Necesito alguna forma de poder convertir un valor de 8 bits a 16, 24 bits o lo que uno quiera.
Los archivos .wav tienen una cabecera y a partir de la posicion 44, los datos en si del sonido (samples). Para leer estos datos hay que conocer el formato del archivo lo cual viene definido en la cabecera, una vez conocido esto sabremos si es 8, 16, ... bits o 1, 2, ... canales.
Como esto no es fijo, necesito alguna funcion o formula para convertir dinamicamente, ya que el origen puede ser 24 bits y el destino 8 bits o podria ser 32 bits y el destino 24 bits y asi etc., por lo tanto no puedo hacer una funcion por cada posibilidad como ser:
1) convertir_8b_1ch_a_16b_1ch
2) convertir_8b_1ch_a_24b_1ch
3) convertir_8b_1ch_a_32b_1ch
...
no es practico cubrir todas las posibilidades de esta forma, por eso que necesito saber como llevar un dato de origen que puede ser BYTE, WORD o DWORD a otro de destino que puede ser tambien BYTE, WORD o DWORD.
Valora esta pregunta


0