EGG-synthesizeren

Af
| DMT Årgang 53 (1978-1979) nr. 02 - side 65-75

Artiklen er indscannet fra det trykte magasin; der tages forbehold for fejl

EGG-synthesizeren

Af Finn Egeland Hansen

Ved Musikvidenskabeligt Instituts Afdeling for Musikalsk Akustik i Århus har man siden 1970 arbejdet en hel del med elektronisk musik. Der er opbygget et rimeligt, omend langt fra overdådigt, 1. generations studie (se billedet side 69) med en Lyrec 8-spors maskine, 2 stk. Studer B62 og en NP mixerpult (12 kanaler ind, 6 kanaler ud) som de centrale enheder, hvortil kommer efterklangsenhed (AKG), filtre, tonegeneratorer etc. På den undervisningsmæssige side er der afholdt kurser i elektronisk komposition, og en række studerende har skrevet specialeafhandling inden for området. Sammen med Det Jyske Musikkonservatorium har afdelingen udsendt pladen »Electronic Music Produced in Århus« med Svend Christiansens »Urværk« og »Noir« og Fuzzys »Blau« (EMI, ODEON, MO AK 30011.

Gennem de seneste år har det forskningsmæssige arbejde været koncentreret omkring opbygningen af en rent digital synthesizer, et stort og nu afsluttet projekt; for så vidt som den slags projekter nogensinde afsluttes definitivt. Synthesizeren vil stadig kunne udbygges og fejl rettes. Synthesizeren er udviklet i samarbejde med Datalogisk Afdeling ved Århus Universitet. I september 1977 blev synthesizeren, som er blevet døbt EGG-synthesizeren (det er ingen forkortelse), præsenteret ved en koncert på Det Jyske Musikkonservatorium i et alsidigt program: Per Nørgård spillede en speciel version af »Turn«; domorganist Anders Riber demonstrerede dens muligheder i et par tidlige baroksatser i forskellige tempereringer; Stefan Borum spillede sin egen »Blues for synthesizer« med medlemmer af gruppen Blue Sun; og endelig improviserede Fuzzy til en Chaplinfilm. Det foreløbige højdepunkt i EGG-synthesizerens tilværelse var UNESCOs workshop om computermusik, som blev afholdt i Århus i dagene den 28/8-1/9 1978. Her blev synthesizeren demonstreret og to værker der er produceret på den (Svend Christiansens »Pyramider« og Per Nørgårds »Turn«) opført for ca. 75 komponister og forskere fra Europa, USA og Canada. Desuden havde seks komponister lejlighed til at arbejde med systemet i ugen forud for kongressen. Denne studieuge viste sig meget givtig i form af ris og ros til systemet, forslag til ændringer, erfaringer med hensyn til, hvor lang tid det tager at blive fortrolig med systemet etc.

Brugerfilosofiske overvejelser

Forud for påbegyndelsen af selve konstruktionsarbejdet forsøgte vi at opstille en liste, der skulle beskrive systemets brugermæssige egenskaber. Det vigtigste punkt i denne liste var, at systemet skulle kunne bruges af folk uden nogen som helst erfaring eller kundskab i edb. Naturligvis vil det kræve en vis øvelse at beherske instrumentets mange muligheder, men forudsætningerne for at gå i gang skulle være et minimum af musikakustisk viden. Systemet skulle kunne arbejde i reel tid, og det i ordets snævreste betydning; når man har defineret en lydstruktur, skal man kunne få den at høre »øjeblikkeligt« ved at aktivere en tangent. Systemet skulle kunne fungere både som et »spille«-instrument og som pre-programmerbar synthesizer. Ved det første forstås, at man producerer det musikalske forløb ved at spille på klaviaturet, ganske som man spiller på et klaver. Når synthesizeren benyttes som pre-programmerbart instrument, vil man indkode ofte lange musikalske forløb som »fyres af« ved et tryk på en enkelt tangent. Der vil være talrige situationer, hvor man har ønsker i retning af at benytte synthesizeren i en blanding eller en mellemting mellem disse to yderformer. Derfor måtte der heller ikke være tale om, at man ved brugen skulle vælge mellem to (eller flere) »modi«; hele spektret fra det rent klaverlignende til den situation, hvor en hel komposition afvikles ved at anslå en tangent, skulle være til stede samtidig. Et par vigtige krav til instrumentet var, at det skulle være flerstemmigt og klaviaturet an-slagsfølsomt, begge dele i modsætning til de fleste eksisterende synthesizere. Endelig måtte der naturligvis stilles nogle generelle musikalsk og hørepsykologisk bestemte krav til frekvens- og amplitudepræcisionen i systemet.

Analog og digital repræsentation af lyd

Inden jeg går videre med beskrivelsen af systemet, er det nødvendigt at forklare de to begreber analog og digital repræsentation af lyd. Når en almindelig mikrofon opfanger en lyd, vil dens membran foretage en bevægelse, der ganske svarer til de omkringliggende luftmolekylers bevægelse: man siger, at membranens bevægelse er en analog repræsentation af luftmolekylernes bevægelse og dermed aflyden. På samme måde vil den elektriske spænding, mikrofonen giver fra sig, ganske svare til, være en anlog repræsentation af membranens bevægelse. Denne elektriske spænding kan, hvis den forstærkes på passende måde, bringes til at trække en pen frem og tilbage, og hvis pennen skriver på et stykke papir, der bevæger sig med jævn hastighed på tværs af skriveretningen, vil der fremkomme en bølgelinie som vist på fig. 1.

Også selve bølgelinien siges at være en analog repræsentation af lyden.

Den digitale repræsentation kan illustreres således: Vi tænker os, at den analoge spænding, i stedet for at trække en pen frem og tilbage, føres til et voltmeter, der på en eller anden snedig måde er forbundet til en skrivemaskine, således at man ved at trykke på en knap får skrivemaskinen til at skrive et tal, der angiver den spænding der står over voltmetret. Hvis vi tænker os, at vi trykker på knappen med jævne mellemrum, vil skrivemaskinen forsyne os med en tabel med f.eks. følgende udseende:

ved 1. tryk på knappen 10

ved 2. tryk på knappen 13

ved 3. tryk på knappen 21

ved 4. tryk på knappen 17

ved n. tryk tryk på knappen 14

En sådan tabel er en digital repræsentation af spændings variationen og dermed lyden. Den digitale repræsentation er altså en talrepræsentation af lyden. Ved den digitale repræsentation af lyden er der to størrelser, der har særlig interesse. Den ene er hvor hyppigt man trykker på knappen eller med den tekniske term samplingfrekvensen. Det er umiddelbart indlysende, at en tone på 1000 Hz, som altså svinger frem og tilbage 1000 gange hvert sekund, vil blive yderst dårligt repræsenteret, hvis den kun »samples« en gang hvert sekund. Generelt kan man sige, at en svingning skal samples mindst to gange i hver periode for overhovedet at blive registreret i en digital repræsentation. Hvis vi siger, at den højeste tone mennesker kan høre ligger på ca. 15.000 Hz, behøver vi altså en samplingfrekvens på mindst 30.000 samples pr. sekund for at kunne overføre hele det hørlige område. Den anden vigtige størrelse er den såkaldte »opløsning«, der angiver, hvor nøjagtigt de udskrevne tal repræsenterer svingningen. Det er atter indlysende, at en udskrift, der kun kan angive spændingen i hele tal mellem l og 10, vil give en dårlig repræsentation af en svingning der ligger i området mellem 1,1 og 2,9 volt. Det er lidt svært at sige noget helt generelt om, hvor fin en opløsning der er nødvendig for at opnå en tilfredsstillende repræsentation. Det er meget almindeligt, at man udtrykker sine værdier i hele tal mellem O og 4095, medens man i særligt krævende sammenhænge må op på en 16 gange så god opløsning.

En højttaler er en analog enhed, der kan omsætte en analog spændingsvariation (eller snarere strømvariation) til lyd, dvs. til luftmolekyle-bevægelser. Hvis man har en lyd i analog elektrisk form, behøver man altså blot at forstærke den på passende vis og slutte den til en højttaler for at få lyden at høre. Med den digitalt repræsenterede lyd er forholdet lidt mere kompliceret. For det første: hvordan kan man overhovedet opbevare tal i elektrisk form? og for det andet: hvordan får man disse tal til at trække en højttaler? Når tal skal opbevares eller transporteres elektrisk, vil de næsten altid være udtrykt i totalsystemet, dvs. et talsystem der kun kender cifrene O og 1. Man kan da bruge to klart adskillelige elektriske spændinger (for eksempel 4 og O volt) til at repræsentere cifrene O og l, og på de såkaldte digitale magnetbånd og andre digitale og magnetiske oplagringssystemer udtrykkes de to cifre ved hjælp af magnetiske nord- og sydpoler. Skal en digital repræsenteret lyd reproduceres gennem en højttaler, er det nødvendigt at omforme, at konvertere, som det hedder med fagtermen, det digitale signal til analog form. Dette sker ved hjælp af såkaldte digital-til-analog-kon vertere (d/a-konvertere), små »sorte kasser«, der på inputsiden modtager digitale signaler i totalsystemet og på outputsiden leverer en analog elektrisk spænding, der til enhver tid svarer til det tal, der står på inputsiden. Om disse konvertere skal jeg i øvrigt blot anføre, at de for bare nogle få år siden var næsten uoverkommeligt dyre, medens konverterne i EGG-synthesizeren i dag er nede på en pris omkring 200 kroner.

To hovedtyper af digital syntetisering

Inden for den computerorienterede og dermed digitale lydsyntese skelner man mellem direkte og indirekte syntese. Princippet i den direkte syntese er, at man lader en stor computer foretage »løbende« beregninger af de digitale talværdier, som efter at være beregnet opbevares i et af computerens store baggrundslagre, disk eller magnetbånd. Fra baggrundslageret læses tallene senere ud i en d/a-konverter, hvorfra man optager det analoge signal på en normal båndoptager. Det gælder for alle hidtil konstruerede systemer til direkte syntese, at de ikke er hurtige nok til at arbejde i reel tid. Man må altså skrive sine instruktioner til systemet og derefter pænt vente på, at computeren får foretaget alle de nødvendige beregninger, før man kan komme til at høre resultatet. Hvor lang ventetiden bliver, afhænger af maskinens størrelse, dens hurtighed, om man er alene om den eller deler den med andre brugere (det gør man normalt), programmets effektivitet, den genererede lyds kompleksitet etc. I mange tilfælde er ventetiden af størrelsesordenen et døgn. Vi kunne således hurtigt konstatere, at den direkte syntese ikke kunne komme på tale i vort tilfælde, hvor reel-tids-syntese var et centralt krav. Ved den indirekte syntese bygger man en speciel digital lydgenerator, der styres fra en normalt ret lille computer. Det forholder sig nemlig således, at en given lyd kan produceres på mange forskellige måder. Dette gælder i al almindelighed, men har ganske særlig betydning, hvor der er tale om digital syntese. For eksempel får man samme resultat, når man lægger to sinustoner med frekvenserne 440 og 442 Hz sammen, som når man multiplicerer en 441 Hz sinustone med en l Hz sinustone:

Når man bygger sin digitale lydgenerator, må man altså vælge mellem forskellige principper for syntesen; og det er netop ved at vælge et enkelt princip og »skræddersy« generatoren til at operere efter dette princip, at det er muligt at syntetisere i reel tid. De almindeligst anvendte principper i dag er den såkaldte additive syntese og syntese ved frekvensmodulation. Ved den additive syntese genereres de komplekse lydstrukturer ved addition af mindre komplekse lyde. Ved frekvensmodulation af rene eller overtonerige toner kan man på tilsvarende vis opnå stærkt komplekse lyde. EGGTsynthesizerens lydgenerator er additiv, og den vil blive nærmere beskrevet i det følgende.

Systemets ydre opbygning

Systemet er opbygget af følgende enheder (se også billedet side 69):

Klaviaturet består af tre manualer, hvoraf det underste er et normalt 85 tangenters flygelmanual. Det mellemste manual har ligesom l. manual 85 hvide og sorte tangenter, men derudover tillige 14 gule tangenter med samme form som de sorte og placeret de steder, hvor der ikke er nogen sort tangent mellem to hvide nabotangenter. Det øverste manual består af 98 ens, ganske smalle og nedhængende tangenter placeret mellem 2. manuals 99 tangenter (se fíg. 5 og billedet side 71).

Princippet i tangentens virkemåde er, at filmen, der bevæger sig op og ned mellem lysdioder og fotoceller, når tangenten slås an og slippes, er kodet i lyse og mørke felter, der for de lyses vedkommende lader lysdiodens lys slippe igennem til fotocellen, medens de mørke felter standser lyset. Når en fotocelle belyses, giver den en elektrisk spænding fra sig, og ved til stadighed at lade computeren »føle« på samtlige 3 x 282 fotoceller vil den løbende have et nøjagtigt billede af de enkelte tangenters position. Ved hjælp af et indbygget »ur« kan computeren tillige udregne, hvor lang tid den enkelte tangent var om at nå fra sin topstilling til bundstillingen, hvilket er et direkte udtryk for anslagsstyrken.

Lydgeneratoren består af 16 principielt af hinanden uafhængige »stemmer«. Hver stemme består af en såkaldt buffer, der indeholder en bølgeform i digital form. Rent fysisk er bufferen en tabel, der består af 64 tal, der kan antage værdier mellem O og 4095. Lad os antage, at de 64 tal repræsenterer en sinusbølge. Bufferens indhold vil da se således ud:

Vi tænker os nu, at vi sampier denne buffer med en hastighed på 64 samples pr. sekund. Det vil sige, at hver tabelværdi »holdes« 1/64 sekund, idet man starter med punkt nr. l, fortsætter med punkt nr. 2 etc., indtil punkt nr. 64, hvorefter man begynder forfra med punkt 1. Hvis denne »strøm« af 64 tal pr. sekund sendes til en d/a-konverter, vil denne give en l Hz sinustone fra sig. Sampier vi 6400 gange pr. sekund, vil vi få en 100 Hz tone etc. Ved at variere samplingfrekvensen, dvs. den tid hvert bufferpunkt holdes, kan man altså variere den resulterende tones frekvens. Informationen til lydgeneratoren om hver af de 16 stemmers samplingfrekvens udsendes løbende fra computeren.

Hvis vi som sagt forbinder bufferen direkte med en d/a-konverter kan vi variere den resulterende tones frekvens, men dens amplitude vil være konstant. Derfor er bufferne som de rent faktisk indgår i konstruktionen ikke direkte forbundet med d/a-konverteren, men derimod med en multiplikationsenhed:

Det vil sige, at alle bufferens talværdier ganges med et tal inden de sendes til konverteren. Ganger vi f.eks. alle tal i rufferen med 0,5, vil den analoge spænding, der kommer ud af konverteren til enhver tid være nøjagtigt den halve af, hvad den ville have været, hvis man havde taget tallene direkte fra bufferen. Resultatet af multiplikationen med 0,5 bliver en svagere tone (-6 d B i dette tilfælde). Computeren forsyner løbende de 16 stemmer med multiplikanter, således at man har mulighed for at forsyne sine toner med dynamiske »envelopes«.

Også selve indholdet af bufferen kan løbende udskiftes af computeren; snart vil der ligge en sinustone, snart en firkanttone og snart en helt tredie bølgeform i den enkelte buffer.

Lydgeneratorens samlede kapacitet kan opsummeres således: Den kan producere 16 toner ad gangen. Hver tone kan variere fra computeren 1) med hensyn til klangfarve (bølgeform), 2) med hensyn til styrke (mul-tiplikanten) og 3) med hensyn til tonehøjde (samplings-frekvens). Desuden kan computeren naturligvis starte og stoppe den enkelte stemme.

