Studie piezo-models

studie piezo-models – 1992
a composition for 768 piezo-elements
duration 11:28

piezo

Inleiding

Bij deze elektroniese studie heb ik geprobeerd om in zekere zin terug naar af te gaan, terug naar de basis van geluid, met een minimale interpretatie tijdens de weergave van de door mij gekomponeerde klankmodellen.
De basis van geluid is de simpelste trilling : 1 & 0, hoog/laag, naar voren en dan weer naar achteren.
In een artikel in het tijdschrift ‘Radio & Electronics World’ werd de werking van een zeer primitief geluidsvoortbrengertje uitgelegd: het piezo-keramiese element. Bij iedereen bekend als het piepje, hoorbaar bijvoorbeeld tijdens konserten afkomstig uit horloges, stopwatches, of als waarschuwingssignaal uit magnetrons, zoekgeraakte sleutelhangers, videogames, alarm-buzzers.
(En natuurlijk balloon speakers, game beepers, talking stuffed dolls and animals, talking books, talking posters, talking magazines, talking greeting cards, singing flags, singing t-shirts, pillow speakers, etc.)

Een piezo-element is een stukje keramies materiaal waarbij elektriese input direkt leidt tot een mechaniese aktie; wanneer je de polariteit van de spanning omdraait deformeert het materiaal, en dat hoor je (klik!).
Aan drie ‘grids’ hangen 256 (dus in totaal 768) piezo’s, die elk onafhankelijk in trilling kunnen worden gebracht, per grid kunnen 4 verschillende geluiden tegelijk klinken, en plaats en aantal zijn eveneens eksakt komponeerbaar.

De grids – grote ellipsvormige tennisrackets – staan op standaards, en kunnen deel uitmaken van het ‘Corenicken’-konsert, hoeft niet.

Met dank aan de gemeente Den Haag, de gemeente Amsterdam, Fonds voor de Podiumkunst, het Fonds voor de Scheppende Toonkunst, alle Corenicken medewerkers, Roy Schilderman, Aart Braun, en het ministerie van Justitie, ruimte en rust om te kunnen werken.

Konsept-konseptontwikkeling -> struktuur -> kompositie

Een stukje materiaal wat geluid maakt door simpelweg de polariteit van de spanning om te draaien. Terug naar 1 en 0 lijkt me vrij primair, terug naar de basis, om van daaruit nieuwe klankvormen te ontwikkelen.
Geluid – trilling. Trilling dmv bijv sinus-golven is een funktie in de tijd, een beweging, golfbeweging. De digitale 1 of 0 is een staties gegeven, die, door in de tijd te laten wisselen (echt komponistenwerk), tot funktie in de tijd wordt: de pulsfunktie, de pulstrein.
Tijdens de ontwikkeling van elektronies klank-materiaal/elektroniese muziek wordt meestal gewerkt met reeds gefabriceerd basismateriaal, voorgefabriceerde elektronika, en luidsprekers om het gesynthetiseerde geluid uiteindelijk geinterpreteerd weer te geven. (Bij luidsprekers wordt de spanning met veel stappen ertussen omgezet tot geluidsenergie, zodat de oorspronkelijke bron ‘geinterpreteerd’ wordt weergegeven.)

Mijn hoofddoel, basiskonsept : zo min mogelijk interpretatie (interpretatie: afhankelijkheid voor de komponist). Het gaat om de pure beweging, de trilling. Het in trilling brengen van piezo-keramies-materiaal is een zeer simpele vorm van spanning omzetten in geluid, zonder interpreterende troep daartussen (een piezo-element trekt zo weinig vermogen dat het direkt is aan te sturen met logiese elektronika).
Het werken vanuit de kleinste basis. Niet gerelateerd aan en onafhankelijkheid t.o.v. bestaande systemen. Dit leidt uiteindelijk tot een nieuwe geluidservaring, het resultaat is hoorbaar.

regels en beperkingen – datacompressie

Op zich is het werken met komputer-logika en piezo-elementen, in plaats van div. elektroniese apparatuur om klanken te genereren en speakers om weer te geven, al een vorm van compressie, het is een relatief zeer primitieve manier om elektronies geluid op te wekken. Materiaalcompressie. Maar ook het frekwentiebereik en het dynamies bereik is erg klein.

