Estou à procura de algo semelhante, já que estou tentando desmembrar um grande arquivo de músicas, gostaria de manter os arquivos da mais alta qualidade, mas não confie nas taxas de bits usadas.
Eu encontrei fakeflac que parece ser um bom começo. Não deixe o nome enganá-lo, não é específico do FLAC, pois ele converte o arquivo fornecido em wav e opera nele usando um script Python. Ele varre o espectro de freqüência até encontrar o ponto de corte, baseado em um par de heurísticas (aumento de 125% na magnitude em uma faixa de 220 Hz, com uma magnitude menor não superior a 110% daquela em 44100Hz).
Escreve uma "partitura", que é a que ponto do espectro de frequências o cutoff aparece (ou seja, se a frequência reivindicada for 44100Hz, mas cortada a 22050Hz, a pontuação será 50).
Eu tive que mexer com isso um pouco para que funcionasse, por exemplo Eu substituí sndfile-convert foo bar
por ffmpeg -i foo bar
, mas é muito simples e parece ser exatamente o que eu estou procurando.
Você pode usar fakeflac
em um loop para obter as pontuações de uma coleção de arquivos e, em seguida, classificá-las usando ferramentas de shell padrão ( sort
, cut
, etc.).