ID.nl logo
Zo maak je een YouTube-audiospeler
© Reshift Digital
Huis

Zo maak je een YouTube-audiospeler

Muziekstreamingdiensten hebben ten opzichte van traditionele muziekdragers zoals cassettes en cd’s natuurlijk een aantal voordelen. Daarentegen hebben de grote drukknoppen, een verlicht lcd-scherm en de fysieke handeling van het verwisselen van een cd of cassettebandje zo ook wel zijn charme. In dit artikel bouwen we een Raspberry Pi om tot een retroapparaat dat de audio van YouTube-video’s kan afspelen. In plaats van cd’s of cassettebandjes gebruiken we rfid-tags om een specifieke YouTube-playlist te kiezen.

Boodschappenlijstje

  • Raspberry Pi Zero W met sd-kaart en adapter (€ 30,- bij Kiwi Electronics);
  • Adafruit Speaker Bonnet (€ 15,50 bij Kiwi Electronics);
  • 2 speakers, bijvoorbeeld 4 ohm 3 watt (€ 1,95 per stuk bij Kiwi Electronics);
  • PN532 NFC/RFID Breakout Board (€ 17,95 bij Kiwi Electronics);
  • 16x2 LCD Display met I²C-backpack (€ 7,- bij Tiny Tronics);
  • 5 (arcade-)drukknoppen, één eventueel met verlichting (€ 2,50 tot € 7,- bij Kiwi Electronics);
  • (Dupont-)draad in verschillende kleuren (€ 1,25 per 2 meter bij Kiwi Electronics);
  • Een behuizing of kistje waar je alles kunt inbouwen. Dit heb je misschien gewoon in huis. Totale kosten: ca. € 100,-

Het hart van de muziekspeler wordt gevormd door een Raspberry Pi Zero W: een van de meest compacte en goedkope, maar minst krachtige telgen van de Raspberry-familie. Hij heeft gelukkig wel nog voldoende capaciteit om alles te doen wat we willen. We beginnen met het uitlezen van een rfid-tag en het afspelen van een YouTube-playlist die met die specifieke tag wordt geassocieerd. We sluiten ook een lcd-scherm aan. Hierop wordt de titel van de video en het volgnummer uit de playlist getoond. De knoppen dienen voor het starten en pauzeren van de muziek, het kiezen van de vorige en volgende track en het regelen van het geluidsvolume. Omdat een Pi Zero W geen ingebouwde speaker of audio-uitgang heeft, gebruiken we een Adafruit Speaker Bonnet: een 3watt-stereoversterker waar je kleine luidsprekers op kunt aansluiten.

Een Python-script stuurt de elektronica aan. Omdat zoveel verschillende onderdelen een complex geheel vormen, wordt elke functie en elk onderdeel eerst apart getest. Pas als het voor elk onderdeel duidelijk is hoe dit los van de rest functioneert, wordt alles samengevoegd.

©PXimport

Software

We gaan ervan uit dat je een geüpdatete installatie van de meest recente versie van Raspberry Pi OS hebt en dat de Raspberry Pi een werkende wifi-verbinding heeft. Let op: in dit artikel gebruiken we de Lite-versie, want een grafische interface hebben we niet nodig en vertraagt de boel in dit geval alleen maar.

Als je nog nooit eerder een sd-kaartje voor een Raspberry Pi hebt geïnstalleerd, dan verwijzen we je naar de officiële site, waar bij het helpgedeelte een duidelijke handleiding te vinden is.

Vervolgens kun je de software, inclusief kortere scriptjes om afzonderlijke onderdelen te testen, binnenhalen vanaf GitHub. Installeer eerst Git met de commandline-opdracht:

sudo apt install git

Daarna download je de benodigde bestanden met dit commando:

git clone https://github.com/ralphcrutzen/YouTube-audio-player.git