Datacompressie is een uitdrukking voor verschillende methoden om een grote hoeveelheid data – gegevens, getallen – in een gecomprimeerde vorm op te slaan.
(Als je bijvoorbeeld digitale beeldinformatie pixel voor pixel moet opslaan om een simpel animatiefilmpje met al die getallen samen te stellen, ben je al snel vele mega- en giga-bytes aan geheugen kwijt. Het kan wel, maar is wat onprakties.)
Een belangrijk argument voor datacompressie is vaak dan ook de beschikbare geheugenruimte, meestal ivm financiele middelen: een groot uitgebreid komputersysteem heeft meer geheugen en is duurder.
Om data te comprimeren hanteert men verschillende methoden. Een methode die gehanteerd wordt bij bijv. komputeranimatie, is om slechts de gegevens, de getallen, die veranderen op te slaan.
Een ander voorbeeld: de reeks 1-2-3-4-5-6-7-8-9-10-… kan ook als funktie worden opgeslagen x=(x+1). Dat scheelt een hoop ruimte.Data-kompressie : ruimte besparing.
Een vorm van grote-hoeveelheid-informatie – beheersing.

Zoals uit bovenstaand getallenvoorbeeld blijkt is het omschrijven van een bepaalde proces mbv een funktie/algoritme een vorm van datacompressie.

struktuur – kompositie

Het werken van klein naar groot.
Het synthetiseren van klanken vanuit simpele funktie-modellen.

Wanneer je een kompositie gaat maken voor 768 piezo’s, en de geluiden worden opgebouwd uit enen en nullen, dat worden dan giganties veel enen en nullen.

1-Het omschrijven van processen als funkies.

Vanuit de kleinste basis – de enkelvoudige klik, de 1/0 – gestart ben ik begonnen met het samenstellen van een lijst van basis-puls-funkties.
Kleine programmaatjes om een puls te genereren, met voor elke funktie 2 instelbare parameters, nl. de start-puls-breedte en de totale duur, de lengte van de pulstrein.
Op die manier is op eenvoudige wijze een komplexe pulstrein samen te stellen, nl door meerdere stukjes puls-funktie achter elkaar te plaatsen.
Ik heb een selektie van basispulsfunkties gemaakt en ze gerangschikt op volgorde van komplexiteit.

2-Het aaneenkoppelen van pulsfunkties tot
modellen -> synthese.

Door vervolgens stukjes basis-puls-funktie te kombineren, heb ik een aantal ‘modellen’ samengesteld.
Deze modellen varieren van simpel tot zeer komplex.

3-Sorteren en koppelen van modellen en events, komponeren.

De modellen heb ik op komplexiteit ingedeeld, om er groepen van samen te stellen, waar uiteindelijk de kompositie uit bestaat.
Dynamiek, beweging van het geluid over de grids (events, die ook weer in verschillende modellen gerangschikt zijn), het geheel wordt in een vorm gegoten.

pulsfunkties selektie
rangschikking op basis
van komplexiteit
indeling basispuls- funkties

modellen selektie
berekenen van
komplexiteit ->
indeling modellen

groepen dynamiek
events
het kombineren van
groepen modellen ->

kompositie.

Door deze aanpak is de materie, ondanks de dreigende komplexiteit vanwege de enorme hoeveelheid mogelijkheden wanneer je de 1 en de 0 als basis kiest, beheersbaar gebleven.
(Wanneer ik een beetje op mijn gevoel had zitten klooien en wat ‘mooie’ geluidjes had gemaakt, was ik nooit dezelfde hoeveelheid en zulk rijk materiaal tegengekomen.)
Dat wil niet zeggen dat alle mogelijkheden volledig uitgeput en behandeld zijn. Tijdens het creeeren van funkties, het samenstellen van de modellen is er kontinu sprake van een selektie-procedure, met als belangrijkste criterium duidelijkheid, en de herkenbare verschillen tussen modellen onderling.

