View Full Version : Audacity e bitrate codec AAC
Alessandro1970
15-03-2026, 12:52
Audacity ultima versione e ultima versione libreria FFmpeg, converto un qualsiasi file stereo o no in un mp4 AAC da 128Kb e il file risultante non è da 128Kb, risulta piu' grande, non c'è verso anche dimunuendo proporzionalmente il bitrate non è fedele.
Capisco che il bitrate sia variabile, ma paragonato al file ottenuto da altri programmi di conversione o a quello che ottenevo con una versione vecchia di Audacity e analizzato con Mediainfo non risulta di 128Kb. In pratica settando 128000 come indicato e come facevo prima non si ottiene piu' un 128Kb e presumo che questo succeda anche con altri valori di bitrate. Molto Molto fastidioso, c'è un rimedio oltre a quello di tornare alla vecchia versione?
Alessandro1970
24-04-2026, 08:38
mi rispondo io: è un BUG, tenerela vecchia versione ed aspettarne eventualmente una nuova
Perseverance
24-04-2026, 14:02
L'encoder di default di ffmpeg per aac fa schifo. Non lo usare. Piuttosto usa la libreria ffmpeg ma specificando il codec libfdk_aac.
Ma secondo me dovresti usare neroAAC o se sei su windows\mac un wrapper per itunes o per il codec aac fhg di winamp.
Su audacity clicchi su File > Esporta > Esporta Audio... oppure usa la scorciatoia SHIFT+CTRL+E in basso a destra nel menu a tendina scegli esportazione FFMpeg personalizzata. Più sopra appare "Apri opzioni personalizzate formato FFMpeg". Clicca e ti si apre il mondo, divertiti. Ovviamente la libreria ffmpeg deve essere compilata col supporto per il codec fhg fdk libfdk altrimenti vedrai solo il classico aac. Comunque, impostando qualità=-1 e bitrate 128000 dovrebbe funzionare meglio di ciò che sperimento attualmente.
Per questo secondo me la scelta migliore è usare un programma esterno. Per l'AAC su linux uso più che volentieri NeroAAC, e lo puoi usare anche su windows. Per fare ciò, sempre facendo Esporta Audio... vai a scegliere nel menu a tendina il programma esterno ad esempio NeroAAC.exe e gli dai i parametri che desidera che nel tuo caso sarà qualcosa del tipo. Tralaltro NeroAAC è uno fra i pochi ad implementare una vera codifica CBR.
C:\percorso\al\file\di\neroaac.exe -ignorelength -cbr 128000 -if - -of "%f.mp4"
Alessandro1970
24-04-2026, 15:51
Ovviamente la libreria ffmpeg deve essere compilata col supporto per il codec fhg fdk libfdk altrimenti vedrai solo il classico aac. Comunque, impostando qualità=-1 e bitrate 128000 dovrebbe funzionare meglio di ciò che sperimento attualmente.
Grazie, ma troppo complesso per me.
Per fare ciò, sempre facendo Esporta Audio... vai a scegliere nel menu a tendina il programma esterno ad esempio NeroAAC.exe e gli dai i parametri che desidera che nel tuo caso sarà qualcosa del tipo
Questo mi sarebbe utile ma dove glieli do i parametri?
Non c'è modo di avere una piccola interfaccia di neroAAC con un paio di cursori?
Perseverance
24-04-2026, 16:57
Non è complicato, è che non ci hai speso nemmeno mezzo secondo per provare a farlo.
File > Esporta > Esporta Audio...
Selezioni in basso dal menu a tendina Esportazione FFMpeg personalizzata, una volta selezionato questo, appena sopra ti appare Apri opzioni personalizzate formato FFmpeg, ci clicchi lo apri e c'è una finestrona.
Nella prima colonna cerchi e selezioni mp4 nella seconda colonna si ridurranno le scelte e selezioni aac
Ancora più a destra ci saranno i campi da impostare, solo due campi devi impostare. Qualità: -1 e Bit rate: 128000
Dai ok e ricordati di specificare l'estensione del nome come .mp4
Fine, salvi e tanti saluti. Audacity si ricorderà queste impostazioni per sempre se non le modifichi.
--edit--
Questo mi sarebbe utile ma dove glieli do i parametri?
Non c'è modo di avere una piccola interfaccia di neroAAC con un paio di cursori?
No, a mano! Ma una volta impostato se lo ricorda sempre.
File > Esporta > Esporta Audio...
Selezioni in basso dal menu a tendina (programma esterno), una volta selezionato questo, appena sopra nella casella Opzioni formato ti appare il comando. Cancellalo o ignoralo non è importante.
Clicchi su sfoglia e cerchi neroaac.exe o come cavolo si chiama doppioclicchi e apparirà il percorso dove prima c'era altro
editi quella riga aggiungi uno spazio infondo e aggiungi proseguendo dopo lo spazio i parametri sopra indicati -ignorelength -cbr 128000 -if - -of "%f.mp4"
Basta, ora dai il nome del file da salvare e salvi. La prossima volta farai solo quest'ultima cosa.
Clicca l'immagine per esempio, io sono su ubuntu ma ho cercato di farti vedere più o meno come sarà su windows il comando
https://i.postimg.cc/PNSQsZ51/programmaesternoaudacityneroaac.png (https://postimg.cc/PNSQsZ51)
--edit2--
Ho provato personalmente a codificare un file, sempre lo stesso file nei tre grafici, anche se sono con linux dovrebbe essere poco differente da windows. Purtroppo in audacity quando scegli di esportare in M4A la barra sotto è buggata e il bitrate finale è completamente sputtanato.
Il primo grafico si riferisce all'esportazione diretta con la barra dove selezioni il bitrate (è buggata, non funziona come vuoi), io avevo impostato 128 ma come vedi schizza oltre 400kbps, fa come gli pare. Il secondo e il terzo grafico invece rappresentano rispettivamente le opzioni impostate come ti ho detto pocanzi tramite l'opzione avanzata ffmpeg e tramite programma esterno in questo caso NeroAAC, io ovviamente ho la versione per linux ma sul sito rarewares.org trovi il pacchetto per tutto anche per windows.
https://i.postimg.cc/GHDq1t8J/audacity-file-M4A-bitrate-istantaneo.png (https://postimg.cc/GHDq1t8J) https://i.postimg.cc/WhZXPzFm/audacity-ffmpegaac-bitrate-istantaneo.png (https://postimg.cc/WhZXPzFm)https://i.postimg.cc/TpbCX1Lc/audacity-neroaac-bitrate-istantaneo.png (https://postimg.cc/TpbCX1Lc)
Come puoi vedere sia usando ffmpeg avanzato sia usando un codec esterno il risultato sarà quello voluto: 128Kbps average. La qualità ovviamente è superiore quella di neroaac rispetto al codec di default di ffmpeg (se non è compilato con fdk-aac allora vedrai solo aac nelle colonne).
Alessandro1970
24-04-2026, 17:20
File > Esporta > Esporta Audio...
Selezioni in basso dal menu a tendina Esportazione FFMpeg personalizzata, una volta selezionato questo, appena sopra ti appare Apri opzioni personalizzate formato FFmpeg, ci clicchi lo apri e c'è una finestrona.
Nella prima colonna cerchi e selezioni mp4 nella seconda colonna si ridurranno le scelte e selezioni aac
Ancora più a destra ci saranno i campi da impostare, solo due campi devi impostare. Qualità: -1 e Bit rate: 128000
Dai ok e ricordati di specificare l'estensione del nome come .mp4
Fine, salvi e tanti saluti. Audacity si ricorderà queste impostazioni per sempre se non le modifichi.
Allora: questo l'ho sempre fatto ed è li' che mi sono accorto del problema. Mi riferivo al dover compilare la libreria col supporto per il codec fhg fdk libfdk.
editi quella riga aggiungi uno spazio infondo e aggiungi proseguendo dopo lo spazio i parametri sopra indicati -ignorelength -cbr 128000 -if - -of "%f.mp4
ok e per un VBR invece che cbr 128 cosa metto?
Perseverance
24-04-2026, 17:44
Intanto rileggi che ho editato il post precedente con nuove info.
ok e per un VBR invece che cbr 128 cosa metto?
Usi il parametro -q invece di -cbr. Il parametro -q accetta numeri da 0.00 a 1.00 usa il punto non la virgola!
-q 0.40 più o meno sputa dai 120 ai 140Kbps salvo file particolarmente strani.
Comunque se devi usare un bitrate medio predeterminato usa -cbr e vivi felice così non avrai sorprese. Come vedi dai grafici CBR non esiste nella pratica. È finito con l'era mp3.
Leggi l'help dell'encoder:
*************************************************************
* *
* Nero AAC Encoder *
* Copyright 2009 Nero AG *
* All Rights Reserved Worldwide *
* *
* Package build date: Feb 18 2010 *
* Package version: 1.5.4.0 *
* *
* See -help for a complete list of available parameters. *
* *
*************************************************************
Usage:
neroAacEnc [options] -if <input-file> -of <output-file>
Where:
<input-file> : Path to source file to encode.
The file must be in Microsoft WAV format and contain PCM data.
Specify - to encode from stdin.
Note that multiple input files can be specified, they will be
encoded together into a single output file with chapter marks
indicating source file divisions.
<output-file> : Path to output file to encode to, in MP4 format.
==== Available options: ====
Quality/bitrate control:
-q <number> : Enables "target quality" mode.
<number> is a floating-point number in 0...1 range.
-br <number> : Specifies "target bitrate" mode.
<number> is target bitrate in bits per second.
-cbr <number> : Specifies "target bitrate (streaming)" mode.
<number> is target bitrate in bits per second.
When neither of above quality/bitrate options is used,
the encoder defaults to equivalent of -q 0.5
Multipass encoding:
-2pass : Enables two-pass encoding mode.
Note that two-pass more requires a physical file as input,
rather than stdin.
-2passperiod : Overrides two-pass encoding bitrate averaging period,
<number> : in milliseconds.
: Specify zero to use least restrictive value possible (default).
Advanced features / troubleshooting:
-lc : Forces use of LC AAC profile (HE features disabled).
-he : Forces use of HE AAC profile (HEv2 features disabled).
-hev2 : Forces use of HEv2 AAC profile
Note that the above switches (-lc, -he, -hev2) should not be
used; optimal AAC profile is automatically determined from
quality/bitrate settings when no override is specified.
-ignorelength : Ignores length signaled by WAV headers of input file.
Useful for certain frontends using stdin.
Alessandro1970
24-04-2026, 17:51
Perfetto, domani provo. Pensavo che il VBR fosse particolarmente utile nel comprimere traccie 5.1 da film dove i surround per esempio avrano senz'altro bisogno di meno bitrate e quindi con VBR può essere distribuito in maniera piu' utile. Faro' 2 prove e se no andro' di CBR.
Perseverance
24-04-2026, 18:07
Nononono, tu fai confusione xkè non conosci come funziona la codifica dei segnali stereo o multicanale nei moderni encoder. Il VBR è una cosa, il bitallocation è un'altra. Il vecchio encoder MP2 aveva una bitallocation fissa per entrambi i canali, ma già dall'MP3 anche in modalità stereo (ancora meglio il joint stereo) ai canali L ed R può venir assegnato un bitrate differente per ogni frame audio anche se in cbr. Negli mp3 solo con l'opzione dual channel il bitrate è esattamente la metà per ogni canale.
Coi moderni encoder aac, ogg, opus, eccetera, questa è la regola di default anche per i flussi multicanale. Non ti devi preoccupare di questo. Se un file è CBR o VBR in ogni caso la routine interna di bitallocation suddividerà a sua volta i bit come gli torna più comodo fra i canali secondo il modello psicoacustico.
--edit--
Visto che usi AAC, io userei l'estensione HE di default forzatamente aggiungendo il parametro -he, se alla fine i dispositivi dove ti interessa riprodurlo sono compatibili, così aumenterai la qualità percepita ancora di più. Secondo me -q 0.45 -he come parametri è il minimo adeguato per una codifica multicanale senza troppi compromessi.
Alessandro1970
25-04-2026, 11:36
ok ho capito tutto, ho provato neroAAC in Audacity con i comandi a linea, sembra funzionare, ma poco dopo si inchioda tutto, provato file e versioni di Audacity diverse.
Mi è anche venuto in mente di implementare il QAAC di Apple come encoder....un incubo.
Non sarà complesso, ma è tutto troppo impegnativo ed approssimativo, ti ringrazio della pazienza ma desisto.
Per file musicali audio stereo: FLAC>AAC uso Foobar2000 con NeroENC qualità massima.
Per audio 5.1: DTS/AC3>AAC carico in Audacity (o MeGUI) (vecchia 3.1.3 con relativa vecchia FFmpeg) mixo o no in 2.0 ed esporto o con FFmpeg personalizzata (con questa versione non canna il bitrate) ad un valore simile allo 0.45 che mi consigliavi (5.1) o altro, oppure esporto in WAV e poi con lameXP comprimo in AAC col NeroAAC e i suoi bei cursorini.
Grazie, ciao.
P.S.: ma NEROAAC non si aggiorna piu'? Non si sa di una libreria piu' recente che non sbagli il bitrate in audacity?
P.P.S.: ho visto adesso che in MeGUI e facile aggiungere FDKaac, bene.
Alessandro1970
27-04-2026, 14:35
con quale programma hai ottenuto il grafico del bitrate che hai postato sopra?
Perseverance
27-04-2026, 15:19
Non è un programma è uno script in bash che usa gnuplot, ffprobe e awk per i calcoli. Nulla di professionale, anzi tutt'altro, ma da quando lo uso per quel poco che ci devo fare mi va benissimo così. Ogni tanto lo ritocco per migliorare qualcosa all'occorrenza ma più o meno quello è.
Ora che me l'hai rimesso in mente, accidenti a te, l'ultima volta che lo abbandonai all'oblio mi ricordo che volevo fare un'aggiunta con un ulteriore grafico una sorta di curva gaussiana di come è ripartito il bitrate in percentuale rispetto alla dimensione del file. Un po' come fa avinaptic testuale coi cancelletti #### , ma poi dissi, caxxo c'è avinaptic, uso quello che non è tanto diverso da come lo vorrei...e quindi non mi sono più rimesso a scrivere codice.
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.