CAITLIN is a tool that represents Pascal programs using musical tunes. The system takes a Turbo Pascal program and produces a version of that program in which all the constructs (loops & selections) are sounded by a musical tune played on a synthesiser during execution of the program. The system auralises programs at the construct level (iterations and selections). That is, a WHILE loop is auralized in one way, REPEAT, FOR, CASE, and IF constructs in other ways. CAITLIN recognises the constructs in a source program and creates subroutine calls to stored musical sequences which are sent to a MIDI synthesiser.
The auralized program executes in the normal way (though it has to be slowed down for comprehension) and the musical sequences are heard (via the synthesiser) as the constructs are executed. The system works for Pascal though its principles can be applied to other languages (e.g. C and Java).
Consider the following Pascal program:
PROGRAM Example ; VAR counter, number : Integer ; BEGIN FOR counter := 1 TO 6 DO Writeln (counter) ; number := 10 ; IF number = 9 THEN Writeln ('Number is 9') ELSE Writeln ('Number is not 9') ; END.
After processing by CAITLIN, the program would run as normal, but when the FOR loop is encountered a musical tune representing the construct would be heard. Then, when the IF statement is executed, it too would be represented musically. This process of representing the execution of a program using sound is known as auralisation. CAITLIN auralises programs by representing each of the Pascal constructs:
WHILE, REPEAT, FOR…TO, FOR…DOWNTO, IF, IF…ELSE, CASE & CASE…ELSE
by a unique musical signature tune.