Integrating the Fairlight CVI into the video workflow

The Fairlight Computer Video Instrument (CVI) is one of the earliest video synthesisers, released in 1984. Over time the aesthetic of its effects has evolved from revolutionary to retro. Although MIDI was developed at around the same time, the CVI is controllable via RS232 rather than MIDI. This paper reviews its history and applications in live and studio-based video production environments. A method is outlined for controlling the CVI that allows sequencing of control data, effect automation, and integration with a digital audio workstation. Results are presented from a system using Logic Pro X for sequencing and Processing for MIDI-serial conversion


Introduction
The Australian company Fairlight is best known for their Computer Musical Instrument (CMI), generally regarded as the first digital audio workstation (DAW), released in 1979.
It introduced digital sampling and sequencing to the world, and its history and influence is discussed more by Leete. [1] In 1984 Fairlight released the Computer Video Instrument (CVI), developed by Kia Silverbrook. Ads suggested that a mere AU$ 10,000 would provide much of the functionality of the UK-manufactured Quantel Paintbox, which was launched in 1981 and retailed for AU$ 360,000.

Background
The hardware consists of a 3U 19-inch rack unit plus a control panel with 10 sliders, 16 buttons and a graphics pad to control 100 editable effects, Figure 1 shows the panel, and figure 2 shows examples of the effects. [2] The CVI combined analogue and digital processing and was aimed at small video production and postproduction facilities. [3] Artists including Jean-Michel Jarre, Todd Rundgren, Crowded House, and A Flock of Seagulls used the CVI for music videos in the late 80's. [4] Jean-Michel Jarre's track "Zoolookologie" is the best example of the effects available. Stephen Jones describes his work using it with the band Severed Heads, and also details the work of Australian video artist Peter Callas. [5]

Figure 2. Examples of effects
As well as video production facilities, some early VJs adopted the CVI. In "The VJ Book", Spinrad comments that "the introduction of the Fairlight opened a brief window of opportunity during which designers could satisfy clients by simply pressing the right button on a new tool, before overuse rendered the results recognizable and uninteresting". [6] Betancourt says it "acted as a 'democratizer' of video processing, making the types of visual effects and composite imagery that were only possible in a few places … even though the graphics it generated had a blocky 8-bit appearance. This 'style' rendered by the technological limitations of the CVI gave its footage a 'look' that was immediately recognizable as being computer-generated". Betancourt similarly attributes its demise to the rise of computer processing. [7] The CVI fell into obsolescence as more powerful hardware became available; it seems unfair to compare the capabilities of contemporary tools to a device built around a 2-MHz Motorola 6809 CPU. Increasing computer power led to the development of video editing software for studio use and the evolution of VJ software for live use.
Despite this, the CVI still has its fans. Second-hand units are highly sought after and typically sell for thousands of pounds when available. The appeal may lie in the continued use of a ground-breaking device from video synthesiser history. Alternatively, there may be a belief that retro effects are most accurately implemented with retro hardware. This mirrors the sentiments of those preferring historical audio synthesisers to their contemporary digital emulations. However, discussion on social media is sporadic and there are relatively few active users. Thus it is worth investigating potential barriers to its continued use, in order to determine the extent to which they can be mitigated.

Issues
The key challenges about using the CVI are: • low resolution • overfamiliarisation with common effects • lack of MIDI implementation The video signal is processed in both the analogue and digital domains. While it offers standard PAL or NTSC analogue resolution, the digital framestore has a low resolution of 256x256. This is a hardware limitation that cannot be overcome.
The second disadvantage, noted above, is that only 100 effects are available, and some are less suitable for live performancefor example, "drawing on live video" gives the impression that MS Paint is being keyed over the source video. The chroma keying, while perfectly functional, is quite unforgiving in its requirements. Other common effects are conspicuously absent, such as a simple additive crossfade between the two inputs.
Most effects are controlled directly via the ten sliders. Personal experience of using the CVI indicates that while the level of control is substantial and the controls at first appear intuitive, the learning curve is steep. For example, without a "cheat sheet" it is hard to recall that the 'pixelate flip' effect is preset 54 and is controlled by the 'Rate 2', 'Zoom' and 'Stretch' sliders. Using the serial port for control can allow these parameters to be modulated without using the sliders.
Other effect parameters are changed via menus, but these are displayed on the main output, so editing is impractical during live performance. However, effect presets can also be edited via the serial port, which would allow changing these parameters without interrupting the output.
The CVI requires a separate frame synchroniser when two sources are used. Also, it supports RGBS component video but frame synchronisers generally do not. As a result most users use composite video.
Reflecting on these shortcomings suggests ways to address them through software. Indeed, at points the user manual hints that this is the best way to control the CVI, and details how this can be done. However, Fairlight did not release any programs with this capability; an Amiga program existed but few details are available. With hindsight, it is surprising that Fairlight did not implement MIDI in the CVI as it had done a year earlier (1983) in the CMI Series IIx.

