Commit graph

66 commits

Author SHA1 Message Date
Paul Davis
b51c4b7ef9 fix signed/unsigned warning 2022-06-21 17:33:37 -06:00
Matthijs van Otterdijk
69bf9d36aa Use integer arithmetic to calculate number of samples per bin 2022-04-08 12:47:44 +02:00
Robin Gareus
2c9c80ae62
Amend f322c4ded7, clean up includes, fix visibility 2022-01-28 02:29:11 +01:00
Robin Gareus
f322c4ded7
Separate sndfile.hh implementation into C++ source
This is required to be able to include
"audiographer/sndfile/sndfile_writer.h" in more than
one source file. which would otherwise lead to
duplicate symbol: AudioGrapher::SndfileHandle::..
2022-01-28 01:52:07 +01:00
Robin Gareus
7f3681c7ac
Scale export-analysis dataset 2021-12-24 21:59:03 +01:00
Robin Gareus
122d219354
Prepare scaleable analysis (variable width, bins) 2021-12-24 19:54:00 +01:00
Robin Gareus
a8c47da364
Fix realtime export loudness normalization
TmpFileRt::get_samples_written() returns the number of
samples written *to disk*. It is only valid after the FileFlushed
signal is emitted.

This fixes an assert() with Limiter and Analyzer being configured
with a too low total sample-count, leading to an overflow in
the analysis graph array.
2021-04-29 19:05:09 +02:00
Robin Gareus
883f818626
Fix C++11ism 2021-04-13 05:35:29 +02:00
Robin Gareus
c4f0393cf9
Keep track of export-limiter redux 2021-04-12 23:15:30 +02:00
Robin Gareus
89a65f76b0
Update analysis duration when post-processing
This prevents the need to re-bin data in case silence is
trimmed at start or end of the export.
2021-04-12 23:15:30 +02:00
Robin Gareus
75829d20f2
Overhaul export loudness normalization
* Fix exporting multiple formats with different
  normalization settings or demo-noise settings
* Add true-peak limiter (based on x42-limiter dpl.lv2)
* Optionally use a limiter for loudness normalization
* Fall back to short-term loudness when normalizing
  material too short for integrating loudness.
2021-04-12 23:15:30 +02:00
Robin Gareus
c1d98ca3c8
Export analysis: log loudness / time 2021-04-07 01:46:02 +02:00
Robin Gareus
e6dcc47d4a
Fix export-analysis true-peak display offset when stripping silence #8578 2021-03-21 14:36:10 +01:00
Robin Gareus
d794f39e20
Update post-export analysis to report max short/mom loudness 2020-07-20 05:16:51 +02:00
Robin Gareus
25169d239d
Relax initial export-noise to 1/3 of interval 2020-06-05 03:19:47 +02:00
Robin Gareus
820165d238
Add export demo noise watermarking 2020-06-04 21:20:32 +02:00
Robin Gareus
fe1f8effb9
Don't crash if ardour vamp plugins are n/a #8161
This still assert()s in debug builds. Since those plugins
should always be available.
2020-05-30 05:20:50 +02:00
Robin Gareus
551702b9e9
Fix for-loop condition (comma has no effect) 2019-12-05 18:23:49 +01:00
Robin Gareus
98c65406e3
Prefer std::vector<> over C-style malloc/free**
This fixes a potential out of bounds read `if (_dbtp_plugin[c])`
if c is larger than the allocated channel count.
2019-08-12 15:02:24 +02:00
Robin Gareus
c1bd70d8b0
Update audiographer GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
Robin Gareus
b0373598d7 Fix a typo (thanks to IOhannes/debian for reporting) 2018-02-28 20:40:38 +01:00
Paul Davis
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Paul Davis
69cbcb84a6 spelling corrections from Jaromír Mikeš <mira.mikes@seznam.cz>
Corresponds to https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/tree/debian/patches/0070-spelling.patch
2016-10-17 17:57:39 -04:00
Robin Gareus
7547f02c07 prepare loudness normalization 2016-05-02 15:44:13 +02:00
Robin Gareus
8ab60f3297 fix port-export analysis for > 2 channels. 2016-03-07 23:36:05 +01:00
Adrian Knoth
6fa88273aa Spelling correction patch from Debian
Patch taken (and forward-ported to HEAD) from
<https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/plain/debian/patches/0100-fix-typos.patch>
2016-02-22 15:13:01 -05:00
Robin Gareus
67d99a3c5b help clang static analyzer 2016-02-20 20:36:58 +01:00
Robin Gareus
c1910351a5 Revert "proper debug prints for Analyser"
This reverts commit 9a281963e1.

