[LAD] Regarding amplifying a PCM frame

Jens M Andreasen jens.andreasen at comhem.se
Mon Oct 26 22:59:22 UTC 2009


Nothing in the posted code fragment suggests that neither in nor out is
remotely related to floats. Where do you get yor in-data from? Why is
fbuffer[] a bytearray (if that is what it is?) How was ALSA opened?


/j

On Mon, 2009-10-26 at 15:05 -0700, Drip Stone wrote:

>     while ( 1 )
>     {
>         for ( int i = 0; i < frames; i++ )
>         {
>             float t = 0;
>             if ( left )    //for left channel
>             {
>                 t = *((float*)&(fbuffer[pos+i*4]));    //4 bytes each
> frame
>                 t*=2;
>                 //printf("%f ",t);
>                 for ( int j = 0; j < 4; j++ )
>                     buffer[i*8+j] = ((char*)&t)[j];    //8 bytes for 2
> channels
>             }
> 
>         rc = snd_pcm_writei ( handle, buffer, frames );
>         pos += frames * 4; 
>     }
> 
> I think the value is not out of [-1.0,1.0]. BTW, what does it mean
> when a value is negative?
> 
> 
> Best,
> Dripstone
> 
> 2009/10/26 Jörn Nettingsmeier <nettings at folkwang-hochschule.de>
>         On 10/26/2009 11:38 AM, Victor Lazzarini wrote:
>         > Well if the audio was clipped, there would probably be some
>         audible
>         > distortion.
>         > Perhaps if a code fragment was posted we could give a more
>         informed
>         > opinion.
>         
>         
>         i was thinking of operating on files, where clamping can be
>         done with
>         perfect fidelity. but i may have misunderstood the OP.
>         
>         
>         _______________________________________________
>         Linux-audio-dev mailing list
>         Linux-audio-dev at lists.linuxaudio.org
>         http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
>         
> 
> _______________________________________________
> Linux-audio-dev mailing list
> Linux-audio-dev at lists.linuxaudio.org
> http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev




More information about the Linux-audio-dev mailing list