Brugeren kommunikerer med systemet gennem dataskærmen. Det er via dataskærmen man »kreerer« og »modificerer« sine lydstrukturer. Det er via dataskærmen man »aktiverer« registreringer, og det er dataskærmens udskrifter, der gør en opmærksom på, at man har begået visse fejl, og i andre situationer viser en tilrette, hvis man er i tvivl om, hvad man skal gøre.

Ved hjælp af papirstrimmel-punchen kan man »konservere« sine skalaer, lydmønstre etc. Kommandoen SAVE efterfulgt af navnene på de ting, man ønsker at bevare, vil resultere i at de hulles ud på papirstrimmel. På ganske tilsvarende måde kan man med kommandoen RESTORE indlæse en papirstrimmel i systemet ved at lægge den i strimmel-læseren.

Kommandostrukturen

Såvidt systemets ydre struktur. Den allervigtigste del af systemet, dets centralnervesystem, er imidlertid programmet, der for det første sørger for at holde øje med klaviaturet og bearbejde de derfra kommende data, samt holder lydgeneratoren forsynet med de nødvendige parametre for lydgenereringen (bølgeformer, amplituder og frekvenser). Men derudover er hele kommunikationsfladen system/bruger defineret gennem programmellets kommandostruktur. Groft sagt kan en bruger være bedøvende ligeglad med, hvordan systemet er opbygget og fungerer, hvis han blot er fortrolig med, hvad han skal gøre for at få en bestemt lyd frem.