De kompositie bestaat uiteindelijk uit 8 model-groepen, gerangschikt op basis van komplexiteit van ieder model.
(Komplexiteit wordt voornamelijk bepaald aan de hand van de hoeveelheid instrukties nodig om desbetreffende pulsfunkties te genereren.)

Hardware
Een speciaal voor deze kompositietechniek eigen ontwikkeld hardware systeem.

De keuze : een stuk voor 1 piezo of meer ?
Ik kies voor meer. En dan zoveel mogelijk.
Het minimale kompositoriese programma van eisen, op basis waarvan gestart kan worden met de ontwikkeling van de hardware, ziet er dan als volgt uit:

-veel piezo-elementen verdeeld over 3 grids,
-minimaal 4 geluiden per grid die onafhankelijk van elkaar tegelijk kunnen klinken (3*4-stemmig),
-hoogste frequentie in ieder geval 10 kHz – dit heeft direkt betrekking op de keuze/snelheid van de te gebruiken microprocessor,
-verschil in dynamiek, hard en zacht,
-1 of meer piezo’s, of allemaal etc. Dit moet volledig software bestuurbaar zijn, en het aansturen moet een dusdanige snelheid hebben dat piezo-elementen na elkaar aan en uit gezet kunnen worden, zodat een geluid als het ware over het grid kan bewegen, van de ene piezo naar de volgende,
-financiele haalbaarheid.
(Het laatste punt is hier en daar zeer doorslaggevend geweest voor bepaalde keuzes tijdens de hardware-ontwikkeling.)

kompositie

hardware

software

konstruktie :
Door middel van akoestiese experimenten wordt de afstand tussen de piezo’s bepaald: de minimale afstand om toch duidelijk verschil in richting waar te nemen, maar wanneer de elementen exakt gelijk trillen, klinkt het als een geheel vlak.
Achter elk metalen plaatje komt een extra akoesties ‘schildje’, om het volume nog wat op te krikken, de keuze valt, na div. onderzoekingen, op een dik type aluminium-folie.
Uiteindelijk is nodig voor de konstruktie :
-5 km montagedraad
-ongeveer 28.000 soldeerpunten (ook voor printplaten)
-rattestaarten, pvc buis, staalkabel etc.
-1 studentenverdieping.

elektronika :

(zie ook schema’s)
Het blijkt niet haalbaar om met behulp van slechts 1 komputer de vereiste snelheid voor zowel de minimale frekwentie voor 4 onafhankelijk te generenen pulsfunkties, als ook voor het onafhankelijk aansturen van de elementen om er klankbewegingen over de grids mee te kunnen maken, te bereiken.
De oplossing wordt gevonden in de vorm van twee kleine Z8-komputertjes, die aan elkaar gekoppeld kunnen worden, en, in verband met de ontwikkeling van funkties/modellen/kompositie, software-dumps kunnen ontvangen en uitvoeren dmv bijv. MIDI. Deze komputers moeten zelf ontwikkeld worden.
De keuze van Z8 microcontrollers is een ekonomiese, ze voldoen zoals wel meer microcontrollers aan de kommmunikatie-eisen, snelheids-eisen, en zijn relatief goedkoop.

De sound-komputer draait op 16mHz, deze kan 4 geluiden-pulstreinen- tegelijk genereren, en de
event-komputer draait op 12mHz, deze laatste bepaalt welke piezo op welk moment welk geluid maakt,

dus : wanneer uit welke piezo welk geluid klinkt.
| | |
duration 0-255 A,B,C of D

software

Voor elk stadium moet eigen ontwikkel-software geschreven worden, in Z8 machinetaal.
Allereerst de software voor het kreeeren van div. pulsfunkties, vervolgens software om modellen samen te stellen, dan voor de ontwikkeling van de totaal-kompositie, en de uiteindelijke kompositie komt in EPROM te staan, zodanig, dat bij aanschakelen van de spanning het stuk vanzelf start.
(En voor integratie binnen het ‘Corenicken’-projekt heb ik speciale software geschreven: MIDI-aanstuurbare models.)
Al deze ontwikkel-software kan bijv. vanuit de Atari via MIDI overgezonden worden naar een in de lucht hangende en aan het grid gekoppelde ‘event-Z8’, die de geluids-computer (‘sound-Z8’) weer opdracht geeft om bepaalde pulstreinen te genereren.
Zie schema’s.

