Subtitles · Live vertaling

Ondertitels in jouw taal,
nog voor de zin af is.

Subtitles schrijft op wat je Mac afspeelt. Sinds versie 1.3 kan het dat ook vertalen terwijl het binnenkomt, van elk van de zestien talen die het hoort naar elke andere, op de Mac zelf, via Apples vertaler. Er wordt niets geüpload om te vertalen, en dat was de enige uitvoering hiervan die de moeite van het bouwen waard was.

  • 7 dagen gratis, zonder creditcard, zonder account
  • $19 eenmalig, elke update inbegrepen
  • 14 dagen geld terug, zonder vragen
  • Download voor macOS 14.2 of nieuwer, Apple silicon
  • Beoordeeld met 5.0 op Gumroad

Een gesprek in het Engels, gelezen in het Nederlands, vertaald op de Mac terwijl de zin nog wordt uitgesproken. Houd ⌃ ingedrukt en het Engels neemt zijn plaats in, in de live regel en in elk vakje van de ⌥-stapel, tot je loslaat.

Houd ⇧ ingedrukt en sleep de ondertitels naar een andere plek, net als in de app.

Houd ⌥ ingedrukt en de laatste vakken stapelen zich weer op.

Klik op in de menubalk: de items met Probeer werken allemaal in deze demo.

Drie items in het menu

Vertaal naar staat onder de taalkiezer en begint op “Uit”. Kies een doeltaal en de ondertitels komen vanaf de volgende zin in die taal binnen. Timing van vertaling er direct onder bepaalt wat je ziet terwijl een zin nog gezegd wordt, en dat blijkt het hele ontwerpprobleem te zijn.

Toon beide talen, onder “Uit” in “Vertaal naar”, zet de vertaling en de woorden waar ze uit kwam in hetzelfde vak: de vertaling als ondertitel, het origineel eronder, kleiner. Zet “Luister naar” op de microfoon en twee mensen aan één Mac kunnen een gesprek in twee talen voeren, waarbij ieder de ander in de eigen taal leest; wordt de doeltaal gesproken, dan draait het paar gewoon om.

Vertaling voorlezen, het derde item, leest de vertaling hardop voor zodra elke zin vastligt, met de beste stem die macOS voor die taal geïnstalleerd heeft. Er wordt niets overgeslagen en niets afgeraffeld: loopt de stem achter op een snelle spreker, dan haalt hij dat in tijdens de pauzes. Zolang hij spreekt, zakt het origineel naar een kwart van zijn volume en komt het daarna weer terug, zodat de twee stemmen elkaar niet overstemmen. ⌥⌘. stopt het voorlezen, of leest de laatste regel nog een keer.

Voorlezen staat standaard aan zodra VoiceOver draait, en VoiceOver kan het ondertitelvak voorlezen en de knop erin activeren, zodat je een gesprek of een film in een andere taal kunt volgen zonder iets te lezen. Wat VoiceOver zelf zegt, wordt nooit ondertiteld, vertaald of zachter gezet. Zet het op Altijd om ook zonder VoiceOver voorgelezen te worden.

Met de microfoon en de eigen luidsprekers van de Mac wacht het voorlezen op een pauze, en wie praat terwijl er wordt voorgelezen, wordt nog steeds ondertiteld: de echo-onderdrukking die macOS voor gesprekken gebruikt, haalt de stem van de vertaling uit wat de microfoon hoort. Met een koptelefoon op begint het voorlezen meteen.

En hij blijft staan waar je hem kunt lezen. Een gesprek dat vertaald moet worden is meestal ook een gesprek waarin je doorwerkt: het gedeelde document, de spec, het ontwerp waarover gediscussieerd wordt. De vertaling staat op een overlay boven elk venster en niet in de app waar het praten vandaan komt, dus naar het werk wisselen kost je de woorden niet.

Het Subtitles-menu, met “Vertaal naar”, “Timing van vertaling” en “Vertaling voorlezen” onder “Taal / modellen”
Op macOS 14 ontbreken alle drie de items, in plaats van dat ze grijs staan.

Het lastige is de zin die niemand heeft afgemaakt