Den vigtigste kommando er CREATE. Hvis brugeren skriver CR vil systemet selv tilføje EATE og videre spørge, hvad man ønsker at kreere. Svarer man for eksempel med SC vil systemet tilføje ÅLE og bede om navnet på den SCALE, man ønsker at kreere. Ønsker man at skalaen skal hedde PETERSEN, skriver man dette, hvorefter systemet beder en skrive de frekvenser, skalaen skal bestå af. I det følgende angiver kursiv bogstaver, der er skrevet af brugeren, medens u-kursiverede bogstaver i kommando-ordene skrives af systemet.

Med kommandoen MODIFY kan man ændre i visse (desværre ikke alle) typer af elementer. STATUS-kommandoen bringer en oversigt over alt, hvad man har kreeret. Med INSERT kan man tilføje nye blokke i sound patterns og gemisches (se nedenfor). Filosofien i selve tekstkommunikationen er, at brugeren skal skrive så lidt som muligt. Såsnart computeren »genkender« en kommando, dvs. såsnart den har modtaget så mange bogstaver, at kommando-ordet er entydigt bestemt, overtager den styret og skriver ordet færdigt. Der er desuden lagt vægt på, at maskinen i vidt omfang udskriver forklarende tekst på skærmen. Disse tekstudskrivninger kan antage forskellige former. En type er korrigerende. Hvis man f.eks. angiver en amplitudeværdi til 47, når man kreerer en envelope (se nedenfor), vil maskinen skrive AMPLITUDE VALUE MUST LIE BETWEEN 1 AND 15, hvorefter man har lejlighed til at rette det forkerte tal. En anden type er vejledende. Hvis man f.eks. har kreeret »hovedet« til en sound pattern, skriver maskinen NOW USE INSERT TO COMPLETE THE SOUND PATTERN. En tredie type er maskinens spørgsmål til brugeren. Har man f.eks. kreeret en gemisch, vil maskinen, når den første blok i gemischen er defineret, spørge DO YOU WANT TO CREATE ANOTHER BLOCK NOW, YES/NO. Svarer man NO, vil maskinen skrive USE INSERT TO ADD FURTHER BLOCKS TO THE GEMISCH. Svarer man YES anmoder maskinen om NAME OF SOUND PATTERN OR GEMISCH.

