Bug#617599: audacity: 32 bits floats 64 bits long and snd_fft behaviour

jmg jeanmichel.123 at free.fr
Wed Mar 9 20:46:33 UTC 2011


Package: audacity
Version: 1.3.12-6
Severity: normal

I have a nyquist script using snd-fft api which have a random beaviour on my computer
where floats are 32 bits and long 64 bits.
Each time I execute the script, result is different, when it should be about equal.

I 'd like to know if same random issue occur on 32 bits systems.


-------------8<--- Here after extracts of the debian source 
-------------8<--- ./lib-src/libnyquist/nyquist/nyqsrc/fft.c
110          * in the block. Here, there are 4 more longs after the size, and 
111          * then room for 3*len floats (assumes that floats and longs take 
112          * equal space).

130         window = (float *) &(s->extra[OFFSET + 2 * len]);

141     samples = (float *) &(s->extra[OFFSET]);
142     temp_fft = samples + len;
143     window = temp_fft + len;

// Note that as s->extra seams to be long pointer while samples and temp_fft seams to 
// be float pointers, I am not confident that windows from line 130 and 143 might overlap.



-------------8<--- Here after the bits processor detector

// long_and_float_size.c 
void main ()
{
  printf ("sizeof ( long ) = %d\n", sizeof(long) );
  printf ("sizeof ( float ) = %d\n", sizeof(float) );
  return sizeof(float) == sizeof(long);
}
// :~$ ./a.out 
// sizeof ( long ) = 8
// sizeof ( float ) = 4


-------------8<--- Here after the nyquist script

;nyquist plug-in
;version 1
;type analyze
;categories "http://audacityteam.org/namespace#OnsetDetector"
;name "FFT ..."
;action "FFT tests..."
;info "Released under terms of the GNU General Public License version 2"
;control freq_basses2 "Filtre basses Hz" int "" 40 5 200

(setf s1 (if (arrayp s) (snd-add (aref s 0) (aref s 1)) s))
; ajout des canaux gaucHe et droite dans un canal unifie, s1

(defun signal_basses () (force-srate 1000 (lp s1 60.0 ) ) )
; Filtre des frequences inferieures à 60 Hz

(setq l NIL )
(setq result-fft NIL)
(setq result-fft (snd-fft (snd-copy (signal_basses) ) 128 0 NIL ) ) 
(do ( (n 0) (X 1.0) )
    ( (> n 60) NIL )
  (print (list n (aref result-fft (* 2 n ) ) ) )
  (setq n ( + 1 n ) )
)
(setq label "toto")
(setq l (cons (list 0.0 label) l))
l

-- System Information:
Debian Release: 6.0
  APT prefers oldstable
  APT policy: (500, 'oldstable'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages audacity depends on:
ii  audacity-data             1.3.12-6       A fast, cross-platform audio edito
ii  libasound2                1.0.23-2.1     shared library for ALSA applicatio
ii  libc6                     2.11.2-10      Embedded GNU C Library: Shared lib
ii  libexpat1                 2.0.1-7        XML parsing C library - runtime li
ii  libflac++6                1.2.1-2+b1     Free Lossless Audio Codec - C++ ru
ii  libflac8                  1.2.1-2+b1     Free Lossless Audio Codec - runtim
ii  libgcc1                   1:4.4.5-8      GCC support library
ii  libglib2.0-0              2.24.2-1       The GLib library of C routines
ii  libgtk2.0-0               2.20.1-2       The GTK+ graphical user interface 
ii  libid3tag0                0.15.1b-10     ID3 tag reading library from the M
ii  libjack-jackd2-0 [libjack 1.9.6~dfsg.1-2 JACK Audio Connection Kit (librari
ii  libmad0                   0.15.1b-5      MPEG audio decoder library
ii  libogg0                   1.2.0~dfsg-1   Ogg bitstream library
ii  libsamplerate0            0.1.7-3        Audio sample rate conversion libra
ii  libsndfile1               1.0.21-3       Library for reading/writing audio 
ii  libsoundtouch1c2          1.3.1-2        sound stretching library
ii  libstdc++6                4.4.5-8        The GNU Standard C++ Library v3
ii  libtwolame0               0.3.12-1       MPEG Audio Layer 2 encoding librar
ii  libvamp-hostsdk3          2.1-1          helper library for Vamp hosts writ
ii  libvorbis0a               1.3.1-1        The Vorbis General Audio Compressi
ii  libvorbisenc2             1.3.1-1        The Vorbis General Audio Compressi
ii  libvorbisfile3            1.3.1-1        The Vorbis General Audio Compressi
ii  libwxbase2.8-0            2.8.10.1-3+b1  wxBase library (runtime) - non-GUI
ii  libwxgtk2.8-0             2.8.10.1-3+b1  wxWidgets Cross-platform C++ GUI t

Versions of packages audacity recommends:
ii  libavcodec52                  4:0.5.2-6  ffmpeg codec library
ii  libavformat52                 4:0.5.2-6  ffmpeg file format library

Versions of packages audacity suggests:
pn  ladspa-plugin                 <none>     (no description available)
pn  libmp3lame0                   <none>     (no description available)

-- no debconf information





More information about the pkg-multimedia-maintainers mailing list