[ecasound] output clipping even with float data

From: Claude Heiland-Allen <claude@email-addr-hidden>
Date: Fri Mar 13 2020 - 01:12:23 EET

Hi all,

I noticed ecasound clips f32 output to +/- 1 on writing.  Is this
intentional?

Example to show that it is so:

```
$ ./normalize input.wav output.wav
reading input.wav
peak 1
writing output.wav
$ ecasound -f f32 -i input.wav -ea 10000 -o output100.wav
**************************************************************************
*        ecasound v2.9.1 (C) 1997-2014 Kai Vehmanen and others
**************************************************************************
(eca-chainsetup) Chainsetup "untitled-chainsetup"
(eca-chainsetup) "nonrt" buffering mode selected.
(eca-chainsetup) NOTE: using existing audio parameters -f:f32_le,1,44100
for object 'input.wav' (tried to open with -f:f32_le,2,44100).
(eca-chainsetup) Opened input "input.wav", mode "read". Format: f32_le,
channels 1, srate 44100, interleaved (locked params).
(eca-chainsetup) Opened output "output100.wav", mode "read/write
(update)". Format: f32_le, channels 2, srate 44100, interleaved (locked
params).
- [ Connected chainsetup: "untitled-chainsetup" ] ------------------------
- [ Controller/Starting batch processing ] -------------------------------
- [ Engine - Driver start ] ----------------------------------------------

- [ Engine - Processing finished ] ---------------------------------------
- [ Controller/Batch processing finished (0) ] ---------------------------
- [ Engine exiting ] -----------------------------------------------------
(eca-control-objects) Disconnecting chainsetup: "untitled-chainsetup".
$ ./normalize output100.wav output.wav
reading output100.wav
peak 1
writing output.wav
```

The peak should be 100 in the second output of normalize, if the file
had not been clipped.

It meant I had to switch from ecasound to ffmpeg for some dual mono to
stereo stuff, as some of my DSP experiments in Python and Pure-data are
so far mono (I run it twice, the output is typically very
loud/unnormalized) and I wanted a stereo file to run my homebrew peak
normalizer[1] on.

I'm using the version in Debian Buster, I suppose I should try the
latest to confirm?

```
$ apt-cache policy ecasound
ecasound:
   Installed: 2.9.1-7+b3
   Candidate: 2.9.1-7+b3
   Version table:
      2.9.3-2 500
         500 http://ftp.uk.debian.org/debian testing/main amd64 Packages
         500 http://ftp.uk.debian.org/debian unstable/main amd64 Packages
  *** 2.9.1-7+b3 990
         990 http://ftp.uk.debian.org/debian buster/main amd64 Packages
         100 /var/lib/dpkg/status
```

[1]
https://code.mathr.co.uk/disco/blob/c1bacac3dfe361ac78e379075ae859aa3a1a2c5b:/normalize.c

Thanks,

Claude

-- 
https://mathr.co.uk
_______________________________________________
Ecasound-list mailing list
Ecasound-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecasound-list
Received on Fri Mar 13 04:15:01 2020

This archive was generated by hypermail 2.1.8 : Fri Mar 13 2020 - 04:15:01 EET