Methodology
It can be anticipated that video producers would wish to sequence one or both input videos as well as sequencing the CVI commands and effect parameters. While the CVI has a primitive sequencer (whose commands could be recorded on video tape), it is menu-driven and unwieldy. The serial port cannot be accessed directly by video production software, VJ software, or DAWs, so an intermediate program is required to convert a subset of MIDI messages to serial data commands for the CVI. Neither video editors nor VJ software allow the sequencing of MIDI clips, so the most convenient frontend is any DAW supporting video playback. (Unfortunately DAWs do not permit two videos to be played back simultaneously.) An earlier project had successfully controlled the CVI using the dataflow programming language Pure Data. 2 However PD is a somewhat idiosyncratic programming environment and is rarely used in video production. Another alternative was to develop a standalone application. While these options remain feasible, the decision was made to use the Java-based language Processing, 3 as it is cross-platform and actively supported.

Initial tests
A Pure Data patch was used to select presets and control sliders. PD sent MIDI messages to a MIDI junction driver (loopMIDI 4 on the PC, IAC on the Mac). These were read by the Processing sketch, which sends serial data to the CVI via a USB-to-serial device and a null modem cable. The current implementation responds to MIDI notes and control changes on channel 16; notes 0-99 select the corresponding preset and notes 110-121 emulate button presses. Controllers 0-9 are mapped to the sliders with 7bit resolution. Testing was successful on both PC and Mac, with the CVI responding correctly to commands sent at 19200 baud, the maximum speed supported.

DAW tests
Having established that the system worked, the same sketch was fed MIDI data from Logic Pro X. The system configuration and signal flow is shown in Figure 3.

Figure 3. Signal flow
Tests used a CVI with the CVI-06 expansion board. A video was loaded into Logic and displayed on the second monitor output, which was converted to composite video. Other tracks contained MIDI clips (regions) to select the effect and set or automate the effect parameters. At times a MIDI controller was used to replicate the slider movements; in other cases the automation was drawn in the sequencer. Thinning of controller data is required, as MIDI's modest bitrate of 31250 bits per second is still higher than the CVI's maximum bitrate of 19200.
Editing in this manner is still time-consuming, and complicated by the fact that several buttons (e.g. "use stencil") act as toggles, so it is necessary to turn off "MIDI chase" in Logic and keep track of whether the stencil is on or off, and avoid using the controller draw 4  tool, which adds extra interpolated control messages. As a result, each 'take' started from the only fixed settingwhen the CVI has just been powered up. It was also noted that operation at 19200 baud failed during one spell of unusually high temperature and humidity -Fairlight does not guarantee operation at this rate.
Nevertheless, the process was successful, and complex commands with parameter automation could be encoded as MIDI clips. It was found that changing some effect parameters results in a smooth transition rather than an instantaneous changepresumably because the CVI would not 'expect' a slider to jump to a new position.
A demonstration video can be seen at https://vimeo.com/manage/videos/740972745. The software is available at the Fairlight CVI group on Facebook or by emailing the author, and feedback will be welcomed.

Conclusions and future work
The system outlined allows sequences of commands and effect parameter automation to be implemented in the form of MIDI regions within a DAW. It is hoped that this will prove useful to users of a ground-breaking device in video production history.
With the basic framework in place, there are many possible extensions. Not all functionality has been implemented, for example, writing images into the internal frame store. Currently, the Processing sketch mainly acts as a translator, but there is also scope to develop a dedicated GUI. It is hoped that user feedback will inform future work.