[Tech] OT: C, linux e la rappresentazione in mem
Claudio Kutufà
claudiok@nexusfi.it
Lun 1 Mar 2004 16:56:51 CET
>16 bit
>2 canali
>8000 Hz di freq. di campionamento.
>durata acquisizione 60 sec.
>
>la quantità di memoria da allocare è: 60*16*2*8000=15360000 bit.
>
>Voglio che il buffer che dovrà contenere i dati audio, sia un buffer in
>allocazione dinamica di tipo float, per cui:
>
>p=(float *)calloc(size,sizeof(float));
io francamente non userei gli unsigned int di esattamente 16 char, sono
molto più efficienti. Oltretutto i folat usano per la memorizzazione base e
mantissa, non 16 o 32 bit tutti di seguito. Tu in effetti qui di seguito,
hai descritto la memorizzazione di un unsifgned long...
>Qui viene il mio dubbio. La scheda audio quantizza il suono con 16 bit
>(come richiesto). Un tipo float usa 32 bit per la rappresentazione di un
>numero. Quindi nel mio buffer avrò i 16 bit più rappresentativi tutti con
>il valore 0, mentre i meno significativi saranno effettivamente impiegati
>per la rappresentazione del campione audio.
>Inoltre dato che l'acquisizione avviene su 2 canali (acquisizione stereo)
>significa che nel buffer finiscono 32 bit per il canale sx e 32 bit per il
>canale dx, rappresentati come descritto prima.
>
>E' giusto questo ragionamento vero?
a questo punto nemmeno questo mi piace troppo :-)
ciao
Claudio
+++++++++++++++++++++++++++++++++++++++++++++++++++++
Ing. Claudio Kutufa'
NEXUS SISTEMI INFORMATIVI S.P.A.
e-mail personale: claudiok@nexusfi.it
tel. cellulare: 335 5859567
Sede Oper.va : Via Dante da Castiglione, 33
Tel. : +39 055 229413 Fax : +39 055 229785
50125 Firenze - Italy
Sede Amm.va : Via Panciatichi 40/11
Tel. : +39 055 4222030 Fax : +39 055 4376670
50100 Firenze - Italy
Nexus home page: www.nexusfi.it
+++++++++++++++++++++++++++++++++++++++++++++++++++++
Maggiori informazioni sulla lista
flug-tech