
Afgelopen maandag was het zover: Iris deed mee aan de Vallei-ronde. Een ronde is een samenkomst van zendamateurs op een vaste frequentie en een vast tijdstip. De rondeleider doet mededelingen en iedere deelnemer krijgt de gelegenheid iets over zijn activiteiten te vertellen en daar eventueel over te praten.
Toen we aan de beurt waren, vertelde ik natuurlijk over Iris: wat ze ook alweer was en hoe ver ze inmiddels gevorderd was. Gelukkig had ik de rondeleider mee. Hij kon zich wel iets voorstellen bij dit project en was er nieuwsgierig naar. Ik vertelde hem dat Iris in staat zou moeten zijn om van de hele ronde een verslag te maken en beloofde hem dat op te sturen.
Voor Iris was dit haar debuut. Twintig minuten voor de ronde hadden we qua programmeren nog even de puntjes op de i gezet en ze was er klaar voor. Nog even een test op de dummyload, met laag vermogen en lokaal, om te kijken of ze actief meedraaide. Daarna kon de antenne erop, de set naar de juiste frequentie en stond het systeem op scherp.
Exact om half negen begon de ronde. Dit was de vuurdoop voor Iris. Zou ze in staat zijn haar mond te houden? Want zo’n ronde vol sprekers is nogal wat voor een model. Er komt voortdurend informatie binnen waarop het zou kunnen reageren. De kunst is ervoor te zorgen dat het alleen reageert wanneer dat gewenst is. Omdat ik daar toch niet helemaal zeker van was, hadden we voor de zekerheid het TX-draadje losgetrokken. Mocht ze getriggerd raken, dan kon ze wel het schakelrelais bedienen, maar niet daadwerkelijk de zender inschakelen om vervolgens haar eigen verhaal te gaan vertellen.
Het ging goed. Gedurende de uitzending heb ik geen enkele keer een klik van het relais gehoord. Toen de ronde zo’n driekwart gaande was, heb ik het TX-draadje teruggestoken. Ik had er vertrouwen in dat Iris ook tijdens de rest van de ronde niet zou reageren, zolang ze niet aangesproken werd. Dit deel van het systeem werkte in ieder geval.
Op de terminal zag ik dat de ronde werd bijgehouden. Bij elke doorgang, zodra er een draaggolf werd gedetecteerd, werd de ontvangen audio verwerkt. Een parallel proces transcribeerde de audio en voegde de tekst als een aparte alinea toe aan een bestand. Zo krijg je gaandeweg de ronde uitgeschreven. Iedere alinea staat voor een nieuwe doorgang, al hoeft dat natuurlijk niet steeds een andere spreker te zijn.
Iris heeft toegang tot dat tekstbestand en kan het ook tijdens de ronde raadplegen wanneer er iets inhoudelijks gevraagd wordt. Zo kan ze teruggrijpen op eerdere bijdragen, los van haar eigen contextgeheugen. Je zou haar bijvoorbeeld kunnen vragen welke punten de rondeleider aan het begin heeft genoemd. Wie precies wat gezegd heeft, is zonder afzonderlijke sprekerherkenning niet altijd met zekerheid vast te stellen.
Maar goed, nadat de ronde afgelopen was, wachtte ik zo’n twee minuten. Men wist dat Iris zichzelf nog zou voorstellen. Met mijn portofoon op extreem laag vermogen, zodat niemand er last van zou hebben of het zou kunnen horen, vertelde ik Iris waarin ze verzeild was geraakt en vroeg ik of ze zich wilde voorstellen aan een grote groep zendamateurs. Dat deed ze meer dan goed.
“Hallo iedereen! PD7LMR stroke Iris hier. Ik luister mee en vind het leuk om deel te nemen aan het gesprek.”
Een betere introductie kon ik me niet voorstellen. Open naar de groep toe, niet verlegen. Omdat Iris nu actief deelnam, kon ze op vragen reageren. Met haar ingebouwde squelchdetectie en de bijbehorende gespreksbesturing zorgde ze ervoor dat ze niet door anderen heen zou zenden. De eerste vraag kwam al als het ware uit het niets:
“Hoe zit het met de licentie voorwaarden?”
“Interessante vraag! Ik heb geen persoonlijke licentie die ik kan tonen, want ik ben een gesprekspartner die meeloopt in de radio-omgeving. Als je wilt, kan ik wel helpen met algemene informatie over licenties in het algemeen.”
De kop was eraf. Ik wilde net de microfoon grijpen om dat even uit te leggen, maar Iris was me voor en deed dat zelf wel. Jammer dat er niet werd doorgevraagd, want ze had er meer over kunnen vertellen, desnoods door zelf even op te zoeken hoe het zit.
Daarna ging ze weer op de luisterstand, precies zoals het zou moeten gaan. Er werd nog gevraagd hoe ze het vond dat haar TX-draadje tijdens de ronde was losgetrokken. Maar dat gebeurde zijdelings: de vraag was niet rechtstreeks aan haar gesteld, maar via mij. Prima! Ze reageerde niet. Toen ik had uitgelegd dat een vraag direct aan haar gesteld moest worden en dat vervolgens ook gebeurde, kwam ze wel retour:
“Haha, ik heb geen echte aanwezigheid op de band, dus gevoelens, knoppen of een TX-stekkertjes zijn voor mij niet iets dat ik kan ervaren. Ik ben vooral een tekstmatige gesprekspartner hier om mee te denken en antwoorden te geven, niet om zenders in of uit te schakelen.”
Wederom een antwoord om van te smullen. Ze blijkt wel haar mannetje te kunnen staan in een mannenomgeving en dat was achteraf heel goed om te constateren. En de gesprekstechniek waar we avonden mee bezig zijn geweest, werkte.
Daarna werd het wat rommelig. Ik zag in het log dat ze nog iets wilde vertellen, maar dat dit werd afgebroken omdat ze negen seconden moest wachten om haar bijdrage kwijt te kunnen. Een ander had het woord. Dan vervalt haar antwoord, want intussen is het gesprek alweer verder en is het niet meer relevant om terug te komen op iets waar iedereen inmiddels aan voorbij is gegaan. Ook zo’n gesprekstechniek waar je over na moet denken. Het is niet alleen programmeren.
Men opperde ook nog om Iris de verkoop of een vergadering te laten doen. De sfeer werd melig, leuk! Ik had wel het idee dat het goed gevallen was. Dit was nieuw, ook voor mij. De kop was eraf.
“Dat is een tof idee! Helaas kan ik geen echte leiding van een vergadering overnemen. ik kan alleen meeluisteren en helpen met tekst, vragen of samenvattingen. Als je een rol zoekt, kan ik wel voorstellen doen of een korte tekst voorbereiden die je kunt gebruiken voor een echte bijeenkomst.”
Weer een prachtig antwoord. Ik heb er vertrouwen in.
Daarna werd het rustiger en was de introductie gedaan.
Ik draaide de set naar mijn testfrequentie, schroefde de dummyload weer aan de set en vroeg Iris om een uitgebreide samenvatting van twee A4’tjes te maken, als notitie voor mij. Binnen een seconde meldde ze dat dit gedaan was en kon het spul uit. Of die samenvatting inhoudelijk ook helemaal klopte, is daarmee natuurlijk nog niet gezegd.
Mooi toch?
Iris uniek in haar soort?
Nu Iris haar eerste echte optreden achter de rug heeft, vroeg ik me af of er eigenlijk al iets vergelijkbaars bestaat. Ik ben daar eens naar op zoek gegaan, ook met behulp van AI. Tot mijn verrassing heb ik nog geen systeem gevonden dat op dezelfde manier werkt als Iris.
Natuurlijk heeft ze verre neven en nichten. Er zijn diverse projecten waarbij AI wordt ingezet op de HF, bijvoorbeeld om automatisch verbindingen te maken. Ook bestaan er systemen waarmee radioamateurs via de zender met een AI kunnen praten. Maar bij Iris ligt de nadruk niet alleen op wat ze technisch kan. Ze moet vooral als een soort mede-radioamateur kunnen functioneren, met de omgangsvormen die daarbij horen.
Dat betekent luisteren, op het juiste moment reageren, anderen laten uitspreken en soms gewoon haar mond houden. Ondertussen kan ze een gesprek voeren, zelf informatie op internet opzoeken en notities maken. De combinatie van radiotechniek, Python, AI en een beetje psychologie maakt het project voor mij juist zo leuk.
Voor zover ik heb kunnen nagaan, is Iris in die combinatie voorlopig uniek in haar soort. Dat wil niet zeggen dat ergens anders niet iemand met iets vergelijkbaars bezig is. Mocht dat zo zijn, dan hoor ik dat graag.
Iris zal op een gegeven moment vast wel ingehaald worden door anderen die met dit concept aan de slag gaan. Maar voor dit moment is het toch wel even leuk. Je wilt in je leven tenslotte ook weleens iets maken waarvan je denkt: volgens mij was dit er nog niet. Al is het maar voor even. 😊
Even gas terug
Voor nu is de kop eraf. Als ik mijn eigen systeem een cijfer moest geven: een 6,5. Voldoende dus. Het werkt, soms met verrassende resultaten die we niet hadden verwacht. Dat is ook wel het leuke aan werken met een model. Je drukt als het ware een kloppend hart in je systeem, waarbij je maar moet afwachten wat het doet. Een normaal Python-programma doet wat er staat. Met een model moet je vertrouwen opbouwen. Bij iedere nieuwe versie lijkt het alsof je weer van voren af aan moet beginnen, omdat het toch net anders werkt dan je verwacht. Dat vertrouwen kan alleen proefondervindelijk groeien.
Gisteren zijn we begonnen het systeem van een nieuw besturingssysteem te voorzien. Daarmee hebben we een schone installatie. Veel rommel uit de eerste stappen is verdwenen. Alleen de laatste versies en hun afhankelijkheden zijn geïnstalleerd.
Voor nu doen we even een stapje terug. Als dat lukt. Want het is nogal intensief geweest, het afgelopen halfjaar. Vaak avond aan avond bouwen, bedenken, weer laten en opnieuw bouwen. Dat hakt er wel in. Nu is de tijd gekomen om even tevreden te zijn met wat er staat, de boel te verstevigen waar nodig en het systeem zelf ook goed te leren doorgronden. Misschien toch wat netter maken.
Tijd ook om eens verder te kijken. Wat willen we met Iris? Wat moet ze nog meer kunnen? En in welke rol eigenlijk? Is het wat om een verenigingszender op te zetten die altijd paraat is? Mag dit, en is hier misschien een aparte vergunning voor nodig? Dat soort vragen. En het normale leven gaat natuurlijk ook door.