audiographer cannot use symbols from libardour (cyclic dependency)
(only headers only are ok)
"DebugBits ExportAnalysis" symbol break windows and unit-test builds.
2016-02-16 15:13:12 +01:00
Robin Gareus
240daf95f5 re-bin analysis results to take silence striping into account. 2016-02-16 15:09:31 +01:00
Robin Gareus
c52854fd3d Analysis: 1 sample slack (for resampling rounding) 2016-02-16 14:24:08 +01:00
Robin Gareus
a929b8b872 fix Export SRC buffer report:
the resampler is always fed with N channels, it won't output half channels
2016-02-16 14:00:31 +01:00
Robin Gareus
e18e765c75 Fix Analysis duration for added silence 2016-02-16 13:22:12 +01:00
Robin Gareus
9ab061c6cb don't re-use variable names 2016-02-16 13:21:45 +01:00
Robin Gareus
9a281963e1 proper debug prints for Analyser 2016-02-16 13:21:28 +01:00
Robin Gareus
1355d186cb extend analysis spectral range to -120dB 2016-02-15 18:55:04 +01:00
Robin Gareus
e6ea35c3de Add normalization gain factor to Export Analysis 2016-02-15 15:46:49 +01:00
Robin Gareus
50145a93e6 export analysis: include true-peak positions. 2016-02-12 12:42:51 +01:00
Robin Gareus
4fd47182f2 Help clang static analyzer. 2016-02-11 23:12:20 +01:00
Robin Gareus
f9e526dab8 tweak spectrum logscale 2016-02-11 16:09:34 +01:00
Robin Gareus
4b17bcb8b8 update export analyser for dBTP 2016-02-11 14:14:01 +01:00
Robin Gareus
df0f1b5ced stereo waveform, prepare spectrum faceplate 2016-02-11 02:22:54 +01:00
Robin Gareus
d8b04d3124 cleanup: unhardcode spectrum size, logscale, whitespace fixes 2016-02-10 19:28:21 +01:00
Robin Gareus
6c8a062be9 move export-analysis implementation into cc-file.
lib/libfftw3f.a(apiplan.o):apiplan.c:(.text+0x430): multiple definition of `fftwf_destroy_plan'

This is because static symbols in a .dll have no fixed address and
are mapped when loading the dll. Static functions in .exe do have a fixed
address.
With a header-only implementation the functions are provided
libardour.dll and ardour.exe
2016-02-10 15:11:45 +01:00
Robin Gareus
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Robin Gareus
fbe673d9c7 fix #6208, negative broadcast timestamps 2015-03-22 16:12:40 +01:00
John Emmas
a1a3f6c826 Merge branch 'windows+cc' into cairocanvas 2014-01-13 15:05:30 +00:00
John Emmas
5f0492deae 'libs/audiographer' - Add a new source file (to accommodate the stuff removed from 'normalizer.h') 2014-01-13 15:01:14 +00:00
Paul Davis
3020b224fa Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there 2014-01-10 16:07:57 -05:00
Sakari Bergen
054ead24cc Fix dither data width assertions and related tests
Fixes 32-bit export

This was broken from the start, and was broken in a new way in
52309c0c4f
2014-01-08 20:33:17 +02:00