(NB De mate van openheid van zo’n ontwikkelprogramma is direkt van invloed op de kreatieve/kompositoriese vrijheid.Het is dus zaak om de programma’s dusdanig flexibel en gebruikersvriendelijk op te zetten dat ze nooit het kreatieve proces in de weg kunnen zitten, een verschijnsel waar veel komputerprogramma’s last van hebben. Bij veel software bepaalt de software-schrijver de mogelijkheden waar je als komponist gebruik van mag maken, een programma als een black-box-apparaat met maar een paar voorgedefinieerde ‘knoppen’ om aan en uit te zetten. Wat een ramp.)

4 geluiden tegelijk : multitasking

Vanuit een interne timer in de ‘sound-Z8’ worden interrupts gegenereerd.
In de interrupt-routine :
-zet pointer op stack
-ga naar volgende stack-gebied
-haal pointer van stack (van volgende stack, dus volgende pointer)
-IRET (=volgende programma).

pointer1 -> PROGRAMMA 1
genereer een pulstrein mbv data
voor de parameters* vd funkties.

pointer2 -> PROGRAMMA 2
idem

pointer3 -> PROGRAMMA 3
idem

pointer4 -> PROGRAMMA 4 D C B A
idem output – port

*parameters : 1) welke pulsfunktie
2) hoe lang – duration
3) start pulsewidth

Timing van Timer-1 Z8 :
interrupt = t1 * p * v
1 cycle = 0,00025 msec
De interrupt-routine duurt 84 cycles = 0,021 msec
De pulstreinen – geluiden A,B,C en D beinvloeden/storen elkaar niet bij een interrupt-frequency van 0,032 msec, dan is t1=#%20=32.
De eksakte timing om 1 instruktie uit te voeren om vervolgens, door onderbreking middels een interrupt, op aanwijzing van de interrupt-routine, naar het volgende programma te springen, om ook weer 1 enkele instruktie uit te voeren, enzovoort.
(Dit was een heel gereken, uiteindelijk heb ik t1 op het gehoor bepaald!)

Vier programma’s (puls-funkties) runnen nu onafhankelijk van elkaar : 1 komputer genereert 4 verschillende pulstreinen tegelijkertijd.

Events

Ik heb gekozen voor de volgende events als funkties :

alle piezo-elementen afzonderlijk achter elkaar

golfbeweging

4 vlakken

1 geluid slingert door vlak van ander geluid

allen teglijk 1 geluid

1 – 4 solo.

Welk element, of elementen, dat is eksakt te bepalen. Op die manier is natuurlijk weer elk denkbare beweging van een geluid door het grid te komponeren.

Akoestiek / geluidsbeleving.

Verschillende konstateringen worden gedaan.

1) Absolute stilte.
Vanuit het niets beginnen de piezo-elementen te trillen. Geen voor- of na-ruis, zoals bij speakers het geval is.

2) 256 piezo-elementen tegelijk : zonder fase-verschil.
Het geluid is een vlak, een vlakbron.
Het lijkt of de piezo die boven je hoofd hangt het niet doet.
Het geluid lijkt afkomstig van een virtuele bron, die als een veld onder het grid hangt. Phantom-schallquelle.

3) De beweging – slechts met natuurverschijnselen te vergelijken. Regendruppeltjes, insekten, krekels.
Juist in het opererende freq.gebied is de richtingsgevoeligheid van het oor groot.
Een heel bijzondere geluidservaring.

Mogelijkheden

Grids kunnen op standaards in een ruimte geplaatst worden voor uitvoering, of aan het plafond gehangen, en met elektriese lier omlaag tijdens konsert.
In het Corenicken-projekt maken ze deel uit van een enorme hoeveelheid installaties waarbij het medium geluids-weergeving en geluidsbeleving centraal staat.

Huba de Graaff
Delft, 30 juni ’92.