De bestanden worden nu in een map genaamd YouTube-audio-player gezet. Het is handig als ze allemaal naar de home-map worden gekopieerd, dus gebruik het volgende commando nadat de bestanden zijn gedownload:

cp YouTube-audio-player/* ~

Heb je ervaring met Git en ga je daadwerkelijk aan de slag met dit project, dan zijn pull requests natuurlijk van harte welkom!

©PXimport

Geluid via de Adafruit Speaker Bonnet

Voordat je de Adafruit Speaker Bonnet op de Raspberry Pi kunt prikken, zul je eerst zelf de pinnen erop moeten solderen. Eerst de dubbele rij aan de onderkant: dit is de verbinding tussen de Speaker Bonnet en de Raspberry Pi. Daarna een enkele rij aan de bovenkant: deze pinnen zorgen ervoor dat de gpio-aansluitingen van de Raspberry Pi beschikbaar komen zodat we alle onderdelen voor de muziekspeler kunnen aansluiten. Verbind ook de speakers met de Speaker Bonnet.

Als dat klusje is geklaard, is het tijd om software-ondersteuning voor I²S te installeren. De volgende commandline-opdracht downloadt daar een script voor en voert het automatisch uit:

curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash

Op de vraag Activate ‘/dev/zero’ playback in background? antwoord je met N. Daarna moet je de Raspberry Pi opnieuw opstarten en het script voor een tweede keer uitvoeren met behulp van de bovengenoemde commandline-opdracht. Je krijgt nu ook de vraag of je de speakers wilt testen, waarop je uiteraard het antwoord Y geeft.

Als je bij deze test geen geluid hoort, verwijzen we je naar de uitgebreide en duidelijke handleiding op de site van Adafruit. Daar kun je ook terecht als je het hele installatieproces nog eens in wat meer detail wilt teruglezen.

©PXimport

Over I²S en I²C

I²S staat voor inter-IC sound en wordt gebruikt om audiosignalen tussen apparaten te versturen. I²S maakt gebruik van drie verbindingen: word select (WS), clock (SCL) en data (SDA). In het geval van de Adafruit Speaker Bonnet is het alleen van belang dat je weet dat hiervoor de pinnen met de nummers 18, 19 en 21 van de Raspberry Pi worden gebruikt. Die zijn dus niet meer voor andere aansluitingen beschikbaar. I²C is de afkorting van inter-IC bus. Het is een veelgebruikt protocol om elektronica met elkaar te laten communiceren. Zowel het lcd-scherm als de rfid-lezer die we gebruiken zijn I²C-componenten. Een voordeel is dat het slechts twee lijntjes (SDA en SCL) nodig heeft om signalen te versturen. Zonder I²C zouden we 16 verbindingen nodig hebben om het lcd-scherm op de Raspberry Pi aan te sluiten! Een ander voordeel is dat er meerdere I²C-componenten op dezelfde twee SDA- en SCL-pinnen van de Raspberry Pi kunnen worden aangesloten. Elke component heeft zijn eigen unieke I²C-adres.

Zonder I²C zouden we voor het lcd-scherm 16 verbindingen nodig hebben

-

Audio van YouTube afspelen

Nu de Raspberry Pi Zero via de Speaker Bonnet geluid kan afspelen, is het tijd om een Python-script te maken waarmee we naar een YouTube-playlist kunnen luisteren. Daarvoor moet eerst een aantal Python-library’s worden geïnstalleerd: pafy, vlc en youtube-dl.

Met pafy is het mogelijk om een directe link naar de audiostream van een YouTube-video op te halen. Met vlc (dat behalve als python-library vooral bekend is als mediaspeler-software) is het mogelijk om de door pafy verkregen audiostream af te spelen, te pauzeren en het volume aan te passen. Youtube-dl stelt pafy in staat om de audio van YouTube-video’s te streamen.

Om bovenstaande software te installeren, gebruik je de volgende vijf opdrachten op de commandline:

sudo apt install python3-pipsudo pip3 install pafysudo pip3 install python-vlcsudo apt install vlcsudo pip3 install youtube_dl

Je kunt testen of het werkt door het script met de bestandsnaam testpafyvlc.py uit te voeren:

python3 testpafyvlc.py

Het script is te stoppen via Ctrl+C. Eventueel kun je in de programmacode de url vervangen door die van een andere playlist.

©PXimport

Python-scripts uitvoeren

We geven kort uitleg over het bewerken en uitvoeren van een Python-script via de commandline. Python-scripts zijn tekstbestanden met daarin commando’s in de programmeertaal Python. Met het volgende commando start je de teksteditor nano waarbij een leeg bestand met de naam test.py gemaakt en geopend wordt: nano test.py In dit bestand voeg je de volgende twee coderegels toe: *for i in range(10):*print("Hello world!") Daarbij is het belangrijk dat je de tweede regel laat inspringen met vier spaties. Sla het bestand vervolgens op met Ctrl+W en sluit nano af met Ctrl+Q. Om het script uit te voeren gebruik je: python3 test.py Als het goed is, wordt er tien keer de tekst ‘Hello world!’ getoond. Om het script te bewerken, gebruik je weer nano test.py. Extra functies die niet standaard in Python aanwezig zijn, kun je toevoegen met behulp van library’s. Daarvoor wordt het programma pip gebruikt. In dit artikel gebeurt dat bijvoorbeeld bij het installeren van de vlc- en pafy-library’s.

Lcd-scherm aansluiten

Het lcd-scherm is niet alleen handig om het volgnummer in de afspeellijst weer te geven, maar ook om de naam van de video en andere statusinformatie zoals het volume te tonen. Het lcd-scherm dat we gebruiken, maakt gebruik van een I²C-backpack.

Zoals je in het schema kunt zien, heb je vier kabeltjes nodig. De manier waarop je het scherm op de Pi aansluit ligt voor de hand: SDA naar SDA, SCL naar SCL, VCC naar 5V en natuurlijk ook GND naar GND. Op zowel het schermpje als de Speaker Bonnet staan deze aansluitingen duidelijk aangegeven. Het is wel aan te raden om eerst de Pi uit te schakelen met het commando sudo shutdown now en vervolgens de stroom eraf te halen wanneer je dingen gaat aansluiten.

©PXimport

I²C installeren

Om I²C op een Raspberry Pi te kunnen gebruiken en het lcd-scherm aan de praat te krijgen, is aanvullende software nodig. Deze download en installeer je als volgt:

git clone https://github.com/the-raspberry-pi-guy/lcd.gitcd lcdsudo sh install.sh

Aan het einde van het installatiescript wordt de Raspberry Pi vanzelf opnieuw opgestart. Daarna installeren we met de volgende commando’s eerst ondersteuning voor I²C voor versie 3 van Python en een hulpprogramma om te testen of het scherm door de Raspberry Pi wordt herkend.

sudo apt install python3-smbussudo apt install i2c-tools

Voer nu het commando sudo raspi-config uit. Ga naar Interfacing Options / I2C en kies vervolgens Yes om I²C in te schakelen. Keer via Finish terug naar de commandline.

Lcd-scherm testen

Je kunt nu testen of het lcd-scherm wordt herkend met het commando:

sudo i2cdetect -y 1

In de tabel die getoond wordt, kun je het I²C-adres van het lcd-scherm aflezen, in ons geval is dat 27. Dit adres kun je ook terug vinden op regel 25 in het Python-script met de naam lcddriver.py.

Om ons testscript uit te voeren, moet je eerst twee bestanden van de lcd-directory naar de home-directory kopiëren:

cp lcd/lcddriver.py lcd/i2c_lib.py ~

Het lcd-scherm test je met het commando python3 testlcd.py, dat je in het begin van dit artikel bij GitHub hebt gedownload. Stop het script met Ctrl+C.

Als er bij het uitvoeren van het testscript geen tekst op het lcd-scherm komt te staan, kijk dan of het juiste I²C-adres in lcddriver.py staat. Ook moet je ervoor zorgen dat de bestanden lcddriver.py en i2c_lib.py in dezelfde directory als het testscript staan.

©PXimport

Bedieningsknoppen gebruiken

We kijken nu naar hoe je met een Python-script kunt reageren op een druk op een knop. Het voorbeeldscript heet testbutton.py en is een onderdeel van de bestanden die je eerder van GitHub hebt gedownload. Om de gpio-pinnen in een Python-script te kunnen gebruiken, moet er eerst weer een library worden geïnstalleerd:

sudo apt install python3-rpi.gpio

In het testscript gebruiken we de knop met het ingebouwde ledje als schakelaar om het lampje aan en uit te doen. De knop heeft vier aansluitingen: de + en de – voor het lampje en nog twee aansluitingen voor de knop zelf. Sluit de + van het lampje aan op GPIO4 en de – op een GND-pin. De aansluitingen van de knop komen op GPIO27 en een andere GND-pin. Bij knoppen zonder lampje werkt het script trouwens ook, want de status van de lamp wordt tevens op je monitor weergegeven.

©PXimport

Knoppen-jargon: debouncing en interrupts

Door de knop in te drukken wordt er een verbinding tussen de twee pinnen gemaakt, waardoor de spanning tussen de pinnen van 0 naar 3,3 V gaat. Dat gebeurt echter niet netjes en geleidelijk. Integendeel, de spanning springt een zeer korte tijd een aantal keer op en neer. Dat kan tot gevolg hebben dat de knop te gevoelig reageert. Om dit probleem op te lossen, maken we gebruik van een programmeertechniek die ‘debouncing’ heet: als binnen een aantal milliseconden na het moment dat de knop werd gebruikt opnieuw een spanningswisseling wordt waargenomen, dan wordt deze door het programma genegeerd. Op het moment dat je de knop indrukt, wordt in het voorbeeldscript een zogenoemde interrupt geactiveerd. Dat wil zeggen dat er direct op een gebeurtenis (het indrukken) wordt gereageerd, zelfs als het programma nog met andere taken bezig is. Op dat moment wordt er een callback-functie uitgevoerd. Dat is een stukje programmacode dat ervoor zorgt dat er een bepaalde actie wordt uitgevoerd: het lampje gaat aan. In button.py wordt dit alles nog eens toegelicht in de vorm van commentaarregels, beginnend met een #, tussen de programmacode.

Rfid-kaartlezer aansluiten

De rfid-lezer communiceert, net als het lcd-scherm, ook via I²C met de Raspberry Pi. Het handige van I²C is dat je meerdere apparaten op dezelfde pinnen van de Raspberry Pi kunt aansluiten. De aansluitingen die gelijk zijn, worden eerst naar één punt op een breadboard of printplaatje geleid en van daaruit gaan ze naar de Raspberry Pi toe.

Wanneer je beide onderdelen hebt aangesloten, kun je weer met de opdracht sudo i2cdetect -y 1 controleren welk I²C-adres elk apparaat heeft. Bij ons krijgt de rfid-lezer het adres 24 toegewezen. Dit adres hebben we deze keer niet nodig, omdat de software die we in de volgende stap gaan installeren dit automatisch detecteert.

©PXimport

Met I²C kun je meerdere apparaatjes op dezelfde pinnen aansluiten

-

Rfid-tags lezen

Om daadwerkelijk tags te kunnen lezen, hebben we natuurlijk weer een extra library nodig. Installeer deze met:

sudo pip3 install pn532pi

Met het script testrfid.py kun je voor elke tag die je tegen de lezer houdt het unieke ID zien. Noteer deze ID’s, want je hebt ze nodig in de definitieve versie van het script voor de muziekspeler.

©PXimport

Alle hardware samenvoegen

Wanneer je alles in een mooie behuizing (een houten schatkistje bijvoorbeeld) gaat inbouwen, wil je dat alle kabels stevig vast blijven zitten. Het is dan verstandig om geen breadboard te gebruiken, maar alles op een printplaatje te solderen. Deze kun je ook gebruiken voor de GND-aansluitingen van de vijf knoppen en het ledje. Op de foto zie je dat we eerst diverse pinnetjes op een pcb hebben gesoldeerd; hierop worden dan de kabeltjes met Dupont-stekkers aangesloten. Wanneer alles is aangesloten, is het verstandig om de testscrips voor het geluid (testpafyvlc.py), het scherm (testlcd.py), de knop (testbutton.py) en de tag-lezer (testrfid.py) nog eens uit te voeren, zodat je zeker weet dat alles ook nu nog steeds werkt. Want het belangrijkste gaat nu komen: het script dat alles bij elkaar brengt.

©PXimport

Het alles-in-1 Python-script

Het uiteindelijke script dat ervoor zorgt dat alle onderdelen samenwerken heet ytplayer.py. Het gaat te ver om in dit artikel alle programmode in dit bestand toe te lichten. Daarom staan er commentaarregels in de code, beginnend met een hekje #. Daarmee wordt hopelijk duidelijk genoeg uitgelegd hoe het script werkt. Ook vind je rond regel 80 de plek waar je zelf de ID’s van de rfid-tags en de links naar de bijbehorende YouTube-playlists moet invullen. 

©PXimport

Automatisch opstarten

Om ervoor te zorgen dat het script automatisch wordt uitgevoerd zodra de Raspberry Pi is opgestart, moet je het bestand /etc/rc.local bewerken. Gebruik een teksteditor (nano bijvoorbeeld) om dit bestand te doen:

sudo nano /etc/rc.local

Voeg daarna de volgende regel toe aan het einde, maar let er op dat je exit 0 op de allerlaatste regel laat staan.

python3 /home/pi/ytplayer.py &

De ampersand (&) op het einde is belangrijk, want deze zorgt ervoor dat het programma gelijktijdig met de overige opstartprocessen wordt uitgevoerd. Wanneer je dit teken weg laat, zal de Pi niet volledig opstarten.

Gebruik Ctrl+X, dan Y en dan Enter om het bestand op te slaan, en vervolgens sudo reboot om de Pi opnieuw op te starten om te testen of het werkt.

©PXimport

Tot slot

Het is niet lastig om elk onderdeel los van de rest werkend te krijgen, want er zijn veel duidelijke handleidingen op internet te vinden. Maar op het moment dat je meerdere onderdelen wil laten samenwerken, ben je vaak op je eigen creativiteit en vindingrijkheid aangewezen om oplossingen voor problemen te vinden. Vaak lukt dat, maar helaas niet altijd. Het is bijvoorbeeld niet gelukt om te achterhalen waarom het lcd-scherm soms vreemde tekens vertoont. En bij het afspelen van een track zijn de eerste paar seconden nog wat haperingen in het geluid te horen. Maar omdat alle programmacode op GitHub beschikbaar is, zouden die problemen op het moment dat je dit leest misschien al lang door iemand opgelost kunnen zijn.

▼ Volgende artikel
Wanneer is een tv écht te groot voor je woonkamer?
Huis

Wanneer is een tv écht te groot voor je woonkamer?

Iedereen droomt weleens van een thuisbioscoop, maar groter is niet altijd beter. Een te groot scherm kan bijvoorbeeld zorgen voor vermoeide ogen of korrelig beeld. Ontdek hoe zaken als kijkafstand, de resolutie en de kijkhoek bepalen of een televisie daadwerkelijk in je woonkamer past.

In de felverlichte showroom van de elektronicawinkel lijkt die enorme 75-inch televisie waanzinnig indrukwekkend, maar eenmaal aan de muur in een doorsnee Nederlandse doorzonwoning kan zo'n gapend zwart vlak de ruimte volledig domineren. Veel consumenten denken onterecht dat een groter scherm automatisch garant staat voor een betere kijkervaring, ongeacht de afmetingen van de kamer. Toch is er een harde technische grens waarbij groot verandert in té groot, met hoofdpijn en onscherp beeld als direct gevolg. In dit artikel leer je precies hoe je die grens bepaalt en de ideale televisie kiest.

De kern van het probleem: resolutie en blikveld

Het probleem van een te grote tv is niet alleen esthetisch, maar vooral fysiologisch en technisch. Het draait allemaal om de verhouding tussen de resolutie (het aantal beeldpunten) en je blikveld. Zelfs bij moderne 4K-televisies zijn de pixels niet oneindig klein. Als je een enorm scherm neemt en daar te dicht op zit, trek je het beeld als het ware uit elkaar. Hierdoor verliest het beeld zijn scherpte en samenhang; je hersenen moeten harder werken om de losse informatie tot één geheel te smeden.

Een veelgehoorde misvatting is dat je simpelweg went aan elk formaat. Hoewel de eerste shock van een groot scherm inderdaad verdwijnt, blijft de fysieke belasting overeind. Als een scherm meer dan 40 graden van je horizontale blikveld inneemt, kun je niet meer het hele plaatje in één oogopslag zien. Je ogen moeten dan constant van links naar rechts scannen om de actie te volgen, vergelijkbaar met het kijken naar een tenniswedstrijd vanaf de eerste rij. Dat zorgt voor vermoeide ogen en kan op den duur zelfs leiden tot misselijkheid, ook wel 'cybersickness' genoemd.

©Gorodenkoff

Wanneer werkt een groot formaat wél goed?

Er zijn specifieke scenario's waarin een wandvullend scherm niet alleen kan, maar zelfs de voorkeur heeft. Dat geldt vooral als je de televisie primair gebruikt voor hoogwaardige content. Denk hierbij aan films op 4K Blu-ray of streamingdiensten die uitzenden in de hoogste bitrate, en uiteraard gaming op moderne consoles. In deze gevallen is de bronkwaliteit zo hoog dat je dichterbij kunt zitten zonder fouten in het beeld te zien.

Daarnaast werkt een groot formaat goed als de kijkafstand het toelaat. In moderne woningen met een open plattegrond of een loft-indeling staat de bank vaak wat verder van de muur. Als je kijkafstand meer dan 3 meter is, valt een 55-inch televisie al snel in het niet en moet je turen om details te zien. Een 65-inch of groter model herstelt in dat geval de balans en zorgt voor die gewenste bioscoopervaring, waarbij het scherm groot genoeg is om je onder te dompelen zonder dat je individuele pixels ziet.

Wanneer werkt dit níet goed?

De nadelen van een te grote tv worden pijnlijk duidelijk bij 'gewoon' tv-kijken. Veel lineaire televisieprogramma's, zoals het journaal, talkshows of sportuitzendingen via de kabel, worden niet in 4K uitgezonden, maar in Full HD of zelfs nog lager. Een enorme tv vergroot dat signaal genadeloos uit. Op een te groot scherm zie je dan plotseling ruis, compressieblokjes en onscherpe randen die op een kleiner scherm onzichtbaar zouden blijven. Het beeld oogt daardoor onrustig en rommelig.

Ook in de fysieke ruimte kan het tegenvallen. Een tv die uit staat is een groot, zwart en reflecterend vlak. In een compacte woonkamer zuigt een te groot scherm alle aandacht naar zich toe, zelfs als hij uitstaat. Zoiets verstoort de balans in je interieur en kan de kamer kleiner laten aanvoelen dan hij eigenlijk is. Daarnaast is de plaatsing van sfeerverlichting vaak lastiger; een gigantisch scherm blokkeert lichtinval of reflecteert lampen op een storende manier.

©RDVector

Als je té dicht op je televisie zit, kun je de kleurenleds van elkaar onderscheiden.

Dealbreakers: hier ligt de grens

Er zijn een paar harde grenzen die aangeven dat je beter een maatje kleiner kunt kiezen. Als je een van de onderstaande punten herkent, is dat een duidelijk signaal.

Je moet je hoofd fysiek draaien

Als je tijdens het kijken naar een film ondertiteling leest en daardoor de actie boven in het scherm mist, of als je je nek daadwerkelijk moet draaien om van de linker- naar de rechterhoek te kijken, is het scherm te groot voor je kijkafstand. Je verliest het overzicht.

De tv past fysiek niet op het meubel

Dit klinkt misschien logisch, maar wordt vaak genegeerd. Als de pootjes van de tv net aan op de rand van je tv-meubel balanceren, of als het scherm breder is dan het meubel zelf, oogt dat niet alleen goedkoop, het is ook onveilig. Een scherm dat buiten de kaders van het meubel steekt, is enorm kwetsbaar voor (om)stoten.

Je ziet pixels of rastervorming

Ga op je favoriete plek op de bank zitten. Zie je bij normaal HD-beeld een soort hordeur-effect of individuele blokjes? Dan zit je te dichtbij voor dat specifieke formaat. Dat is geen kwestie van wennen; het is een mismatch tussen resolutie, inch-maat en kijkafstand.

Wat betekent dit voor jouw situatie?

Om te bepalen of een tv past, moet je de rolmaat erbij pakken en even kritisch naar je eigen kijkgedrag kijken. De algemene vuistregel voor 4K-televisies is: meet de afstand van je ogen tot het scherm in centimeters en deel dat door 1,2 tot 1,5. De uitkomst is de ideale schermdiagonaal.

Zit je bijvoorbeeld op 2,5 meter (250 cm) van je scherm? Dan kom je uit op een schermdiagonaal tussen de 166 cm (65 inch) en 208 cm (82 inch). Maar let op: dat geldt alleen voor pure 4K-content. Kijk je veel normale televisie (praatprogramma's, nieuws)? Hanteer dan factor 2. Bij 250 cm afstand kijkt een scherm van 125 cm diagonaal (ongeveer 50 inch) dan vaak prettiger en rustiger. Ben je een fanatieke gamer of filmfanaat? Dan kun je de grens opzoeken. Ben je een casual kijker? Kies dan veilig voor een formaatje kleiner.

©BS | ID.nl

In het kort

Een televisie is te groot wanneer het beeld onscherp oogt of wanneer je fysiek je hoofd moet draaien om alles te kunnen volgen. Hoewel een groot scherm indrukwekkend lijkt, vergroot het bij standaard televisie-uitzendingen ook alle beeldfouten uit. De ideale grootte is een balans tussen kijkafstand en de kwaliteit van wat je kijkt. Meet daarom altijd de afstand tussen bank en muur, en wees realistisch over je kijkgedrag. Zo voorkom je hoofdpijn en blijft tv-kijken ontspannend.

▼ Volgende artikel
Microsofts Xbox Developer Direct heeft de code gekraakt
Huis

Microsofts Xbox Developer Direct heeft de code gekraakt

Het is ergens in 2025 als Fable voor het eerst, een soort van, getoond wordt. Beelden volgen elkaar in rap tempo op. We zien de dame die de hoofdrol lijkt te spelen, geen HUD en vooral heel veel mooie filmpjes. Daarna begint het wild speculeren, de klachten over het hoofdpersonage, de vraagtekens over de gameplay. Gelukkig was daar gister de Xbox Developer Direct, waar Microsoft eens te meer bewees de code gekraakt te hebben.

Vóór de pandemie, toen de Electronic Entertainment Expo (E3) nog bestond en online showcases, Directs en State of Plays nog niet echt een ding waren, wisten gameboeren hun spellen prima te verkopen. Ontwikkelaars verschenen op het podium tijdens liveshows, praatten over hun games, speelden live een demo (wat net zo vaak goed als faliekant misging) en dergelijke presentaties werden afgewisseld met teasers, hypetrailers en (nog verder terug) zelfs weleens grafieken en verkoopcijfers. Hoe anders is de wereld anno nu.

Watch on YouTube

Trailers vol trailers

Klaar zitten voor The Game Awards, een gemiddelde Direct, Showcase of Summer Game Fest is leuk, maar niet hetzelfde als ‘toen’. Want de formule is inmiddels bekend. Een half uur, een uurtje, een paar uur lang wordt er de ene na de andere trailer op je hersenen afgevuurd. Wat is ‘reclame’ en wat niet? Geen idee. Standaard zijn de animegames die elkaar zo rap opvolgen dat de gemiddelde kijker niet eens meer weet waar de ene game begint en de ander ophoudt. Meestal zit er een klapper aan het begin, waarna het grote wachten op de klapper aan het einde begint.

Vraag iemand een week later wat ie gezien heeft, en meer dan de helft van de getoonde games is waarschijnlijk uit het geheugen verdwenen.  En al die flarden van beelden zonder fatsoenlijke uitleg leiden vaker wel dan niet tot hetzelfde als die ene soort van trailer van Fable: speculaties, wild geroep en vraagtekens. Het komt de online discussie rondom games niet ten goede.

©Playground Games

Hoe anders was de inmiddels traditionele Xbox Developer Direct. Langer dan een uur, voor maar vier games. Die games kregen zodoende alle tijd, net als de ontwikkelaars. Gameplaybeelden zijn niet aan te slepen, verscheidene modi worden uitgebreid besproken en zelfs de kleinste details krijgen meer dan genoeg ademruimte. Zo horen we tijdens de Forza Horizon 6-presentatie dat het nummer van je eigen hangar (78) gekozen is omdat de game zich afspeelt in Japan, en die cijfers daar een positieve lading hebben. Fijn om te horen hoe scherp het oog voor detail van een ontwikkelaar is. Dat zegt iets over het project. En het is ook iets wat je never nooit in een hypetrailer van anderhalve minuut langs had zien komen.

Trailers vol trailers

En dus zit ik gisteravond te genieten. Niet eens per se van de games, want ze vallen net niet in mijn straatje. Forza Horizon 6 vind ik héél indrukwekkend en de game zal ongetwijfeld miljoenen spelers perfect bedienen, maar ik ben niet zo van het racen. Game Freak - de makers van Pokémon die eindelijk hun vleugels uitslaan met graphics uit dit decennium - komen met Beast of Reincarnation. Het ziet er oké uit. Double Fine vindt in mij ook geen fan en een multiplayer-pottenbakgame (Kiln) is niet iets wat hoog op mijn lijstje stond. Zelfs afsluiter Fable wist me met z’n levenssimulaties ook niet te overtuigen. Maar, nogmaals, wat heb ik genoten. Van ontwikkelaars die ruim de tijd kregen. Van de games, die van alle kanten belicht werden. Van de antwoorden die we kregen.

©Playground Games

Want wat ik nou precies van die games vond, is niet eens zo heel belangrijk. Veel belangrijker is dat iedereen dit keer in ieder geval een uitgebreid beeld kreeg van wat deze games nu precies worden. Een Xbox Developer Direct creëert geen valse hype. Van die vier getoonde games, weten we nu eigenlijk alles wat we redelijkerwijs moeten weten. Zoals bijvoorbeeld dat Fable een character creation-modus heeft, om maar iets te noemen. En plots zie je de discussies rondom de games gaan om… de inhoud. En niet op wilde speculaties rondom hoofdpersonages die helemaal niet vast blijken te staan. Love it.