Lydstrukturen

Ved hjælp af kommandoen CREATE kan man definere følgende lydelementer:

KEYBOARD SECTION

SCALE

SO UND DISTRIBUTION

BUTTON

GEMISCH

SOUND PATTERN

ENVELOPE

WAVEFORM

En KEYBOARD SECTION er en ordnet mængde af fysiske tangentnumre, som har et navn, f.eks.:

navn PETER

ord. nummer l 2 3 4 5 6 ... n

tangent nummer 37 38 49 50 51 52 ... 7

Der er ingen begrænsninger i antallet af tangenter i en keyboard section (ud over at max. = 282, det totale antal tangenter), og også rækkefølgen af de fysiske tangentnumre er fuldstændig fri (hver fysisk tangent er forsynet med en lille mærkat med dens nummer). En SCALE er en ordnet mængde frekvenser (eller rettere frekvenser udtrykt som 312,4 x 1000/frekvensén), som har et navn, f.eks.:

navn: TEMP10

ord. nummer: 1 2 3 4 5 6 7 8 9 10

312 x

1000/frekvens: 710 670 632 597 563 532 502 474 447 422

710 svarer til frekvensen 440 Hz (312,4 x 1000/440 = 710), altså kammertonen. De ti frekvenser i TEMP10 danner en kromatisk skala fra a' til fis". I øvrigt er der ingen begrænsninger med hensyn til valget, rækkefølgen og antallet af frekvenser i en skala. Man kan således uden videre lave sig en skala med 1/7-tones afstand mellem trinnene, ligesom man kan lave skalaer med uregelmæssig afstand mellem trinnene og »skalaer«, hvor tonerne slet ikke danner en stigende tonefølge, men ligger »hulter til bulter«. Der er naturligvis udarbejdet en tabel, ved hjælp af hvilken man direkte kan omregne frekvenser eller intervalafstande i cents til udtrykket 312,4 x 1000/frekvensen.

