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