The Synthesis of Sound with Application in a MIDI Environment
Total Page:16
File Type:pdf, Size:1020Kb
lie 91 - I, The Synthesis of Sound with Application in a MIDI Environment THESIS Submitted in Partial Fulfilment of the Requirements for the Degree of MASTER OF SCIENCE (APPLIED COMPUTER SCIENCE) of Rhodes University by ANTHONYJAMESKESTERTON January 1991 11 Abstract The wide range of options for experimentation with the synthesis of sound are usually expensive, difficult to obtain, or limit the experimenter. The work described in this thesis shows how the IBM PC and software can be combined to provide a suitable platform for experimentation with different synthesis techniques. This platform is based on the PC, the Musical Instrument Digital Interface (MIDI) and a musical instrument called a digital sampler. The fundamental concepts of sound are described, with reference to digital sound reproduction. A number of synthesis techniques are described. These are evaluated according to the criteria of generality, efficiency and control. The techniques discussed are additive synthesis, frequency modulation synthesis, subtractive synthesis, granular synthesis, resynthesis, wavetable synthesis, and sampling. Spiral synthesis, physical modelling, waveshaping and spectral interpolation are discussed briefly. The Musical Instrument Digital Interface is a standard method of connecting digital musical instruments together. It is the MIDI standard and equipment conforming to that standard that makes this implementation of synthesis techniques possible. As a demonstration ofthe PC platform, additive synthesis, frequency modulation synthesis, granular synthesis and spiral synthesis have been implemented in software. A PC equipped with a MIDI interface card is used to perform the synthesis. The MIDI protocol is used to transmit the resultant sound to a digital sampler. The INMOS transputer is used as an accelerator, as the calculation of a waveform using software is a computational intensive process. It is concluded that sound synthesis can be performed successfully using a PC and the appropriate software, and utilizing the facilities provided by a MIDI environment including a digital sampler. III Table of Contents Abstract .. ................... • .. •................•.... .... ..... 11 Table of Contents . ...... .. .. ................................... ... iii List of Figures . .. vi Acknowledgements ....... ... ....... .... ... .. .. ... .. ...... ... Vlll 1. Introduction . • . .. 1 2. Fundamental Concepts . ........•...... .....•................ 5 2.1. Sound. • . 5 2.2. Fourier Transforms ........ ... .......... ............ 7 2.3. Digital Representation of Sound . 12 3. Synthesis Techniques. 16 3.1. Introduction ..............................•... ....... 16 3.2. Evaluation of Synthesis Techniques ........ ....... ... .. 17 3.3. Additive Synthesis .......................... .. .. .. .. 19 3.4. Frequency Modulation Synthesis .......... ... ........ 25 3.5. Subtractive Synthesis .......................•........... 36 3.6. Granular Synthesis ....... .. ..... ............ .. 39 3.7. Resynthesis .. .. ...... .. ..... .... ............... 45 3.8. Wavetable Synthesis ...... ................. ...... .... 48 3.9. Sampling ............................. ... .. .•. ... 51 3.10. Other Synthesis Techniques ........................... 61 3.11. Discussion .................. .. ...... ..... .. .. .. 65 4. MIDI 66 4.1. Introduction . ... ..... ..... ......... .. .. ............ 66 4.2. A Brief History ..... .. ........... .. ... ............. 66 4.3. MIDI Described .............. .... ...... ..... ......... 67 4.4. System Exclusive Commands ................. .. ..... .. 70 4.5. Extensions to MIDI ................................... 71 iv 4.6. An Appraisal of MIDI. 77 5. Implementation .......... .... .... 78 5.1. Analysis and Design . 78 5.2. Synthesis Implementation . ........ ..... .. ..... .. ... 84 5.3. Transputer-based Synthesis. 88 5.4. Additive Synthesis Implementation ...... .. ..... ..... ... .. 96 5.5. Frequency Modulation Implementation . ...... .. ........ .. 98 5.6. Granular Synthesis Implementation . .. 99 5.7. Spiral Synthesis Implementation. 104 6. Conclusion . .. 106 7. Bibliography. 108 Appendices .... ..... .. ...... •... ........ ...... .. ....•........ ll6 Appendix A A Mouse Interface for Turbo C . II 7 AI. Mouse Basics . II 7 A2. The Standard Mouse Calls Interface ... .. ...... ........ .. ll8 A3. The Buffered Mouse Procedures . 122 Appendix B Roland Sample Transfer. 125 B.1. Introduction . 125 B.2. Roland System Exclusive Communication ... ........ .. 125 B.3. ROLAND S-220/S-10 specifics ............. ....•.. .. .• .. 128 B.4. Criticisms of Roland Sample Transfer Methods . .. .... ....... 131 B.5. Conclusion . 133 Appendix C The .ROL file format ......................... .. .... 135 Appendix D Running the Synthesis Software. 137 D.l. Hardware and Software reqillrements ... ........... .. .. 137 D.2. Creating Parameter Files . • . 138 D.3. Performing Synthesis . 139 D.4. Sending Output to the Sampler .. .. .. ... .... .. ..... 140 D.5. Possible Errors and How to Correct Them .........•.... .. .. 141 v Appendix E The SMPX User Guide and Technical Infonnation ... ... .... 144 E.I. User Guide for SMPX . .. ......... .. ... ....... .. 144 E.2. Technical Information ..... .... ...... .. ......... 148 Appendix F Utilities ...... • ...•..................... .. .... ... 154 F.I. Look .... .......... .... .. ....... .. .. ... .. .... 154 F.2. Template Files ... ........ ... ... .. .. .. ... ... 156 Appendix G Execution Times of the Various Synthesis Techniques ... ... .. 158 Appendix H Selected Source Code .......... ... .. ..•..•..... .. ... 159 H.I. Parameter Entry ....... ... ..... ....... ... ... 160 H.2. Synthesis . .. ... .................... ..... .... .. ... 176 H.3. Pack Samples into .ROL Format .................... ... 184 HA. Send a .ROL file to the Roland S-220/S-10 . .... .. ... .. .... 190 vi List of Figures Figure 1.1. A platform for synthesis. The PC is the synthesis engine and the MIDI protocol is used to send the sound to a Roland S-220 digital sampler, where it can be heard. ............................ 3 Figure 2.1. A simple waveform. ............................. ....... 6 Figure 2.2. A sine wave of frequency 5 Hz and period 0.2 seconds. .. 7 Figure 2.3. A sine wave, a square wave and a sawtooth wave. ........ .. 8 Figure 2.4. Sine waves with different phases. One wave has a phase cp = 0, and the other has a phase of cp = rc/2. ... .............. ..... .... 9 Figure 2.5. A single sine wave in the time and frequency domain. .......... 11 Figure 2.6. Each circle represents a wagon wheel. A single spoke is shown for clarity. The initial position is shown on the left, and the position after one frame is shown on the right. ...................... 15 Figure 3.1. A typical ADSR curve . 20 Figure 3.2. A Yamaha FM operator. From [Yamaha, 1987] . .. ............ 29 Figure 3.3. DX21 4-operator algorithm. From [Yamaha, 1985] ........... 29 Figure 3.4. A sound produced from the same two sine waves. The top wave uses additive synthesis, the bottom uses simple Chowning FM. The sine waves have a frequency of 100 Hz and 333 Hz. The modulation index of the FM signal is 0.9. .. 33 Figure 3.5. Xenakis' time frames for granular synthesis. Each filled square represents a grain. From [Roads, 1985al. ............ ..... 41 Figure 3.6. The mapping between input voltage and digital values on an ordinary and companding AID converter. .......... .... ...... 55 Figure 4.1. Open and closed loop MIDI systems. ....................... 76 Figure 5.1. The execution time of the additive synthesis procedures using different processor combinations. ...... .... .......... 94 Figure 5.2. The granular synthesis implementation. An individual grain is made from calculated samples. A grain set is the summation of grains. A sound or waveform is made from grain sets placed one after another. .. 100 Figure 5.3. Possible filter positions on a pole-zero diagram. The position on the z-plane determines the results of spiral synthesis. ......... 105 Figure B.l. Roland system exclusive message format................... 126 Figure F.l. A screen dump from the program LOOKEXE. This is a fine view screen. The sound was produced using additive synthesis. 155 vii Figure F.2. Screen dump from the program LOOK.EXE. This is the coarse view screen. The display shows a sound produced using additive synthesis. 155 viii Acknowledgements I would like to acknowledge the financial assistance of Rhodes University and The Foundation for Research and Development. I would like to thank the Computational Fluid Dynamics Facility of the CSIR for use of equipment and facilities, as well as allowing me time to complete this thesis. I would also like to thank the following people: Dr LM.A Gledhill and Mark Honman for encouragement and allowing me to spend a lot of time working on my thesis. Nic Cooke, William Hayes and Caroline Handler, my M.Sc classmates, for making my M.Sc a memorable one. Richard Foss, my supervisor, for encouragement, guidance and help for the entire duration of the thesis. I would also like to thank him for introducing computer music to me, and for setting up such good facilities at Rhodes. Prof P.D. Terry, whose enthusiasm many years ago convinced me to follow a career in Computer Science, rather than Law. Finally, I would like to thank Giskin Day - for everything. All registered and unregistered trademarks are the properties of their respective holders. 1 1. Introduction The motivation for the work described in this thesis is the lack of a readily-available, cheap, flexible