我想从mp3音轨中删除人声(从歌曲文件中删除签名声音),我将歌曲文件变成字节列表,但不知道如何使用字节删除其声音。
任何人都知道使用字节删除的算法吗?
我读了这篇文章,但是字节还没有离开和向右:
I want to remove vocals from mp3 sound tracks(remove signer voice from the song file), I turned the song file into byte lists but don't know how to remove it's vocal with bytes.
does any body knows the algorithm of removing with bytes ?(I would be happy if you explain with a sample code with any languages [I work with dart]).
I read this article but the bytes haven't left and right :
Algorithm to remove vocal from sound track
发布评论
评论(1)
删除声音并不是那么简单。通常,它是多个技巧的组合,例如频道过滤器,光谱学分析(即您需要使用FFT,更快的转换来切换到频率),等等。
只需“取消”两个频道(即取消相位),如果原始歌曲未正确录制在录音室中,声音是仅 以中心的曲目。如果其他任何东西(例如鼓或低音)也以为中心,那你已经死了。
另外,没有算法可以“开箱即用”工作:您需要设置一些参数才能使其正常工作。
例如,要设置带挡量过滤器:
因此,如果您的歌曲的歌手既是男性的贝斯,又是女性女高音,您需要将所有频率从82到392 Hz Hz降低(雄性)和220至1100 Hz(女性)。因此,最后,所有内容之间的所有内容都不会让太多的乐器剩下!
因此,当每个歌手唱歌时,您需要在时间轴上放置标记,并且仅在短时间内剪裁乐队 - 因此您不会损坏太多乐器。
“正确”的方法应该是在最小的可能持续时间(即人唱歌时)尝试大多数这些技巧。您应该首先开始标记所有这些间隔,以便可以在每个声音序列上尝试每个算法,并仅保留最佳的算法。
但是,如果您已经被“简单”的取消阶段迷失了,那么您可能永远无法从歌声中正确清洁歌曲。这是一个非常高级的信号处理,如果您对信号处理一无所知,将很难应用。
Removing a voice isn't so simple. Usually, it's a combination of several tricks, like band-stop filters, spectrographic analysis (i.e. you'll need to use a FFT, Fast-Fourier Transform to switch to frequencies), and so on.
Simply "substracting" the two channels (i.e. phase cancellation) can't work if the original song wasn't properly recorded in studio, with voices being the ONLY centered track. If anything else (like drums or bass) is ALSO centered, you're dead.
Also, no algorithm would work "out-of-the-box": you'll need to set some parameters in order to let it work properly.
For example, to setup band-stop filters:
So if your song's singers are both a male bass and a female soprano, you'll need to cut all frequencies from 82 to 392 Hz (male) and from 220 to 1100 Hz (female). So finally, everything between 82 to 1100 Hz... That won't let so much instruments left!
So you'll need to put markers on your timeline, when each singer is singing, and cut bands ONLY during these short periods - so you won't damage too much instruments.
The "right" way should be to try most of these tricks, on the tiniest possible durations (i.e. when a human is singing). You should first start to tag all these intervals so that you can try each algorithm on each sound sequence, and keep each time only the best one.
But if you're already lost by a "simple" phase cancellation, you may never be able to properly clean your song from its vocals. It's a quite advanced signal processing, and it will be even harder to apply if you don't know anything about signal processing.