[LAD] Regarding amplifying a PCM frame

Drip Stone dripstone.blendercn at gmail.com
Tue Oct 27 00:50:15 UTC 2009


Hello again,

I obtain data for fbuffer in following way:
    char *fbuffer = ( char * ) malloc ( 10240000 ); //10M bytes
    long length = fread ( fbuffer, 1, 10240000, file );

I also set alsa in float mode:
    snd_pcm_hw_params_set_format ( handle, params,

     SND_PCM_FORMAT_FLOAT_LE );

I pasted all the code at http://pastebin.com/m7fdf0957.


Thank you,
Dripstone



On Mon, Oct 26, 2009 at 3:59 PM, Jens M Andreasen
<jens.andreasen at comhem.se>wrote:

> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20091026/b71dcf9a/attachment.html>


More information about the Linux-audio-dev mailing list