8
Fjerne vokal fra musik nummer
(lemmy.ml)
Her kan du spørge andre brugere om lige hvad du vil. Intet spørgsmål er for småt og der findes ingen dumme spørgsmål.
Prøv evt.
https://vocalremover.org/
Det virker virkeligt godt. Fedt. Tak.
Fedt. Held og lykke med at lære de unge at rappe.
Som lyd-nørd er det lidt en bitter erkendelse at AI kan gøre det bedre end mig, men mest fordi jeg ikke forstår hvordan.
Rent logisk er det en umulighed at skille lyd ad på den måde. Indtil videre har man gjort det ved at separere frekvenser og placeringen i stereo. Det er på ingen måde en "exact science", og det er måske også derfor AI bedre kan gøre det bedre.
Hvis du ikke antager noget omkring de to lydkilder, ja. Men man kan jo antage meget i en melodi og sangstemme. Altså helt banalt hvis du fx har en tone hver takt og der bliver sunget over en takt så du ikke kan høre tonen, så ved du jo stadig at tonen er blevet spillet. Det er bare svært (nok umuligt) at formulere den slags på en måde der kan kodes ind "i hånden" i et lydredigeringsprogram. Det er vel i bund og grund den slags sammenhænge som modellen lærer til sig.
Nej. Timingen betyder ikke så meget.
Nu rammer du et ømt punkt.
Lyd er rå data. Det er to datasæt: Højre og venstre spor.(Evt. surround og nogle gange kun mono 1 spor, men som oftest 2.)
Alt hvad der sker førhen er blevet destruktivt lagt sammen inden det modtages af lytteren.
At udlede vokalen af et lydspor fra et færdigt spor svarer til at spørge: Hvad består tallet 7 af?
Det kan være 1+6, 2+5, 3+4 og omvendt, men det kan også betyde 2x2+3 eller √64-1 eller mange andre varianter.
Der er uendeligt mange muligheder for at sammensætte et færdigt lydspor, fordi data bliver lagt sammen.
Hvis ikke man har de oprindelige filer, så er det umuligt at fjerne den sammenlægning. De fleste karaoke sange bliver genspillet, og de fleste remixes laves på baggrund af de oprindelige filer.
Nu er det heldigvis sådan at vokalen som oftest ligger i centrum af stereofeltet og indenfor det frekvensspektrum som en mund kan lave, og dermed kan man lave et filter på netop det.
Problemet er bare at det gør stortrommen, lilletrommen, bassen og adskillige andre instrumenter helt sikkert også. (Årsagen til at de lave frekvenser helst og oftest også ligger i centrum er for at undgå fase-udligning mellem højre og venstre spor ved afspilning i stereo).
Instrumenternes frekvenser kan også sagtens overlappe den menneskelige vokals frekvenser, fordi man vælger at kompressere det frekvensspektrum i en multiband compressor med et side-chain input, så vokalen alligevel "overruler" de andre spor. Men når først det er mixet, så er det låst, og så har man bare et frekvensspektrum som består af både vokal og instrumenter. Et mix er altid destruktivt på den måde.
Derfor kan man ikke undgå enten at fjerne for meget eller for lidt, når man kører det gennem stereo filtrering og frekvens-filter.
Man kan gøre det bedre ved at sætte envelopes på effekten så man netop ikke fjerner instrumenterne på de tidspunkter, hvor den ikke er til stede, eller man kan køre gradvis reduktion af frekvens reduktionen efter behov, hvis sangen ændrer sig dynamisk gennem sporet. Men det er mikro-redigering, hvor et menneske skulle bruge uanede mængder af tid for at gøre det optimalt. Det kan en AI helt sikkert gøre bedre.
Det ville teoretisk set også være muligt at lave en Fourier-analyse og få nogle mere brugbare data ud af det med det ene formål at separere det, men det kan et menneske ikke. Det er alt for mange data.
Kunstig intelligens kan muligvis gøre alt det her uden at forklare hvordan.
Ps. Men alligevel jo, din ide er god nok. Man optager hvordan sporet lyder uden vokal og trækker det fra den del som har vokal. Det kan man også, men det konflikter alligevel med frekvenserne.
Jojo, jeg er helt med på at sådan rent teoretisk er informationen væk og du kan ikke genskabe den uden at lave gætteri. Men man kan jo gætte meget når det kommer til musik, det er jo trods alt rytmisk og gentagende i stor grad. :)
For at tage dit eksempel med 7, så svarer det jo lidt til at vi ved at det består af en sum i det her tilfælde og vi allerede ved at den ene del af summen er 3, så kan man godt udlede med noget gætteri at resten af summen er 4. Hvis lydsporene var tilfældig støj og uden nogen sammenhænge så kunne man selvfølgelig ikke gøre den slags gætteri.
Men nu skal jeg nok tie stille så jeg ikke rammer flere ømme punkter 😅
Jo, jo man kan godt optage "lyden af musikken uden vokal" og trække den fra "lyden med vokal" og så få et facit som skulle være "vokal", eller omvendt. Det svarer til almindeligt støj isolation. Det svære er at finde et sted i musikken hvor den er identisk bortset fra vokalen, fordi der altid er et overlap. Generelt så vil det fjerne for meget på den måde.