De vier MP3-kanaalmodi
| Modus | LAME-optie | Hoe het werkt | Gebruik het voor |
|---|---|---|---|
| Stereo (simple) | -m s |
Links en rechts apart gecodeerd, met één gedeelde bitpool | Hard gepand of zeer breed materiaal bij hoge bitrates |
| Joint stereo | -m j (standaard) |
Kiest per frame links/rechts of mid/side | Vrijwel alle muziek |
| Dual channel | -m d |
Twee onafhankelijke kanalen, elk krijgt precies de helft van de bitrate | Twee ongerelateerde signalen, zoals twee talen |
| Mono | -m m |
Eén kanaal; stereo-invoer wordt teruggemixt | Spraak, podcasts, spraakmemo's |
Wat is joint stereo?
Joint stereo in MP3 maakt gebruik van Mid/Side (M/S)-codering. In plaats van het linker- en rechterkanaal afzonderlijk te coderen, maakt de encoder twee afgeleide signalen:
- Mid-kanaal = (Links + Rechts) / 2 — de inhoud die beide kanalen gemeen hebben
- Side-kanaal = (Links − Rechts) / 2 — het verschil tussen de kanalen
Bij de meeste muziek lijken het linker- en rechterkanaal sterk op elkaar (zang, bas en basdrum zijn doorgaans gecentreerd). Dit betekent dat het Mid-signaal het grootste deel van de energie bevat, terwijl het Side-signaal veel stiller en eenvoudiger is. De encoder kan meer bits toewijzen aan het informatierijke Mid en minder aan het dunne Side, wat bij dezelfde totale bitrate leidt tot een betere algehele kwaliteit.
Zo kun je het zien: in plaats van gelijke bits te besteden aan twee bijna identieke kanalen, besteedt joint stereo bits aan wat gemeenschappelijk is (het grootste deel van het geluid) en wat verschilt (de stereobreedte). Dit is inherent efficiënter wanneer de kanalen inhoud delen.
Wat is pure (enkelvoudige) stereo?
Pure stereo (ook wel "enkelvoudige stereo" of "volledige stereo" genoemd) codeert het linker- en rechterkanaal volledig onafhankelijk. De twee kanalen delen nog wel één pool van bits, zodat een druk kanaal kan lenen van een rustig kanaal, maar er wordt niets bespaard op inhoud die de kanalen gemeen hebben.
Alleen de modus dual channel verdeelt de bitrate precies doormidden: bij 128 kbps krijgt elk kanaal 64 kbps. Die modus is bedoeld voor twee signalen die niets met elkaar te maken hebben, zoals twee talen.
Joint stereo vs pure stereo: kwaliteitsvergelijking
| Bitrate | Joint stereo kwaliteit | Pure stereo kwaliteit | Winnaar |
|---|---|---|---|
| 128 kbps | Goed — volledige bandbreedte, efficiënte bittoewijzing | Zwakker — geen besparing op gedeelde inhoud, meer artefacten | Joint stereo |
| 192 kbps | Zeer goed | Goed | Joint stereo |
| 256 kbps | Uitstekend | Zeer goed | Joint stereo (marginaal) |
| 320 kbps | Transparant | Transparant | Effectief gelijk |
Onder 192 kbps is joint stereo objectief beter. De bitbesparingen van M/S-codering zorgen ervoor dat de encoder meer van de daadwerkelijke audio-inhoud kan bewaren. Bij 320 kbps zijn er genoeg bits voor beide benaderingen om transparantie te bereiken.
Wanneer is pure stereo beter?
Pure stereo kan theoretisch meer stereobreedte bewaren in een heel specifiek scenario:
- De opname heeft extreme panning (volledig verschillende inhoud in elk kanaal)
- De bitrate is 256 kbps of hoger
- Het Side-kanaal is even complex als het Mid-kanaal
In de praktijk komt dit vrijwel nooit voor in echte muziek. Zelfs sterk geproduceerde stereomixen delen aanzienlijke inhoud tussen de kanalen. Het scenario waarbij pure stereo wint, vereist inhoud die specifiek is ontworpen om M/S-codering te omzeilen — zoiets als onafhankelijke nummers die in elk oor afspelen.
Automatische joint stereo van LAME
De standaardmodus van LAME is niet simpelweg "joint stereo" — het is automatische joint stereo. De encoder analyseert elk afzonderlijk frame (1.152 samples, circa 26 ms) en kiest de optimale modus voor dat frame:
- Als het linker- en rechterkanaal voor dit frame vergelijkbaar zijn → gebruik M/S-codering
- Als de kanalen voor dit frame sterk verschillen → gebruik onafhankelijke L/R-codering
Dit per-frame schakelen geeft je automatisch het beste van beide werelden. Een nummer kan M/S gebruiken voor 95% van de frames (zang, gecentreerde instrumenten) en overschakelen naar L/R voor de overige 5% (hard gepande gitaarsolo's, stereo-effecten). CleverUtils codeert via libmp3lame van FFmpeg, dat standaard joint stereo gebruikt.
Conclusie: de automatische joint stereo van LAME is de beste keuze voor 99% van de inhoud. Forceer geen pure stereo tenzij je een specifieke, geverifieerde reden hebt. OGG Vorbis en AAC gebruiken vergelijkbare stereokoppelingtechnieken — dit is gangbare praktijk in alle moderne lossy codecs.
De mythe ontkracht
"Joint stereo = lagere kwaliteit" is onjuist. Deze mythe is ontstaan in de begintijd van MP3, toen sommige encoders een eenvoudigere vorm van joint stereo gebruikten, genaamd intensity stereo, wat de kwaliteit wel verlaagde door hoogfrequente inhoud tussen kanalen te delen met slechts een richtingsaanwijzing. Moderne LAME-encoders gebruiken op normale bitrates pure M/S-stereo (geen intensity stereo), wat wiskundig verliesvrij is in het stereodomein — je kunt L en R perfect reconstrueren uit M en S.
De M/S-transformatie zelf verliest geen informatie. Alle besparingen komen voort uit efficiëntere bittoewijzing, niet uit het weggooien van stereodata. Wil je zien hoe de encoder bepaalt welke geluiden wegvallen, lees dan hoe MP3-compressie en het psychoakoestisch model werken.
Joint stereo of stereo kiezen in Audacity en FFmpeg
- Audacity: Bestand → Audio exporteren, kies MP3 en zet Channel Mode op Joint Stereo of Stereo. Joint Stereo is de standaard.
- FFmpeg: joint stereo staat standaard aan bij libmp3lame. Voeg
-joint_stereo 0toe om simple stereo te forceren. - LAME-opdrachtregel:
lame -m jvoor joint stereo,-m svoor stereo,-m mvoor mono. Heeft een opname helemaal geen stereobreedte, dan legt mono vs stereo MP3 uit wanneer één kanaal de slimmere keuze is. - CleverUtils: MP3-bestanden die je hier maakt, gebruiken joint stereo. Er is geen schakelaar, omdat het voor vrijwel al het materiaal de betere keuze is.