En SOUND DISTRIBUTION er en ordnet mængde af lyde, som har et navn. En lyd kan være enten en GEMISCH(g) eller en SOUND PATTERN (s). Også lyde er navngivne:

navn: TRÆ

ord. nummer: 1-5 6 7-25

lyd: TRÆl(s) TRÆ2(g) TRÆl(s)

TRÆ er en sound distribution, der består af 25 elementer, af hvilke de 5 første er TRÆ l som er en sound pattern, nummer 6 er TRÆ2 som er en gemisch og nummer 7-25 er igen TRÆ1. Her omfatter vores sound distribution altså to forskellige lyde fordelt på 25 elementer. Der er ingen begrænsninger i antallet af elementer i en sound distribution, ligesom den kan bestå af ligeså mange forskellige lyde som der er elementer.

En BUTTON er et navngivet element, der »samler« en keyboard section, en scale og en sound distribution.

navn: SPIL

keyboard section: PETER

scale: TEMP10

sound distribution: TRÆ

Hvis SPIL aktiveres (se nedenfor) vil et anslag på den fysiske tangent nummer 49 resultere i at lyden TRÆl(s) vu blive spillet med frekvenstallet 632~h'. Slås tangent nummer 52 an får vi TRÆ2(g) spillet med frekvenstallet 532—d". Princippet er altså, at et anslag på tangenten med ord. nummer n vil resultere i at den n'te lyd i SOUND DISTRIBUTION vil blive spillet med den frekvens, der svarer til det n'te tal i SCALE. Man kan definere sig et vilkårligt antal keyboard sections, scales, sound distributions og buttons. Lad os antage, at vi har fire buttons, SPIL1, SPIL2, SPIL3 og SPIL4. Med commandoen CONNECT kan disse fire buttons forbindes til hver sin fysiske knap på tastaturet, som rummer 12 nummerede knapper. Hvis SPIL l »connectes« til den fysiske knap nummer l, SPIL2 til knap nummer 2 etc., vil man ved blot at trykke på de fysiske knapper kunne skifte mellem de fire logiske buttons.

Den i det foregående beskrevne struktur af keyboard sections, scales, sound distributions og til fysiske knapper forbundne buttons udgør systemets globale organisation af lyde. Det skulle være fremgået, at denne organisation er fuldstændig generel; man kan reelt med en enkelt button tildele hver eneste tangent sin egen specifikke lyd og frekvens.

I det følgende beskrives systemets definition af begrebet lyde: En lyd kan være enten en GEMISCH eller en SOUND PATTERN.

En GEMISCH består af et antal sound patterns eller gemisches, som alle aktiveres, når gemischen aktiveres gennem et tangentanslag. Den enkelte sound pattern (eller gemisch) kan transponeres og forsinkes i forhold til key-on og key-off (tangentanslag og -slip). En gemisch med tre »blokke« kan se således ud:

gemisch navn: OBO

blok 1:

