Вы не можете полностью извлечь вокал звукового файла без обработки тяжелых манипуляций.
Проблема в том, что математически у программного обеспечения недостаточно информации для его изоляции.
Позвольте мне объяснить, простым способом вы можете разложить ваш стереофайл в виде трех данных. Звук, который является чистым левым (L
), звук, который является чистым правым (R
), и звук, который является чистым средним (M
).
Если мы назовем два стереоканала X
и Y
, то мы просто имеем:
X = R + M/2
Y = L + M/2
И то, что мы знаем, это X
и Y
, три других - это неизвестное, которое мы хотим изолировать.
Идея вашего метода удаления вокала состоит в том, что вокал почти всегда находится в средней части. Так что вы можете просто вычислить
X - Y = R - L
Поскольку данные справа и слева абсолютно разные, помех нет, и это не звучит плохо. Тем не менее, он также удаляет все средние инструменты, и если вокал не точно отцентрирован, он не работает идеально.
То, что вы хотите, это изолировать M
, и, учитывая данные, это математически невозможно из-за простой комбинации двух каналов: это линейная система с двумя уравнениями с 3 неизвестными, для ее решения недостаточно данных, а извлечение M подразумевает решить это.
Вы можете попытаться извлечь вокал более тяжелыми средствами, но это будет стоить вам много времени, и результат вряд ли будет хорошим. Это очень жесткое разделение вокала и инструментов, так как они в основном находятся в одном частотном диапазоне.