MP3's Loopen

Zenn

Kabelfreak
Lid sinds
31 oktober 2002
Berichten
162
Locatie
Den Bozzz
Hallo
Dit is mijn eerste serieuze post op dit forum, dus ikzal mezelf even heel kort introduceren. Ik heb een klein bedrijfje dat computerspelletjes maakt, zie http://www.littlechicken.nl. Ik ben voornamelijk programmeur en ik maak muziek en audio.

Ik ben weer es een dag kwijt geraakt aan het loopbaar maken van een mp3'tje. Voor die spelletjes die ik maak, maak ik ook de achtergrondmuziek en meestal komt het er op neer dat ik een loopje van 20 sec. tot 1 min maak die een beetje in de achtergrond aan het loopen is.

Het probleem is echter dat mp3s niet of nauwlijks loopbaar te maken zijn. Als begin met een perfect loopende wav (gemaakt met bijv. Soundforge of Cooledit) en als ik die dan convert naar mp3 dan zit er (aan het begin, of aan het einde) een stilte en/of tik in.
Zelfs als ik fruityloops laat exporteren als mp3 (met of zonder wrap of cut reminder) dan heb ik nog in 9 van de 10 gevallen een hik.

Mijn huidige aanpak is alle noten aan het einde van de loop een beat van te voren op te laten houden en verschillende bps-rates probeer totdat ik iets hebt dat bijna loopt en dan met een mp3 frame-editor er 1 of 2 frames vanaf halen. Dan heb ik iets dat voor 95-99% loopt. Niet perfect dus en erg tijdrovend, plus ik kan alleen maar muziek maken met fruitypoops.

Is er een standaardoplossing voor dit probleem?
Weet iemand een progje waarmee je direct mp3s kan editen (dus zondere encode/decode) en voorbeluisteren of ie goed loopt?

De programma's die ik geprobeerd heb zijn: CoolEdit 1, Soundforge 4.5, FruityLoops 3, MP3 FrameEditor, MP3 Butcher, winLAME, Acoustica, WAV2MP3 converter en Magix Music Maker.
 
Ik denk dat direct mp3's editen (met waveform etc) niet kan vanwege de manier waarop de muziek gecodeerd is. Is namelijk heel anders dan PCM, en niet gewoon lineair.
 
Re: MP3's Loopen

Origineel geplaatst door Zenn

Het probleem is echter dat mp3s niet of nauwlijks loopbaar te maken zijn. Als begin met een perfect loopende wav (gemaakt met bijv. Soundforge of Cooledit) en als ik die dan convert naar mp3 dan zit er (aan het begin, of aan het einde) een stilte en/of tik in.
Zelfs als ik fruityloops laat exporteren als mp3 (met of zonder wrap of cut reminder) dan heb ik nog in 9 van de 10 gevallen een hik.

Het niet kunnen loopen van mp3s is een fundamenteel probleem dat gerelateerd is aan de
gebruikte compressie methode. Voor zover ik weet is dat ook niet eenvoudig op te lossen.
Het probleem is als volgt. Voor mp3 codering wordt er een (analyse) filterbank gebruikt
om het signaal in verschillende frequentie-banden op te delen. Binnen elke frequentie band
wordt vervolgens het signaal maar met een beperkt aantal bits gekwantiseerd. Hierdoor treedt
de feitelijke bitrate reductie op. Het bepalen van het aantal bits per band wordt gedaan mbv
een psycho-akoestisch model.

De mp3 decoder krijgt de band-beperkte samples binnen en met behulp van een synthese-filterbank
wordt er weer een volledig audio signaal van gemaakt. Hier zit 'm nu net het probleem. Zo'n filterbank
heeft namelijk een delay. Dat wil zeggen dat er aan het begin altijd een aantal 'nullen' uit komen,
ook al zaten die niet in het oorspronkelijke PCM signaal. Aan het eind wordt er altijd weer iets te veel
signaal uit de filterbank gehaald, om er voor te zorgen dat je aan het eind van het stuk geen signaal
kwijt raakt. Kortom: er zullen dus altijd stukjes 'min-of-meer' nul signaal aan begin en eind van een
gedecodeerde mp3 zitten. Daarom is mp3 ongeschikt voor het maken van loops.

Het zou in principe wel mogelijk zijn om de laatste X samples van de gedecodeerde mp3 file
te crossfaden met de eerste X samples; met een juiste keuze van X is het wel weer mogelijk
om een goede loop te maken. Maar daarvoor moet je wel even aan het programmeren vrees ik...
 
Ik weet niet of je *.ogg bestanden op dezelfde manier in je programma kan gebruiken als *.mp3, maar volgens mij kan je ogg net als wav wel perfect loopen.
 
DJB thanx voor je antwoord.

Voor zover bekend is er dus geen progje dat goed mp3s kan loopen. Hmm misschien dat ik dan idd zelf is aan de slag moet gaan. LAME is opensource dus dat is een aardig begin...

ZMN: Helaas heeft Virtools NU nog geen ogg ondersteuning, maar met een beetje mazzel over een paar maanden wel. Thnx voor de hint... ik zal er om gaan zeiken in hun wishlist.
 
volgens mij is er voor winamp een auto-crossfade functie. Misschien heb je daar wat aan.
 
Back
Top