navn på sound pattern eller gemisch: OBOl(s)

transpositionsinterval 1/1

key-on forsinkelse O

key-off forsinkelse O

blok 2:

navn på sound pattern eller gemisch: OBO l (s)

transpositionsinterval: 1000/1001

key-on forsinkelse: O

key-off forsinkelse : O

blok 3:

navn på sound pattern eller gemisch: OBO2(g)

transpositionsinterval 1/2

key-on forsinkelse 200

key-off forsinkelse O

Når gemischen OBO aktiveres gennem et tangentanslag vil OBO l (s) begynde at spille straks og på to forskellige frekvenser; én utransponeret, dvs. på den frekvens, der rent skalamæssigt hører til den tangent, der slås an; og én transponeret intervallet 1000/1001 i forhold hertil. OBO2(g) vil begynde at spüle 200 ms efter key-on og transponeret en oktav opad.

En GEMISCH er altså et lydelement ved hjælp af hvilket, man kan skabe sig »flerstemmige« lyde ved et enkelt tangentslag, lige som man ved udnyttelse af key-on forsinkelserne, der kan antage værdier op til 32 sekunder, kan kæde sound patterns og gemischer sammen til meget lange forløb.

Vi er nu nået frem til det mest komplicerede lydelement i den samlede struktur, nemlig den såkaldte SOUND PATTERN. Byggestenene i en sound pattern er ENVELOPES og WAVEFORMs foruden en lang række parametre.

En ENVELOPE er en liste af amplitudeværdier i området 1-15, som har et navn, f.eks.:

navn: JOHN

ord. nummer: 1 2 3 4 5 6 7 8 9

amplitudeværdier: 8 9 10 11 12 11 10 9 8

JOHN udviser en stigning efterfulgt af et fald i lydstyrken i det »mellemkraftige« register. Envelopen selv specificerer ikke noget om den tid, der medgår til forløbet. Denne tid specificeres som en parameter i den sound pattern, hvori JOHN indgår (se nedenfor). Trinstørrelsen i amplitude-skalaen 1-15 svarer til 3 d B med 15 som den højeste amplitude svarende til Od B og l svarende til -42 d B. Denne 3d B trinstørrelse er tilstrækkelig fin til de fleste brug; ved langsomme Crescendi og decrescendi i det kraftige register kan man dog i »tynde« strukturer med sinusagtige klange høre trinnene som svage »klik«.

En WAVEFORM er en digital repræsentation af en bølgeform givet som 64 talværdier i området 0-4095 med 2048 som »logisk« nulpunkt.

navn: SQUARE

ord. nummer: l 2 3 4.....62 63 64

talværdi: 4095 4095 4095 4095...O O 2048

Hvis punkterne 1-32 alle har værdien 4095 og punkterne 33-63 værdien O, vil SQUARE repræsentere en firkant-tone. Af tekniske grunde skal punkt nummer 64 altid have værdien 2048. Systemet indeholder to procedurer, hvormed man kan definere sig WAVEFORMs. Med CREATE A WAVEFORM beder systemet om de 64 omtalte talværdier direkte. Anvendelse af denne kommando forudsætter altså, at man forud har beregnet disse 64 talværdier, eller at bølgeformen er meget enkel rent geometrisk (som f.eks. en firkant eller en impuls). Mere almindelig i brug er GENERATE A WAVEFORM, hvor man blot skal angive den relative styrke af de overtoner, som bølgeformen skal indeholde; systemet vil da selv beregne de 64 dertil svarende talværdier.

En SOUND PATTERN har følgende struktur:

»Hovedet« indeholder navnet på sound pattern samt angivelser af, hvilke tone- og envelopeliste-præpara-tions-procedurer, der er gældende. Disse procedurer er følgende:

toneliste-præparations-procedurer

Procedurenummer

Beskrivelse af procedurens effekt

1 Med denne procedure vil systemet se helt bort fra de frekvenser, der er specificeret i skalaerne, og tolke de frekvensangivelser, der står i selve tonelisten (se nedenfor) som absolutte frekvenser.

2 Med denne procedure tolkes alle frekvenser i tonelisten relativt til den aktiverede skalafrekvens. Denne procedure anvendes i de allerfleste tilfælde.

envelopeliste-præparations-procedurer

Procedurenummer

Beskrivelse af procedurens effekt

1 Alle amplitudeværdier i envelopelisten tolkes absolut, dvs. at styrken af tangentslaget ikke har nogen indflydelse på tone-styrken.

2 Alle amplitudeværdier modificeres relativt til anslagsstyrken, dvs. at klaviaturet med denne procedure er anslagsfølsomt.

Når FLUTE i ovenstående fíg. 9 aktiveres, vil frekvensen altså være tolket relativt til den aktive skala, og dermed til den tangent der slås an; tangenterne vil ikke være anslagsfølsomme.

En blok i tonelisten ser således ud:

waveform's navn SINE

waveform's varighed 1000

loop-tid 5000

