Como verificar se uma faixa está em mono ou estéreo?

2

Às vezes, tenho que verificar usando um método confiável se uma faixa de áudio for gravada em mono ou estéreo, especialmente ao pesquisar álbuns de música antigos.
Eu tenho uma razão para acreditar que o Audacity não conta isso ao abrir um arquivo ( remasterização mono de 2009 de Please Please Me pelos Beatles é exibido como estéreo.

    
por user598527 12.06.2017 / 14:06

2 respostas

1

Como mencionado nos comentários, há uma diferença fundamental entre um arquivo estéreo e gravação estéreo.

Nada nos impede de criar um arquivo que tenha canais estéreo alimentados por uma única fonte de áudio. Padrão para gravações antigas remasterizadas para CD.

A maneira típica de se ter uma idéia de se um arquivo estéreo realmente contém conteúdo estereofônico é calcular a soma quadrática do número de passagens-zero por segundo em ambos os canais. Eu não sei, se o Audacity ou outras ferramentas de software livre tiverem esse bilt-in.

Acontece que o olho humano é bom em detectar diferenças de canal, então se o número de gravações para checar é baixo, um gráfico de onda (como produzido por audácia) deve lhe dar uma boa sensação, seja este estereofônico ou não.

    
por 12.06.2017 / 14:30
2

Uma maneira de saber se um arquivo estéreo tem a mesma faixa mono em ambos os canais é invertendo um dos canais (por exemplo, o esquerdo) e então adicioná-lo com o outro canal. (Portanto, estamos procurando pela coerência de fase )

Eu não uso audácia com muita freqüência, então eu não sei se é capaz de fazer uma coisa dessas, mas aqui está uma pequena sintaxe do FFmpeg que faz o que você quer:

ffmpeg -i 'is_this_stereo.wav' -filter_complex "stereotools=phasel=1" -ac 1 'output.wav'

(Também funciona com outros codecs de áudio - a saída de um formato sem perdas, como o WAV, garante que a codificação não exclua nada)

O que esse script FFmpeg faz: Ele inverte a fase do canal esquerdo e, em seguida, soma ambos os canais em um novo canal.

Em vez de -ac 1 , você também pode alterar o filter_complex -chain para stereotools=phasel=1[tmp];[tmp]pan=1c:c0=0.5*c0+0.5*c1 . Eu não acho que isso seja necessário, no entanto.

Se você olhar o arquivo recém-criado e vir uma linha reta na forma de onda, o canal esquerdo do arquivo original será exatamente igual ao da direita. Se houver apenas picos muito pequenos (digamos, em torno de -60dB ou menos), a diferença provavelmente é causada apenas pela codificação de artefatos - apenas ouça-o para ter certeza .

Fontes de código:

por 12.06.2017 / 15:00