Commit Graph

30 Commits

Author SHA1 Message Date
exu
5eb6d2885f Remove redundant variable 2024-06-07 20:50:02 +02:00
exu
6716d5003b Implement handling of KeyboardInterrupt
This commit adds handling of KeyboardInterrupts. For this purpose, a
    signal handler is installed for all processes and a global variable
    that calls further cleanup steps. Because processes are used, each
    process receives the SIGINT. To properly stop and not just wait for
    something to handle the SIGINT, each process raises a custom
    `CleanupRequired` error and exits.
2024-06-07 20:45:01 +02:00
exu
89b618a502 Change target loudness 2024-05-10 19:21:03 +02:00
exu
08fd5bc592 Handle metadata copying for opus files 2024-05-10 19:20:54 +02:00
exu
01260fb1c1 Add function to copy metadata to normalized files 2024-03-24 19:30:45 +01:00
exu
10cf2f455d Complete rewrite with pyloudnorm
Based on
    https://ffmpeg.org/pipermail/ffmpeg-user/2024-March/057775.html
    loudnorm is a low quality filter.
    Some research gave some alternatives.
    One of these is "pyloudnorm", a native python module implementing
    EBU R 128 loudness normalization.
    This is what I have implemented now instead of the old ffmpeg
    filter.

    In the future additional rewrites to use the official FLAC and OPUS
    encoders might be desirable for better compression.
2024-03-24 12:57:59 +01:00
exu
78ee74ed9d Huge rework of this script
- Implement different conversions for lossless and lossy sources
    - Remove unused functions
    - Cleanup comments

    I noticed that FLAC --> FLAC normalisation will change the bit depth
    from 16 to 24. Wasn't able to find a simple solution for it, so I
    asked on the ffmpeg-user mailing list
    https://ffmpeg.org/pipermail/ffmpeg-user/2024-March/057774.html
2024-03-23 18:32:01 +01:00
exu
9cab744773 Increase dynamic range some more 2024-01-27 20:46:14 +01:00
exu
eb122054ea reduce overall loudness 2023-12-22 12:40:24 +01:00
aeba2808bc Add symlink for venv in repo root folder 2023-07-02 20:52:48 +02:00
e644300d75 Decrease target loudness and increase dynamic range 2023-06-05 21:09:12 +02:00
81cfc75d2e Modify gitignores 2023-05-30 15:48:50 +02:00
9b666176da Set loudness normalization to -24 2023-05-22 19:57:33 +02:00
bfe103fa53 Add requirements 2023-05-21 13:58:53 +02:00
689497136d Change LRA to 7.0 2022-11-14 20:58:03 +01:00
895a19eb78 Output dynamically normalised songs at the end 2022-11-14 20:15:52 +01:00
1a26315578 Same example with process pool 2022-11-14 16:04:25 +01:00
294d7edaf7 Add small sample pool function 2022-11-14 16:02:02 +01:00
ae73c49742 WIP print dynamically normalized songs 2022-11-13 21:54:24 +01:00
d5c56f5f44 Remove print statement 2022-10-08 14:15:58 +02:00
b145688b6b Separated ffmpy arguments into dicts. (use later to include covers) 2022-10-08 14:15:24 +02:00
c14fc5a77d Move prints to beginning of function 2022-10-04 18:55:10 +02:00
f26177b6d7 Add reset option. Use mtime from the end of the run 2022-10-04 18:40:40 +02:00
d584ab9bde Always overwrite normalized files 2022-10-04 18:40:29 +02:00
1ecd83723a Fully functioning version 2022-10-04 18:16:56 +02:00
3732eadf27 Add gitignore 2022-10-03 21:40:13 +02:00
b6232f28e5 Convert function 2022-10-03 21:39:53 +02:00
26d22d410f Importing json 2022-10-03 21:39:38 +02:00
c483092b78 Finish loudness_info to return dict 2022-10-03 21:39:19 +02:00
efbaa72afb Initial commit 2022-10-03 19:58:45 +02:00