jump-blok-nummer 4

key-off-procedure 3

loop-tids-procedure 5

varigheds-procedure l

transposition 5/4

Hvis vi antager, at denne blok er nummer l i en sound pattern, vil den blive aktiveret ved en key-on (muligvis forsinket, hvis den pågældende sound pattern optræder i en gemisch) og begynde at spille bølgeformen SINE. Derefter kan én af tre følgende hændelser indtræde:

1) Waveform's varighed udløber (i eksemplet efter 1000 ms)

2) Loop-tid udløber (i eksemplet efter 5000 ms)

3) Der modtages en key-off fra tangenten.

Ligegyldig hvilken af de tre hændelser, der kommer først, vil systemet følge »pointeren« til den tilsvarende toneliste-sekvenserings-procedure; kommer key-off først, følges pointeren i »key-off procedure«, udløber »waveform's varighed« først, følges pointeren i »varigheds-procedure«, og udløber »loop-tid« først (looptid kan godt være et mindre tal end waveform's varighed) følges pointeren i »loop-tids-procedure«. Systemet rummer i øjeblikket følgende toneliste-sekvenserings-procedurer:

toneliste-sekvensering-procedurer

Procedurenummer

Beskrivelse

1 Gå videre til næste blok i tonelisten.

2 Gå videre til den blok, hvis nummer er angivet i jump-blok-nummer.

3 Ignorer kaldet af proceduren og bliv i samme blok.

5 Stands lyden.

6 Begynd »forfra« med blokken, men spil den med en anelse højere frekvens (255/254). Proceduren vil resultere i en uendelig glissade opad.

7 Som 6, blot er glissaden her nedadgående.

11 Virker omtrent som 6 og 7 taget skiftevis. Resultatet bliver et frekvens vibrato på tonen.

Vi antager, at key-off kommer først. Pointeren til »key-off-procedure« i eksemplet er 3. Toneliste-sekvenserings-procedure nummer 3 er en »ignorer«-procedure, hvorfor SINE spiller videre som intet var hændt. Hvis pointeren til »key-off-procedure« havde været 2, ville key-off have forårsaget et »hop« i tonelisten, in casu til blok nummer 4 som angivet i »jump-blok-nummer« .

Hvis key-off ikke kommer først, vil der ske følgende: Efter 1000 ms vil pointeren til »varigheds-procedure« kalde procedure nummer l, som vil forårsage en sekvensering til »næste« blok, altså blok nummer 2. Hvis pointeren til »varighedsprocedure« havde været 2, ville vi efter de 1000 ms have fået et hop til blok nummer 4.

I eksemplet er »loop-tid« sat til 5000 ms, som begynder at »tælle ned«, så snart blokken aktiveres. Lad os antage, at en eller anden blok længere nede i tonelisten efter 4500 ms sender os tilbage i blok nummer l med »hop«-proceduren (nummer 2). Nu vil blok nummer l spille i 500 ms. På dette tidspunkt er »looptid« for blok l udløbet. Da pointeren til »loop-tids-procedure« er 5, vil tonen blive standset.

