Você não pode extrair totalmente os vocais de um arquivo de som sem processar manipulações pesadas.
A questão é que, matematicamente, o software não possui informações suficientes para isolá-lo.
Deixe-me explicar, de uma maneira simples, você pode decompor seu arquivo estéreo como três dados. O som que está puro à esquerda ( L
), o som que é puro à direita ( R
) e o som que é puro meio ( M
).
Se nomearmos os dois canais estéreo X
e Y
, teremos simplesmente:
X = R + M/2
Y = L + M/2
E o que sabemos são X
e Y
, os três outros são o desconhecido que queremos isolar.
A idéia do seu método para remover os vocais é que os vocais são quase sempre na parte do meio. Então você pode simplesmente calcular
X - Y = R - L
Como os dados da direita e da esquerda são totalmente diferentes, não há interferências e isso não parece ruim. No entanto, também remove todos os instrumentos do meio, e se os vocais não estão exatamente centrados, ele não funciona perfeitamente.
O que você quer, é isolar M
, e dado os dados, matematicamente não é possível pela simples combinação dos 2 canais: é um sistema linear de 2 equações com 3 incógnitas, não há dados suficientes para resolvê-lo e extrair M implica resolvê-lo.
Você pode tentar extrair os vocais por meios mais pesados, mas isso vai custar muito tempo e o resultado dificilmente será bom. É muito difícil separar vocais e instrumentos, pois eles estão principalmente na mesma faixa de freqüência.