Een afgeronde zin vertalen gaat snel: 40 tot 125 ms op deze hardware, wat niets is naast de tijd die iemand nodig heeft om hem uit te spreken. De echte vraag is wat er op het scherm hoort te staan in de seconden voordat het einde er is, en daar is geen antwoord op dat voor iedereen klopt. Dus zijn er twee, en kies jij welke.

Eerst live, dan definitief

De laatste seconde spraak wordt bij elke update opnieuw vertaald en gedimd getoond tot ze vastligt. Gedimde tekst kan nog veranderen; heldere is klaar. Je leest een pagina die grotendeels blijft staan, tegen de prijs dat de nieuwste woorden er voorlopig uitzien, wat ze ook zijn.

Altijd live

Alles wordt bij elke update opnieuw vertaald. Niets loopt achter op wie er praat en niets wordt achtergehouden, en de prijs is dat een regel die je al gelezen hebt onder je vandaan herschreven kan worden zodra de zin bij het woord komt dat hem verandert.

Onder allebei ligt één regel die niet ter keuze staat: er worden hele deelzinnen vertaald, nooit het vak. De overlay breekt een pagina af waar de tekst geen ruimte meer heeft, en dat valt meestal midden in een zin, en een los vertaald fragment verliest de naamval, de geslachtsovereenkomst of een werkwoord waar de spreker nog niet aan toe was. Wat vertaald wordt en wat getoond wordt zijn dus twee verschillende eenheden, en de paginaovergangen komen daarna, in proza dat al klopt.

Een vak dat volloopt en omslaat begint opnieuw bij de laatste deelzin die het liet zien in plaats van bij het woord dat eruit liep, zodat er een regel is om je opnieuw aan vast te haken in plaats van een harde knip. Dat telt alleen als het vak snel omslaat, want een vak dat lang genoeg bleef staan om te lezen had die regel al gegeven.

Houd ⌃ vast en het origineel komt terug

Vertalen neemt je precies dat af waar je naar zat te luisteren. ⌃ vasthouden geeft het terug: het lopende vak en de ⌥-stapel schakelen allebei naar de gesproken taal, precies zo lang als je de toets vasthoudt. De vertaling loopt eronder door terwijl je kijkt, dus bij loslaten kom je terug bij de tekst van dat moment en niet bij de momentopname die je achterliet, en elke taal houdt zijn eigen geschiedenis bij zodat de stapel de twee nooit door elkaar haalt.

Wie de taal leert gebruikt het zo: je eigen taal lezen wanneer je de draad kwijt bent, en de rest van de tijd nergens op drukken.

Elk paar, geen omweg via het Engels

Zestien talen leveren 240 geordende paren op, en die werken allemaal. Daarom is vertalen hier een tweede stap en geen instelling van de herkenner: modellen die vertalen terwijl ze transcriberen zijn getraind naar en vanuit het Engels, dus Frans naar Duits zou via het Engels moeten, en verscheidene van deze talen staan niet eens op hun lijst. Afgeronde tekst doorgeven aan een vertaler die elk paar dekt kost een paar tientallen milliseconden en laat niemand buiten de boot vallen.

Bij automatische herkenning komt de brontaal uit het taallabel van de herkenner zelf, dat na een woord of twee vaststaat, in plaats van de vertaler hem zin voor zin te laten raden.

Nog steeds verlaat niets de Mac

De audio is nooit weggegaan, en de vertaalde tekst evenmin. Het loopt via Apples Translation-framework, dezelfde vertaling op het apparaat die de rest van macOS gebruikt, dus hier zit geen server in, geen API-sleutel om te bewaren en geen account om te hebben. Het netwerk komt er maar één keer aan te pas: als macOS de eerste keer vraagt of het een taalpaar mag downloaden, wat het voor zijn eigen vertalingen ook doet. Daarna staat dat paar op schijf en valt er niets meer op te halen.

Ook hardop voorgelezen blijft alles op de Mac: de stem is er een die macOS geïnstalleerd heeft, en er wordt niets verstuurd om uitgesproken te worden.

Vertaald of niet, er wordt niets weggeschreven tenzij je een transcript bewaart. Een vertaalde ondertitel staat op het scherm en is dan weg, net als een onvertaalde, en de privacypagina is kort om dezelfde reden als altijd.