Den sidste parameter i tone-blokken hedder »transposition« og indeholder en brøk, hvormed skalaens frekvens ganges, inden den sendes til lydgeneratoren. Hvis vi f.eks. slår en tangent an, hvis frekvens er 440 Hz (a') og »transposition« i den aktiverede blok er 5/4, vil blokken blive spillet med frekvensen 440 x 5/4 = 550 Hz (cis"). Dette er under forudsætning af, at toneliste-præparations-proceduren er 2. Hvis den er l, vil brøken i »transposition« efter en lidt kompliceret kalkyle blive opfattet direkte som den frekvens, der spilles, uden hensyn til skalaens frekvens.

Blokkene i envelope-listen er indrettet på stort set samme måde som toneliste-blokkene:

envelope's navn: UP (f.eks. 8,9,10, 11,12)

tid mellem envelope-punkter: 2000

loop-tid: oo

jump-blok-nummer: l

key-off-procedure: 5

loop-tids-procedure: 5

envelope-ud-procedure: 2

envelope's start-index: l

Envelope's navn angiver navnet på den envelope, der er aktiv i blokken; i eksemplet UP, som består af amplitude-værdierne 8, 9, 10, 11, 12. »Tid mellem envelope-punkter« angiver, hvor længe hvert amplitude-punkt holdes. Ved at ændre denne værdi fra 2000 til 5 ms, vil UP ændres fra at være et langsomt crescendo til en attacktransient. Envelopeliste-sekvenserings-procedurerne fungerer på ganske samme måde som i tonelisten, idet »envelope-ud-proceduren« aktiveres, når tiden for envelopens sidste punkt er udløbet. Der er følgende sekvenserings-procedurer i envelopelisten:

envelopeliste-sekvenserings-procedurer

Procedurenummer

Beskrivelse

1 Gå videre til næste blok i envelopelisten.

2 Gå videre til den blok, hvis nummer er angivet

3 Ignorer kaldet af proceduren og bliv i samme blok.

5 Stands lyden.

Envelope's start-index er normalt 1 og angiver, at envelope-punkterne tages forfra, således at UP vil begynde med amplitude-værdien 8. Sætte envelope's start-index til 3, vil UP begynde med amplitudeværdien 10.

Når en sound pattern aktiveres, vil den bølgeforms-sekvens, der er specificeret i tonelisten blive spillet med de i envelopelisten specificerede amplituder. Det er vigtigt at pointere, at tone- og envelopeliste arbejder fuldstændig asynkront og uafhængigt af hinanden: antallet af blokke i de to lister behøver ikke at være det samme (det er det faktisk ret sjældent); selve sekvenseringsforløbet gennem de to lister kan være af vidt forskellig at; og tidsværdierne i de to lister behøver overhovedet ikke at korrelere.

I sin enkleste form vil en sound pattern bestå af en enkelt toneblok og en enkelt envelopeblok, i hvilken envelopen består af kun én amplitudeværdi. Det klingende resultat af en sådan sound pattern vil være en enkelt »stiv« tone. I mere komplicerede former med mange blokke (max. 24) og hop-sekvenseringer kan det klingende resultat blive en »uendelig« varierende melodi med skiftende klangfarver og tonestyrker. Men under alle omstændigheder vil lyden fra en sound pattern være enstemmig og lyden have tonestyrker. Ønsker man »flerstemmige« forløb ved et enkelt tangentslag, hvad enten man forstår »flerstemmig« i ordets traditionelle forstand eller mere generelt som klangstrukturer med uharmoniske elementer, må man anvende en Gemisch.

Videre udvikling af systemet

I skrivende stund er vi ved at lægge sidste hånd på en facilitet, vi har døbt »piano roll«. En pianoroll er en papirstrimmel kodet med information om tangentbevægelser, stort set som i et gammeldags mekanisk klaver (bortset fra at alt her foregår elektrisk, og at tangenterne ikke bevæger sig fysisk, når man spiller en piano roll). Selve papirstrimlen genereres på en stor computer. Piano roll kan anvendes, når man f.eks. ønsker en rytmisk struktur, der er så kompliceret, at man ikke selv kan spille den, og som man af forskellige grunde heller ikke ønsker at »kode ind« i en gemisch.Men piano roll kan også benyttes mere radikalt: Md piano roll er det nemlig muligt successivt at indspille 7 spor oven på hinanden på 8-spors maskinen, således at de 7 ''lag'' er absolut synkrone (det 8. spor benyttes som synkroniseringsspor). Med denne teknik kan man opnå forløb, der på én gang er meget komplicerede og helt veldifinerede.

Ud over færdiggørelsen af piano roll-faciliteten har vi ikke planer om flere større udbygninger af systemet

Vi er derimod allerede nu i gang med de første planer for bygningen af en ny synthesizer, der på en række punkter skulle overgå den nuværende EGG-synthesizer. For det første er computer-teknikken gået voldsomt frem gennem de seneste år, og komponenter, der tidligere enten slet ikke fandtes eller var så dyre, at de kunne komme på tale for projekter som vores, kan nu skaffes til overkommelige priser. Komponenterne er også blevet mindre i fysisk udstrækning, således at synthesizeren, der i sin nværende form fylder temmelig meget, i en ny version med mikroprocessorer, vil kunne bygges som et håndterligt sceneinstrument. Med en "floppy disk" som baggrundslager vil man helt kunne slippe for det nuværende "papirnusseri" med strimmellæser og -punch. Endelig vil en overgang til anvendelse af flere mikroprocessorer i stedet for en enkelt mincomputer, der er meget hårdt belastet, kunne øge systemets driftsikkerhed.

Med hensyn til kommandostruturen er vi overbeviste om, at den nuværende struktur i princippet er den rigtige.Dette betyder imidlertid ikke, at kommandosproget ikke kan forbedres. En øget anvendelse af såkaldte "defaults", dvs. prædefinerede parameter-værdier vil især gøre det lettere for begyndere at komme i gang. Adgang til at modificere i alle elementtyper vil også være en stor forbedring. Endelig har vi planer om at gøre sound pattern-strukturen mere generelt ved at operere med tre lister i stedet for, som nu, to. Vi vil adskille frekvens og bølgeform i hver sin liste, således at man får tre uafhængige lister for envelope, frekvens og bølgeform. Af yderligere planlgte forbedringer kan nævnes en "slette" facilitet, der muliggør, at man kan slippe af med mislykkede eller ikke mere i brug værende elementer, samt er RENAME kommando, der vil muliggøre "oprydning" i ens navnekomplekser.

Men som sagt er disse planer om en ny version af synthesizeren på et meget indledende stade. Vi regner med at kunne indhøste en lang række erfaringer gennem en øget praktisk anvendelse af EGG-synthesizeren i den kommende tid.

Finn Egelund Hansen