Misturar de DTS para estéreo

Tive de misturar uma pista DTS 5.1 para estéreo em formato FLAC. Depois de várias tentativas mal-sucedidas com outros programas, dado que o formato proprietário DTS sem perdas não é fácil, decidi usar o ffmpeg, o qual convertia o ficheiro original, produzindo um ficheiro ainda maior em tamanho que o próprio original, utilizando o comando:

# ffmpeg -i original.wav -acodec flac converted.flac

O resultado pode ser encontrado aqui.

O ficheiro original tinha 34.6MB, o convertido 104.9MB, aí eu duvidei que o ficheiro original não estivesse comprimido. Assim usei o lac para verificar o ficheiro original e verifiquei que este não se encontrava comprimido, tratava-se de pcm linear em formato sem perdas. O problema devia estar no número de bits. Para o truncar usei (16 bits):

# ffmpeg -i original.wav -acodec flac -sample_fmt s16 converted16.flac

O que reduziu o ficheiro a 62MB. A estrutura de canais 3F2R/LFE no entanto continuava.
Assim procurei informação adicional sobre o processo de mistura para 2 canais e encontrei isto, e assim tentei o filtro -ac2 como sugerido:

# ffmpeg -i 'original.wav' -acodec flac -sample_fmt s16 -ac 2 -vol 425 -ar 44100 'ffmpeg_standard.flac'

Utilizei a opção -ar 44100 para ver se existia alguma diferença mas nada foi aparente, o original que utilizei já se encontrava a 44100, e a opção -vol 425 para corrigir o volume que tinha baixado uns 6dB. Este filtro implementa a conversão normalizada tal como descrita no ponto 7.8.2 da norma A/52:2012 implementando a mistura de uma forma que não me agradou, se bem que encurtasse o ficheiro para 24.9MB. Desta vez já só estavam lá 2 canais.
Assim o procedimento normalizado consiste em adicionar -3dB centrais, 0dB frontais e -3dB traseiros em cada canal, omitindo o canal LFE (sub-graves) inteiramente. à procura de uma melhor forma de implementar a mistura sem correcção de volume (obsoleta), acabei por utilizar o filtro pan do ffmpeg, o qual me permite o controle completo do que pretendo fazer:

# ffmpeg -i 'original.wav' -acodec flac -sample_fmt s16 -af "pan=stereo|FL=0.5*FC+0.707*FL+0.5*BL|FR=0.5*FC+0.707*FR+0.5*BR" -ar 44100 standard-3c-0f-3b.flac

o qual produziu este ficheiro, de tamanho 23.4MB, mais ou menos idêntico ao anterior. Todavia não fiquei satisfeito com o resultado da mistura. Não me soava como me soava no VLC, o qual utiliza uma implementação de mistura de 2 canais não normalizada. Falta de separação estéreo, centro excessivo principalmente nas vozes e falta de extremo grave.

Em todos os passos a ferramenta que utilizei para verificar que os meus níveis não estavam ou excessivos ou deficitários, de modo a normalizar os coeficientes foi:

# bs1770gain <nome do ficheiro com extensão> -ismrpt

Decidi tentar uma abordagem diferente. Suspeitei que no meu caso necessitasse de menos centro e um cheirinho do canal de sub-graves LFE. Então tentei:

# ffmpeg -i 'input.wav' -acodec flac -sample_fmt s16 -af "pan=stereo|FL=0.5*FC+0.707*FL+0.5*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.5*BR+0.5*LFE" -ar 44100 'try-6c-3f-3b-6sw.flac'

o que produziu este ficheiro. Ainda com muito centro e desta vez excesso de sub-grave.

Então tentei:

# ffmpeg -i 'input.wav' -acodec flac -sample_fmt s16 -af "pan=stereo|FL=0.25*FC+0.707*FL+0.35*BL+0.25*LFE|FR=0.25*FC+0.707*FR+0.35*BR+0.25*LFE" -ar 44100 'try-12c-3f-9b-12sw.flac'

resultando neste fiicheiro. Falta de centro e o que parecia um correcto nível de graves.

A escolha final foi:

# ffmpeg -i 'input.wav' -acodec flac -sample_fmt s16 -af "pan=stereo|FL=0.35*FC+0.707*FL+0.5*BL+0.25*LFE|FR=0.35*FC+0.707*FR+0.5*BR+0.25*LFE" -ar 44100 'selected-9c-3f-6b-12sw.flac'

resultando neste ficheiro que foi o que acabei por seleccionar como bom.

Espero que isto seja útil para quem quiser tentar a sua própria mistura.

Apêndice:

Em todos os cálculos de coeficientes é assumido que sendo:
at=ganho em dB (se for negativo é atenuação)
coef=valor do coeficiente
at=20*log10(coef)
coef=10^(at/20)

Toda a informação é apresentada tal qual está, sem quaisquer garantias.
Se gostou do conteúdo desta página, não custa nada manifestá-lo abaixo...