Goed om te weten voor je erop vertrouwt

  • macOS 15 of nieuwer, alleen voor deze functie. Pas daar zit Apples vertaler in. Op 14.2 ondertitelt de app nog steeds alles wat hij altijd al deed, en ontbreken de drie items in het menu in plaats van dat ze grijs staan.
  • Het vertaalt wat het hoorde, niet wat er gezegd is. Een naam die de herkenner verkeerd verstond wordt braaf als die verkeerde naam vertaald. Fouten heffen elkaar in de tweede stap niet op, en waar nauwkeurigheid het zwaarst weegt helpt het om de gesproken taal vast te zetten in plaats van hem op automatische herkenning te laten.
  • Ondertitels die mensen maken zijn beter, waar ze bestaan. Een vertaling die iemand geschreven, nagelezen en getimed heeft wint hier elke keer van. Dit is voor de audio die er nooit een had: het gesprek, de huddle, het college, de podcast, de video met alleen zijn originele audiospoor.
  • Eén richting tegelijk. Er is één doeltaal, geen paar, dus een gesprek in twee talen wordt naar die ene van jou vertaald, en met ⌃ zie je wat er echt gezegd is.

Vragen over vertalen

Tussen welke talen kan het vertalen?
Elk van de zestien die het ondertitelt naar elk van de andere vijftien: Engels, Spaans, Frans, Italiaans, Portugees, Duits, Nederlands, Turks, Russisch, Arabisch, Hindi, Japans, Koreaans, Vietnamees, Oekraïens en Mandarijn. Dat zijn 240 geordende paren, en geen ervan gaat onderweg via het Engels.
Verlaat de audio mijn Mac om vertaald te worden?
Nee. De audio gaat sowieso nergens heen, en de tekst evenmin: het vertalen loopt via Apples Translation-framework, dat op het apparaat werkt. macOS vraagt de eerste keer misschien of het een taalpaar mag downloaden, net als bij zijn eigen vertalingen, en daarna staat dat paar op schijf. De enige verzoeken die de app nog kan doen zijn een dagelijkse controle op een nieuwere versie van zichzelf, die je kunt weigeren, en een maandelijkse controle van je licentiesleutel zodra je er een hebt.
Wat is het verschil tussen de twee timings?
“Eerst live, dan definitief” vertaalt bij elke update de laatste seconde spraak en dimt die tot ze vastligt, dus heldere tekst is klaar met veranderen en gedimde kan nog schuiven. “Altijd live” vertaalt bij elke update alles opnieuw: niets loopt achter op wie er praat, en alles op het scherm kan nog herschreven worden. “Eerst live, dan definitief” leest rustiger; “Altijd live” laat je nooit een zin achterlopen.
Kan ik de oorspronkelijke taal er ook bij zien?
Houd ⌃ vast. Het lopende vak en de ⌥-stapel schakelen allebei naar de gesproken taal zolang de toets ingedrukt blijft, en de vertaling loopt eronder door, dus bij loslaten zie je de tekst van dat moment en niet de momentopname die je achterliet. Elke taal houdt zijn eigen geschiedenis bij, dus de stapel haalt de twee nooit door elkaar.
Welke macOS-versie heb je nodig om te vertalen?
macOS 15, want daar kwam Apples Translation-framework bij. Ondertitelen werkt nog op 14.2, waar “Vertaal naar” en “Timing van vertaling” gewoon niet in het menu staan, in plaats van grijs.
Is dit hetzelfde als ondertitels bij een streamingdienst?
Nee. Een streamingdienst levert een vertaling die iemand geschreven, nagelezen en getimed heeft, en waar die bestaat is ze beter dan dit. Dit is voor de audio die er nooit een had: een gesprek, een huddle, een college, een podcast, een video met alleen zijn originele audiospoor.

Zestien talen erin, jouw eigen taal eruit.

14 dagen geld terug, zonder vragen

7 dagen gratis, daarna $19 eenmalig, elke toekomstige update inbegrepen · macOS 14.2 of nieuwer · Apple silicon
Onbeperkt live ondertitelen, zolang je de Mac hebt. Geen minuten kopen, geen account, geen abonnement.