Dr.Godfried-Willem RAES
Kursus Experimentele Muziek
: Boekdeel 1: Algoritmische kompositieHogeschool Gent : Departement Muziek & Drama
< Terug naar inhoudstafel kursus> |
1604:
Historiek
Vooral wanneer het gaat om software die geschreven werd of wordt met het ook op muzikale uitvoeringen, verdient het aanbeveling een logboek bij te houden van het gehele verloop van het programmeren en van van de muzikale rezultaten die ermee werden geboekt. Losse ideeen, zelfkritiek en externe kritiek, kunnen in zo'n logboek op de betreffende datum worden bijgehouden. Ook bugs die zich voordeden tijdens publieke uitvoeringen evenals experimenten die werden uitgevoerd, moeten een plaatsje krijgen in een dergelijke logboek-file.
De eenvoudigste manier om hiertoe te komen bestaat erin om in de brondkode van het hoofdprogramma een kronologische lijst van alle belangrijke wijzigingen en opmerkingen bij te houden. Wanneer de lijst te lang is wordt ze uit de kode weggehaald en weggeschreven in een *.doc file -een tekstbestand-. Nieuwe toevoegingen kunnen dan weer in het hoofdprogramma -tijdens het programmeren zelf dus- worden ingebracht.
Een voorbeeld van zo'n logboek -over een programma waaraan in dit geval jaren werd gewerkt- volgt hier:
Logbook on the Software of "A Book of Moves"
==================================
' 04.02.1993: originele eerste redaktie van de ossatuur van het multitasking
' mechanisme voor de QB45 versie van BOM2
' 12.03.1993 Tests o.k.
' 14.03.1993 Montreal - kode MT44 van Multitrax modulair ingebracht
' 16.03.1993 New York: BOM.CFG file gemaakt met configuratie-gegevens:
' ADC-kaart type en aantal kanalen, adressen en IRQ's
' midi-kaart: adres en IRQ-nr, gebruikte synthesizer
' eventuele system-dumps voor de synth, kompositorische data
' 20.03.1993 Hoofdkode-struktuur en vertaling vanuit MT-Basic afgewerkt
' 21.03.1993 Debug session
' 25.03.1993 Midi-drivers added (Logotronics, MPU401, Syquest)
' 27.03.1993 Kabels gemaakt met D-50 konnector - Tests zonder US-analoge
' komputer. Runs & compiles o.k.
' resolution variable added (4,6,7,8,10,12,14,16 bits)
' Execution speed compares favourable to MT44-version
' 15.04.1993 Nieuwe analoge komputer gebouwd, met 16 uitgangskanalen
' de kanalen 0-7 leveren dezelfde info als de oude versie
' 17.04.1993 Start of coding for the radar routine.
' Menu1 recoded for faster execution!
' 18.04.1993 Test hardware & software...
' 04.05.1993 In loco tests hardware.
' 08.05.1993 AD633 multiplier-chips added for channels 8,9,10,11
' Design for acceleration channels 12,13,14,15
' (using 2x AD684 quad S&H's)
' TLO74 replaced with OP400 quad opamp.
' 10.05.1993 Analog computer for acceleration channels 12, 13,14,15 build.
' Modular chips made (epoxy moulded)
' ACC - function added in software
' 11.06.1993 OPEN & CALL- debugged.
' 12.06.1993 TOPOI & MINOR debugged
' BEAT nog te regelmatig' 13.06.1993 wacht-call weggehaald uit ADC(12-15) funktie
' de openingstijd is nu vast en = 0.0549s
' SFORTE, CANVAS, RISING, begin herwerking LEAD
' HAMMERS
' 14.06.1993 IBM-clock tick routine introduced - 18.2 ticks/second
' this does not work on the Laptop however, because of
' different hardware architecture!
' SPOOKY, [UN]LOCK, PRIMETIME rewritten
' WAIT &H61, and-value, xor value added
' Multitasker opnieuw werkend gemaakt
' CLOSE rewritten, RECPLAY rewritten
' 18.06.1993 SOLO, DRUM, EDGES newly written
' 19.06.1993 Hardware debug session.
' Input signals on pins 6 of the OP27's must be 10Vtt
' 20.06.1993 Tachos redimensioned: c1=10nF (as before), R1=120k, C2=470n
' Now 55Hz/Volt characteristic
' RC High-pass on tacho input added: fc=40Hz. This cuts noise and
' rumble effectively, although at the detriment of sensitivity
' for slow movements.
' 16.07.1993 Extensive tests and minor adaptations of software & hardware
' at Krems (Austria) Goettweigerhof, a place with lots of reverb.
' Amplifier blown up because of lack of filtering on analogue
' signal outputs from analog compuboard!!!
' Installation premiere on 17.07.1993 - same place.
' 20.07.1993 MPU-Uit routine changed since previous version did'nt work
' compiled. (Cfr. changes in SHIFTS-program).
' 27.07.1993 MPU-initialization moved to EXE file
' Topoi changed
' Coef(res) look-up added for speed-up in ADC function
' 29.07.1993 Single channel-scope routine added for test purposes
' S/R calculation routines added for scientific purposes
' Complete debug. Now makes <BOMNOISE.DTA> files
' 30.07.1993 Radar routine to be moved to separate BOMRADAR.EXE file
' 31.07.1993 Logaritmic ADC function added: LogAD(byte)
' LogAD function introduced in MINOR
' Start of out-of-memory problems!
' Remark: channels 0-7: linear , 8-15 log seems best.
' 01.08.1993 Signal-Noise measurement routine separated from main BOM
' Now in BOMNOISE.EXE
' 02.08.1993 Statistics routines added to science-part of program.
' BOMSTAT, DRAWSTAT
' 03.08.1993 Public performance of sections SOLO and TOPOI for TV1 at
' Middelkerke, Casino.
' 04.08.1993 ARCOM-init bug removed!
' new bug: LCD-screen refresh goes too slow...
' 05.08.1993 CHORAL added - new piece
' Velo- function added: averaging ADC-read function 10ms
' Bomstat routine now more flexible
' RADAR removed from main program. Now RADAR.exe called from main.
' Slow-screen bug killed.
' 06.08.1993 Choral debugged
' Silence function added
' 07.08.1993 Alternate tuning sub's added:
' Justintonation, Valotti, Equal
' Moving Scope routines to exe files.
' Velo2 written
' Lead to be re-tested.
' BUG: proteus doesnt keep tuning changes in multi-mode, when presets are changed.
' Solution: save presets to high number 64-127 and use those
' only? Or, use Mono-mode... (with note-off's!)
' 08.08.1993 Canon - composition - made interactive
' renamed to Fugetto, later renamed to STRESSO...
' 09.08.1993 Rehearsals of new pieces...
' 10.08.1993 Stresso restructured - very interactive.
' new function: PeakAD%
' 11.08.1993 Performance of sections:
' DRUM - STRESSO
' SOLO - TANCE (alternating)
' LOCK-UNLOCK-LOCK+UNLOCK-EDGES
' Speed up by interchanging AND's for MOD's
' 12.08.1993 Catastophical performance of Stresso...
' of course, Murphy, it got recorded by Radio3...
' 14.08.1993 New universal user-interface written
' User functions now all integer-functions: speed-up!
' 15.08.1993 Toggle-keys toegevoegd voor Sustain (^) ON/OFF
' en general purpose toggle &
' 17.08.1993 User Patches - Sysex > 127 added & tested: Works
' Tunings: works o.k.
' 22.08.1993 Patches added to Beat
' 23.08.1993 Software development halted for arc welding job...
' 01.09.1993 Restart software writing
' 05.09.1993 Radar-routine changed. Intensity-circle now in center
' of drawn triangle.
' 07.09.1993 Files distributed on doctorate disks.
' 08.09.1993 Bomstat rewritten to implement real-time growing
' bar diagrams
' 10.09.1993 Drum-routine rewritten with new function Accelmax%
' BOM demonstration for Paul Darge
' 11.09.1993 Start research in tempo-tracking for implementation of
' invisible controler for preexisting pieces in *.BIN-file format
' The experimental sub is now called MAAT (nr.21)
' 12.09.1993 The list of source-code files now is as follows:
BOM_A4 BAS 938 12-09-93 10:28p
BOM BAS 53494 12-09-93 9:58p
BOMNOISE BAS 26593 12-09-93 10:12p
BOM_FUNC BAS 10540 12-09-93 9:58p
BOM_STAT BAS 8625 12-09-93 9:55p
DRAWSTAT BAS 2788 12-09-93 10:15p
SCOPE16 BAS 2059 12-09-93 10:18p
MPUUART BAS 730 12-09-93 10:26p
SCOPE1 BAS 3295 12-09-93 10:22p
RADAR BAS 4703 12-09-93 10:10p
BOM_TST BAS 5773 12-09-93 9:56p
11 file(s) 119538 bytes
' 11.09.1993 Experiments with MAAT routine...
' ADC-related subs en functions moved to module BOM_FUNC
' MIDI-related subs and functions moved to BOM_MIDI
' program restructured with modules
' 12.09.1993 Midi modules cannot be moved to other module!
' Doing so, made the computer hang all the time...
' 14.09.1993 Bom_play sub added to program
' did'nt work as module because of QB45 problems in
' common-sharing 2-dimensional dynamic array Score%()
' 16.09.1993 Herkodering van de multitasking loop:
' Een alternatieve luskonstruktie loopt 20% trager.' Alternatieve konstruktie: 550 loops per sekonde:
' uitgeteste mooiere alternatieve konstruktie die echter 20% trager door de
' komputer wordt uitgevoerd!:
' GEZOCHT: truukje om de MOD delingen te vermijden!
' De 'AND' truuk gaat alleen voor rsi waarden die binair
' eindigen op uitsluitend enen: 1,3,7,15,31,63,127,255...
'FOR jij% = 0 TO nrtask
' IF rsi(jij%) THEN
' IF tel% MOD rsi(jij%) = 0 THEN
' SELECT CASE jij%
' CASE 0: Task0
' CASE 1: Task1
' CASE 2: Task2
' CASE 3: Task3
' CASE 4: Task4
' CASE 5: Task5
' CASE 6: Task6
' CASE 7: Task7
' CASE 8: Task8
' CASE 9: Task9
' CASE 10: Task10
' CASE 11: Task11
' CASE 12: Task12
' CASE 13: Task13
' CASE 14: Task14
' CASE 15: Task15
' CASE 16: Task16
' CASE 17: Task17
' CASE 18: Task18
' CASE 19: Task19
' CASE 20: Task20
' CASE 21: Task21
' END SELECT
' END IF
' END IF
'NEXT jij%
' Oude konstruktie: 680 loops per sekonde (gekompileerd: 890 lps/sec.)
' Deze tijden gelden voor Abulafia (80386DX-33MHz)
' Op de Notebook met rekenprocessor is alles ruim viermaal sneller...
' 17.09.1993 Hardware opnieuw afgeregeld.
' Optimale signaal ruisverhouding wordt bekomen wanneer de
' transducersignalen niet clippen maar toch zo groot mogelijk
' zijn. Het clippen gebeurt echter nu op het nivoo van de ontvangers.
' De ruis kon ook verbeterd worden door het draaggolfsignaal
' zo sinusvormig mogelijk te laten zijn.
' Stel <ii> in op 20Vtt - sinus bij 40kHz.
' De bouw van nieuwe ontvangers dringt zich nu op.
' 20.09.1993 Nieuwe hardware ingezet: nieuwe ontvangers & nieuwe zender
' (cfr. hardware dokumentatie).
' Hardware opnieuw afgeregeld met skoop.
' Statief voor ophangpunt berekend en besteld.
' 21.09.1993 25gr.15" statiefjes gemaakt voor transducers
' changed: HAMMERS - back to original MT44-code
' New sub: Tempi - tempo movement controlled!
' 23.09.1993 Hardware changes in acceleration channels' Hardware/software delta-t can now be selected on the
' analog computer-board itself
' Use of this new feature entails a major rewrite of the
' software!
' Affected routines will be all those using following functions
' and subs:
' ADC(12) to ADC(15)
' Acc
' To solve this a new common shared variable is introduced:
' jumper = 0 for hardware delta-t
' jumper = 1 for software delta-t
' This variable is set in the BOM.CFG-file and thus
' available to all modules.
' 23.09.1993 Previous version in back-up directory C:\qb45\bom\bom3
' This version: implementation of hardware delta-t's
' if set in CFG file
' 24.09.1993 Start new version implementing only hardware delta-t for
' acceleration measurement.
' After evaluation, this version appears to be a major improvement
' over previous versions.
' For this reason, further version will no longer implement a
' possibility for a software delta-t in the acceleration
' measurement routines.
' The jumper variable is no longer COMMON SHARED.
' (removed from *.BI files).
' subs AdcAr () and Acc () deleted from program.
' 25.09.1993 Rehearsal of new version of BOM.
' BEAT revised
' 26.09.1993 HAMMERS revised : now part of multitasker, replacing
' Task18.
' Problems with variable passing to Kontrole - sub
' Tested with explicit variable-type Toggle% and Tempo%
' 27.09.1993 Tempi-routine recoded - still experimental!
' 28.09.1993 QADC% function added!
' routines BOMSTAT, TSTADC adapted
' as yet, the new function is not used in any mapping!
' 29.09.1993 This version presented as doctoral dissertation: accepted.
' 04.10.1993 Minor changed and extended - now with mappings and toggle.
' Alglogvar removed from the main program-loop.
' Its function now houses in a sub: Initvars ()
' 05.10.1993 Batch file written for compilation with math-coprocessor
' support: BOM_COMP.BAT
' None of the stand-alone *.EXE files work without a coprocessor
' however.
' The NOCOM.OBJ file was not found on any of the QB disks!
' This is a microsoft-bug.
' SCHOOLVOORSTELLING - SL. Version V4.3
Filedate: 931005
Terug naar inhoudstafel kursus: < Index Kursus> |
Naar homepage dr.Godfried-Willem RAES |