\documentstyle[a4j,ascmac,11pt]{article} \pagestyle{empty} \setlength{\oddsidemargin}{18mm} \setlength{\evensidemargin}{18mm} \setlength{\topmargin}{0pt} \setlength{\headheight}{0pt} \setlength{\headsep}{0pt} \setlength{\topskip}{0pt} \setlength{\footskip}{8mm} \setlength{\textheight}{245mm} \setlength{\textwidth}{163mm} \setlength{\unitlength}{0.2500mm} \begin{document} \bf \begin{center} {\Huge {\bf Chaotic Interaction Model}} \\[5mm] {\huge {\bf for}} \\[5mm] {\Huge {\bf Compositional Structure}} \end{center} \vspace{5mm} \begin{center} {\Large {\bf Abstract}} \end{center} {\small {\sf This is a progress report of the PEGASUS (Performing Environment of Granulation, Automata, Succession, and Unified-Synchronism) project. In the first step, compact / portable / real-time Granular Synthesizer was installed into the system, and used in some pieces. This paper focuses on ``automata'', not only simple generated randomization but also ``chaos'', in particular focusing on its dynamic characteristics. This paper describes (1) Chaotic Interaction Model (CIM) to generate flexible and dynamic musical elements, and (2) CIM experimental application for hierarchical structure in music. We chose simple Logistic Functions for that of chaos generators, but the generated output has much variety with well-tuned combination of parameters. In addition, CIM generator is applied to automatic composition systems. Considering the hierarchical structure in music, the system is constructed with three hierarchical modules (tempo / rhythm / note), and each module is controlled by an individual CIM generator. }} \section{Background} ``Musical automata'' and ``automatic composition'' are interesting themes. Many theories and models have been discussed, and many systems and software have been developed \cite{degazio} \cite{beyls}. Today we have good tools for computing musical information in real time. PC-based ``real-time composing'' and ``interactive composing'' has been developed recently \cite{chadabe}. One of authors has produced one compact system of real-time Granular Synthesis [Fig.1]. This research project was called the PEGASUS (Performing Environment of Granulation, Automata, Succession, and Unified-Synchronism) project \cite{nagasm1} \cite{nagasm2}. The target is not only producing a hardware / software system, but also experimentally composing with this system. The piece called ``Chaotic Grains'' was performed on Feb. 11th in Tokyo \cite{nagasm4}. \section{``Chaos'' in Music} \subsection{Logistic Function} ``Chaos'' is easily generated with the following simple function : {\boldmath \[ X_{n} = \mu \cdot X_{n-1} \cdot (1 - X_{n-1}) \] } this function is called ``Logistic Function''. \newpage \begin{figure*} \begin{picture}(636,452) \put(20,-24){\makebox(600,400){}} \end{picture} \end{figure*} There are many complicated and two or three dimensional chaotic functions. But we chose the most simple one, because we wanted observe chaos dynamics. With the area {\boldmath \( 1 < \mu \leq 3 \)}, the value of {\boldmath \( X_{n} \)} is converged into only one value, but on increasing in the area {\boldmath \( 3 < \mu \)}, the value of {\boldmath \( X_{n} \)} is branched into two, four, eight, ... and into the ``chaos zone'' \cite{devaney}. In the ``chaos zone'', some kind of randomness is generated, but there is a particular difference from other ``noisy'' random systems. The parameter {\boldmath \( \mu \)} is very important to control the random characteristic, and it is possible to control the ``chaos'' dynamics with the value of {\boldmath \( \mu \)}. \subsection{Around the ``Window''} We were interested by the fact that the resulting state of chaos cannot be determined in spite of its deterministic definition. Many critical points in the ``chaos zone'' were observed in our previous work \cite{nagasm3}. Even branching many values of {\boldmath \( X_{n} \)} in the ``chaos zone'' of {\boldmath \( \mu \)}, it is impossible to obtain finite values normally. But there are many points with finite values of {\boldmath \( X_{n} \)} in the chaos zone of special {\boldmath \( \mu \)}, which is called ``Window''. If the value of {\boldmath \( \mu \)} is varied widely, the finite ``chaos vibration'' (sequence of values of {\boldmath \( X_{n} \)} with calculation cycle) falls into perfect random state [Table.1]. When the value is slightly varied on the edge of the ``Window'', the ``chaos vibration'' is shifted somewhere in short term. It may return back to the finite state in some cases, as if it were pushed back by an active something. This reaction is very critical and sensitive for the value of {\boldmath \( \mu \)}. \begin{figure*}[t] \begin{center} \begin{minipage}{150mm} \begin{screen} \begin{footnotesize} \begin{tt} \begin{verbatim} 3.922218 = 14 3.922227 = 28 3.922229 = **** 3.922232 = 28 3.922234 = **** 3.922239 = 56 3.922240 = **** 3.922246 = 21 3.922247 = **** 3.923814 = 10 3.923815 = 20 3.923816 = **** 3.925847 = 12 3.925848 = **** 3.926278 = 9 3.926279 = **** 3.926280 = 18 3.926281 = **** 3.930472 = 8 3.930474 = 16 3.930475 = 8 3.930477 = 16 3.930478 = **** 3.930479 = 16 3.930480 = 32 3.930481 = **** 3.930482 = 64 3.930483 = **** 3.934700 = 9 3.934702 = **** 3.934703 = 18 3.934704 = **** 3.936006 = 11 3.936007 = **** 3.936100 = 237 3.936101 = **** 3.937517 = 6 3.937555 = 12 3.937556 = 6 3.937560 = 12 3.937562 = 6 3.937564 = 12 3.937567 = 6 3.937572 = 12 3.937585 = 6 3.937586 = 12 3.937587 = **** 3.937602 = 12 3.937620 = 24 3.937621 = 12 3.937623 = 24 3.937624 = 12 3.937625 = 24 3.937626 = 12 3.937627 = 24 3.937628 = 12 3.937629 = 24 3.937630 = 12 3.937631 = 24 3.937632 = **** 3.937639 = 24 3.937642 = 48 3.937645 = **** 3.937647 = 96 3.937648 = **** 3.937670 = 288 3.937671 = **** 3.937677 = 18 3.937678 = **** 3.937689 = 36 3.937690 = **** 3.940370 = 9 3.940372 = **** 3.944213 = 8 3.944214 = 16 3.944215 = 8 3.944217 = **** 3.944218 = 16 3.944220 = **** 3.944401 = 14 3.944402 = **** 3.947735 = 9 3.947736 = 18 3.947737 = 36 3.947738 = **** 3.951028 = 7 3.951040 = 14 3.951044 = **** 3.951048 = 14 3.951054 = 28 3.951056 = **** 3.951057 = 28 3.951059 = **** 3.951066 = 21 3.951067 = **** 3.954484 = 9 3.954485 = 18 3.954486 = **** 3.956614 = 20 3.956615 = **** 3.958036 = 11 3.958037 = **** 3.960104 = 4 3.960315 = 8 3.960316 = 4 \end{verbatim} \end{tt} \end{footnotesize} \end{screen} \end{minipage} \end{center} \begin{center} {\bf Table.1 Sample of Simulation Result of ``Loop'' and ``Chaos''} \end{center} \end{figure*} \subsection{Musical Replacement} As a simple replacement of ``chaos vibration'' to music, it is easy experimentally to assign the value of {\boldmath \( X_{n} \)} to the ``pitch'', and the calculation cycle to the ``duration''. For example, the MIDI notes which are generated by chaos simulator with the value of {\boldmath \( X_{n} \)} in ``chaos vibration'', are perceived as ``arpeggio'' or ``trill'' performance in music. When we add a heuristic tuning of parameters, a ``slight shift of the value into the chaos zone'' may cause some kind of variations or improvisation of the musical phrase. \section{Single Chaos Generator} For example, [Fig.2] is the system block diagram of ``Single Chaos Generator''. This software module is used in the piece ``CIS (Chaotic Interaction Show)'', which is composed for the demonstration concert of IAKTA Workshop. \subsection{Trigger / Delay} The parameter ``Event Delay'' is the duration between MIDI trigger and starting chaos generation. This parameter is controlled by (1) PC console (with Mouse) and (2) special defined MIDI control message in real-time. When this parameter is set to zero, the chaos generation is started as soon as MIDI trigger is received. \subsection{Chaos Generation} In the ``Logistic Function'' module, there are three parameters : (1) event interval, (2) range of {\boldmath \( \mu \)}, and (3) value of {\boldmath \( \mu \)}. ``Event interval'' is the cycle time of ``generating musical events'', its minimum resolution is about 16msec, and its maximum range is about 2sec. The parameter {\boldmath \( \mu \)} is controlled by two parameters ``range'' and ``value'' in order to set the value of {\boldmath \( \mu \)} rapedly. The parameter ``value'' is assigned as 0 to 9, and ``range'' can shift the floating point. These parameters are also controlled by (1) PC console and (2) special MIDI in real-time. \subsection{Rhythm : Event Filter} There is another chaos (random) generator in order to generate ``event probability'' for primitive rhythm. If the parameter (threshold level) is greater than the randomized value, the chaos events of this calculate cycle is cancelled. This means musical ``rest'', and primitive rhythm is generated. This parameter is also controlled by (1) PC console and (2) special MIDI in real-time. \subsection{Note : Scale and Tonality} In some pieces, notes are selected from some scales with 12 equal temperaments. The output of chaos generation is expanded into MIDI note range with two parameters, (1) highest limit and (2) lowest limit. These parameters are not fixed constantly, but varied by real-time control. Each probability of note assignment is described in the 12-tone table. It is controlled with special MIDI command, PC console, and sensors of the performer. Global scale and tonality are frequently metamorphosed. \subsection{Velocity Down} ``Percussive'' sound is used for almost part of chaotic generation, because of the overlapping problem of MIDI sound modules. The final parameter is ``decrescendo'', decreasing value of MIDI velocity. When this parameter is set to zero, the generated sound remains for ever. This parameter is also controlled by (1) PC console, (2) special MIDI in real-time, and (3) sensor control. \section{CIM and Application} \subsection{CIM blockdiagram} The single chaos generator reacts as if it were pushed back by an active something. In order to use this effect automatically, two individual chaos generators are connected to each other [Fig.3]. The output of one generator is led to the other input as the value of the parameter offset. We call this ``Chaotic Interaction Model (CIM)'', and use the value range (interaction range) of {\boldmath \( \mu \)}. \subsection{CIM application} If we want to add expression to the music using only one chaos generator, we must control the dynamics of it interactively. But it is possible to control or interface each chaos dynamics in CIM, and we can observe and consider the actions from outside. Like the CIM system, the edge area of chaos (Window) is considered a somewhat ``intelligent system'' \cite{aihara} \cite{isabelle} \cite{pecora}, and its application may be useful for composition \cite{bidlack}. \begin{figure*} \begin{picture}(636,328) \put(20,-24){\makebox(600,200){}} \end{picture} \end{figure*} \subsection{Real-Time Composition} CIM is not considered a perfect musical generator, but it is useful tool in musical composition. With the ``Sensor Fusion'' system and musical recognition system, CIM is applied in the musical environment with its real-time composing characteristics [Fig.4]. \begin{figure*} \begin{picture}(636,416) \put(20,-24){\makebox(600,200){}} \end{picture} \end{figure*} In this system, there are two compositional job streams. As ``composition'' is an interactive process, both streams contain an information loop. One loop, ``non real-time composition'' means the traditional style of composition. Composers write scores, input sequence data, and repeat test-listening with arrangement many times. The other loop, ``real-time composition'' has two meanings : (1) improvisation and (2) real-time generation. Improvisation is real-time control of musical parameters by performers with many sensors. Real-time generation is constructed with CIM, and parameters of ``chaos vibration'' are interactively controlled by performers in real-time. This system / concept is being experimented just now. \section{Demonstration of ``CIS''} The piece ``CIS (Chaotic Interaction Show)'' is composed to realize the concept of chaos generated music and real-time composition. It is not only experimental composition, but also the collaboration with the artist of Computer Graphics. The title ``Show'' means thus a collaboraton of computer music and CG. \subsection{Performer} There are two performers on stage : (1) percussionist and (2) conductor. The percussionist performs with MIDI Drum Pad (SPD-11) without its internal sound generator. Both triggered sound and triggered chaos events are generated by the system, and the performer can watch the generated CG with a CRT monitor on stage. He performs with improvisation by listening the sound and by watching the graphics freely. The conductor / performer performs with controllers / sensors : (1) MIDI Pad (TR-505), (2) Joy-stick controller, and (3) Power Glove. All the controllers / sensors are originally produced or arranged by the composer. He performs : (1) musical conversation with percussion, (2) performance of chaos events, (3) real-time Granular Synthesis control, (4) conducting (tempo rubato), and (5) computer control. \subsection{System and Control} [Fig.5] is the system block diagram of ``CIS''. There are two notebook computer (PC-9801N), two AMIGA computer, and 11 single-chip microcomputers inside ``original'' machines : Glove, Receiver, Joy-Stick, MIDI Merger, MIDI Manager, Granular Synth, Sinusoid Synth. All hardware and firmware of these machines are also produced by the composer. Whole musical messages and control messages are originally (re-)defined as the MIDI messages, including sensor signals and CG commands. MIDI cables are connected like ``loop'', and almost machines pass through the input messages for output. The MIDI message filter is constructed in the ``original software'' and the MIDI Merger in order to avoid looping the MIDI messages. Back grounded part of the music is pre-recorded as the sequenced data of the sequencer software. But the system clock of the sequencer is not ``internal'', and MIDI real-time clock message is sent from original ``chaos software''. The conductor can start / stop this MIDI clock with the sensors at some point of the piece, so the ``timing control'' is flexible. The computer graphics of two AMIGA computers are also controlled by MIDI messages. There are individual two softwares : (1) ``Performer'' and (2) ``Bars \& Pipes'', both video outputs are cascaded and merged. CG output is projected to the big screen back of the stage, and can be watched through the CRT monitors by the performer and the conductor. The sound module rack is consist of double four types of synthesizers : (1) PCM sounds, (2) DCF type synthesizers, (3) Granular Synthesizers, and (4) Sinusoid Synthesizers. Two [K4r] are assigned for (1) and (2) with ten MIDI channels, two original granular synthesizers (3) with one MIDI channel (multiplexed), and two original sinusoid synthesizers (4) are assigned with two MIDI channels. The remained MIDI channels are assigned as : two CG control channel, one Effector control channel, and one Pad / Sensor input channel. Some of these messages are multiplexed into the same MIDI channel with special definitions. The original software ``Chaos Generator'' is produced as one part of the piece, programmed with C language. There are some real-time running tasks in this software : (1) MIDI management, (2) Chaos generation, (3) Sensor data matching, (4) Special message management, (5) CG control, and (6) Timing control of the piece. [Fig.6] is the ``Control Message Flow'' diagram of ``CIS''. \section{Conclusion} The second step approach of the ``PEGASUS'' project, focusing on fractal and chaos, and the CIM application system has been described in this paper. There still remains many areas for experimentation. \begin{thebibliography}{99} {\footnotesize {\bf \bibitem{degazio} B.Degazio : Musical Aspects of Fractal Geometry. Proceedings of International Computer Music Conference, pp.435--442, 1986. \bibitem{beyls} P.Beyls : The Musical Universe of Cellular Automata. Proceedings of International Computer Music Conference, pp.34--41, 1989. \bibitem{chadabe} L.Chadabe : Interactive Composing. Proceedings of International Computer Music Conference, pp.298--306, 1983. \bibitem{nagasm1} Y.Nagashima : Neural Network Control for Real Time Granular Synthesis. Proceedings of 6th Annual Conference of JSAI, vol.1, pp.381--384, 1992. \bibitem{nagasm2} Y.Nagashima : Real-time Control System for ``Psuedo Granulation''. Proceedings of International Computer Music Conference, pp404--405, 1992. \bibitem{nagasm4} Y.Nagashima : Musical Concept and System Design of ``Chaotic Grains''. IPSJ SIG Notes Vol.93, No.32, pp9-16, 1993. \bibitem{devaney} Robert L.Devany : An Introduction to Chaotic Dynamical Systems (Second Edition). Addinson-Wesley Publishing Company, 1989. \bibitem{nagasm3} Y.Nagashima : Chaotic Interaction Model for Hierarchical Structure in Music. Proceedings of 46th Annual Conference of IPSJ, vol.2, pp.319--320, 1993. \bibitem{aihara} K.Aihara, T Yoshikawa : Ordered and Chaotic Systems and Information Processing. Journal of JSAI, vol.8, no.2, pp.179--183, 1993. \bibitem{isabelle} S.Isabella, A.Oppenheim, G.Wornell : Effects of Convolution on Chaotic Signals. Proceedings of 1992 IEEE ICASSP, vol.4, pp.133--136, 1992. \bibitem{pecora} L.Pecora, T.Carroll : Synchronized Chaotic Signals and Systems. Proceedings of 1992 IEEE ICASSP, vol.4, pp.137--140, 1992. \bibitem{bidlack} R.Bidlack : Chaotic Systems as Simple (but Complex) Compositional Algorithms. Computer Music Journal, vol.16, no.3, pp.33--47, 1993. } } \end{thebibliography} \end{document}