Pergunta

I precisa de uma biblioteca para MS VC6 que codifica dados de amostragem, que é na forma de uma matriz de flutuador, para um formato de ficheiro de áudio de preferência WAV Também há uma biblioteca que pode codificar as amostras em forma pcm e reproduzi-lo diretamente através da placa de som sem salvar um arquivo wav primeiro ??

Foi útil?

Solução

Como se observa, o formato de arquivo WAV é muito simples. Para reproduzir apenas as amostras, use as funções WaveOut; eles estão documentados.

Para converter de uma bóia a uma amostra PCM de 16 bits assinado, apenas converter a amostra para a faixa de 16 bit. Por exemplo, assumindo uma amostra na gama de -1,0 a +1,0 multiplicar por 32767,0 e convertido para um número inteiro:

int16_t sample = static_cast<int16_t>(32767.0 * float_sample);

Uma vez que você tem aqueles, basta usar o waveOut * funções a desempenhar as amostras.

Outras dicas

Parece que libsndfile (www.mega-nerd.com/libsndfile/) e SndLib (ccrma.stanford.edu/software/snd/sndlib/) vontade fazer o que quiser.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top