One of the largest challenges facing computer scientists is how to harness multi-core processors ... more One of the largest challenges facing computer scientists is how to harness multi-core processors into coherent and useful tools. We consider one approach to shared-memory parallelism, based on thirty year old ideas from the LISP community, and describe its application to one "legacy" audio programming system, Csound. The paper concludes with an assessment of the current state of implementation.
We describe the development and implementation of a family of non-linear filters in which the non... more We describe the development and implementation of a family of non-linear filters in which the non-linear term is given a variable recursive delay, in the context of a search for what we term an arithmetical instrument -a n instrumentwhosedesignis foundedonpurelynumerical models. Such filters are inherently unstable; we describe how they may be controlled, not only by the careful selection and constraining of parameters, but also by appropriate andidiomaticperformancetechnique. We drawcompar- isons between these filters and the behaviour of acous- tic instruments, which typically exhibit what we call ex- citable regions of sonic activity.
This chapter presents a case study of a fixed-media piece composed entirely using Csound. It disc... more This chapter presents a case study of a fixed-media piece composed entirely using Csound. It discusses the main ideas that motivated the work, and its three basic ingredients: a non-standard spectral delay method; a classic algorithm using time-varying delays; and feedback. The source sounds used for the piece are discussed, as well as its overall structure. The case study is completed by looking at how post-production aspects can be seamlessly integrated into the orchestra code.
The linear frequency (constant-bandwidth) scale of the FFT has long been recognised as a disadvan... more The linear frequency (constant-bandwidth) scale of the FFT has long been recognised as a disadvantage for audio processing. Long analysis windows are required for adequate low-frequency resolution, while small windows offer lower latency, better handling of transients, and reduced computation cost. A constant-Q form of analysis offers the possibility of increased low-frequency resolution for a given window size, this resolution being essential for many fundamental processing tasks such as pitch shifting. We consider the application of the Sliding Discrete Fourier Transform to a Constant-Q analysis. The increased flexibility of sliding allows for a variety of data alignments, and we produce the mathematical formulation of these. Windowing in the frequency domain introduces further complications. Finally we consider the implementation of the analysis on both serial and parallel computers. 1.
The Sliding Discrete Fourier Transform (Sliding DFT) is used as the engine of a phase vocoder, to... more The Sliding Discrete Fourier Transform (Sliding DFT) is used as the engine of a phase vocoder, to create a Slid-ing Phase Vocoder (SPV). With a little care this allows very accurate pitch shifting and low latency, and opens a number of possible extensions. We also consider the use of vector parallel processing to make these techniques a viable option. 1. BACKGROUND In his AES lecture, Moorer[11] considered what might be the state of audio processing in 2020, given the ongoing increase in computer power as defined by Moore’s Law; indeed, with the increasing availability of multiple-core devices at consumer prices, it seems likely that if any-thing, the trend defined by Moore will accelerate rather
This version is made available in accordance with publisher policies. Please cite only the publis... more This version is made available in accordance with publisher policies. Please cite only the published version using the reference above.
It is common knowledge that desktop computing power is now increasing mainly by the change to mul... more It is common knowledge that desktop computing power is now increasing mainly by the change to multi-core chips. This is a challenge for the software community in general, but is a particular problem for audio process-ing. Our needs are increasingly towards real-time and low latency. We propose a number of possible paths that need investigation, including multi-core and special ac-celerators, which may offer useful new musical tools. We define this as High-Performance Audio Computing, or HiPAC, in analogy to current HPC activity, and indicate some on-going work.
A design for a shared-memory multicore evaluation system for Csound is developed, that maintains ... more A design for a shared-memory multicore evaluation system for Csound is developed, that maintains the same semantics as the sequential system,but is capable of scaling to a number of cores. This system is based on earlier parallel processor technology and also on methods of instruction allocation in RISC computers. The user need not be aware of the scheme or take any special actions, and it is totally transparent to the collection of legacy pieces.
This paper discusses the presence of the sound and music computing system Csound in the modern wo... more This paper discusses the presence of the sound and music computing system Csound in the modern world-wide web browser platform. It introduces the two versions of the sys-tem currently available, as pure Javascript code, and as por-table Native Client binary module with a Javascript inter-face. Three example applications are presented, showing so-me of the potential uses of the system. The paper concludes with a discussion of the wider Csound application ecosys-tem, and the prospects for its future development.
The Sliding Discrete Fourier Transform (Sliding DFT) is used as the engine of a phase vocoder, to... more The Sliding Discrete Fourier Transform (Sliding DFT) is used as the engine of a phase vocoder, to create a Sliding Phase Vocoder (SPV). With a little care this allows very accurate pitch shifting and low latency, and opens a number of possible extensions. We also consider the use of vector parallel processing to make these techniques a viable option.
The existence of the sliding DFT has been known for some time, but it does not seem to be in wide... more The existence of the sliding DFT has been known for some time, but it does not seem to be in wide use, possibly because of its perceived computational cost. In this paper we review the mathematical background, and implementation issues, and then consider the advantages and disadvantages of the Sliding Discrete Fourier Transform (SDFT) as compared with a more traditional FFT algorithm. We also propose a much more efficient Simple Sliding Inverse DFT that makes sliding a serious alternative to jumping between overlapping frames. Finally we assess the quality of transformations based on the SDFT in a Csound implementation.
E-Science is increasingly recognising the importance of provenance, that is the origin and subseq... more E-Science is increasingly recognising the importance of provenance, that is the origin and subsequent history of a document, in assessing its value. We argue here that computer music can also benefit from incorporating indications of provenance at many levels. We recognise that the challenge is to create and maintain metadata noninvasively ... until, that is, the composer or musicologist wants access. Although this paper, having explored the general idea of computational provenance, describes an application to composition, in particular using the Csound system, the same idea could be incorporated into other systems. We also look forward to further possible applications.
One of the largest challenges facing computer scientists is how to harness multi-core processors ... more One of the largest challenges facing computer scientists is how to harness multi-core processors into coherent and useful tools. We consider one approach to shared-memory parallelism, based on thirty year old ideas from the LISP community, and describe its application to one "legacy" audio programming system, Csound. The paper concludes with an assessment of the current state of implementation.
We describe the development and implementation of a family of non-linear filters in which the non... more We describe the development and implementation of a family of non-linear filters in which the non-linear term is given a variable recursive delay, in the context of a search for what we term an arithmetical instrument -a n instrumentwhosedesignis foundedonpurelynumerical models. Such filters are inherently unstable; we describe how they may be controlled, not only by the careful selection and constraining of parameters, but also by appropriate andidiomaticperformancetechnique. We drawcompar- isons between these filters and the behaviour of acous- tic instruments, which typically exhibit what we call ex- citable regions of sonic activity.
This chapter presents a case study of a fixed-media piece composed entirely using Csound. It disc... more This chapter presents a case study of a fixed-media piece composed entirely using Csound. It discusses the main ideas that motivated the work, and its three basic ingredients: a non-standard spectral delay method; a classic algorithm using time-varying delays; and feedback. The source sounds used for the piece are discussed, as well as its overall structure. The case study is completed by looking at how post-production aspects can be seamlessly integrated into the orchestra code.
The linear frequency (constant-bandwidth) scale of the FFT has long been recognised as a disadvan... more The linear frequency (constant-bandwidth) scale of the FFT has long been recognised as a disadvantage for audio processing. Long analysis windows are required for adequate low-frequency resolution, while small windows offer lower latency, better handling of transients, and reduced computation cost. A constant-Q form of analysis offers the possibility of increased low-frequency resolution for a given window size, this resolution being essential for many fundamental processing tasks such as pitch shifting. We consider the application of the Sliding Discrete Fourier Transform to a Constant-Q analysis. The increased flexibility of sliding allows for a variety of data alignments, and we produce the mathematical formulation of these. Windowing in the frequency domain introduces further complications. Finally we consider the implementation of the analysis on both serial and parallel computers. 1.
The Sliding Discrete Fourier Transform (Sliding DFT) is used as the engine of a phase vocoder, to... more The Sliding Discrete Fourier Transform (Sliding DFT) is used as the engine of a phase vocoder, to create a Slid-ing Phase Vocoder (SPV). With a little care this allows very accurate pitch shifting and low latency, and opens a number of possible extensions. We also consider the use of vector parallel processing to make these techniques a viable option. 1. BACKGROUND In his AES lecture, Moorer[11] considered what might be the state of audio processing in 2020, given the ongoing increase in computer power as defined by Moore’s Law; indeed, with the increasing availability of multiple-core devices at consumer prices, it seems likely that if any-thing, the trend defined by Moore will accelerate rather
This version is made available in accordance with publisher policies. Please cite only the publis... more This version is made available in accordance with publisher policies. Please cite only the published version using the reference above.
It is common knowledge that desktop computing power is now increasing mainly by the change to mul... more It is common knowledge that desktop computing power is now increasing mainly by the change to multi-core chips. This is a challenge for the software community in general, but is a particular problem for audio process-ing. Our needs are increasingly towards real-time and low latency. We propose a number of possible paths that need investigation, including multi-core and special ac-celerators, which may offer useful new musical tools. We define this as High-Performance Audio Computing, or HiPAC, in analogy to current HPC activity, and indicate some on-going work.
A design for a shared-memory multicore evaluation system for Csound is developed, that maintains ... more A design for a shared-memory multicore evaluation system for Csound is developed, that maintains the same semantics as the sequential system,but is capable of scaling to a number of cores. This system is based on earlier parallel processor technology and also on methods of instruction allocation in RISC computers. The user need not be aware of the scheme or take any special actions, and it is totally transparent to the collection of legacy pieces.
This paper discusses the presence of the sound and music computing system Csound in the modern wo... more This paper discusses the presence of the sound and music computing system Csound in the modern world-wide web browser platform. It introduces the two versions of the sys-tem currently available, as pure Javascript code, and as por-table Native Client binary module with a Javascript inter-face. Three example applications are presented, showing so-me of the potential uses of the system. The paper concludes with a discussion of the wider Csound application ecosys-tem, and the prospects for its future development.
The Sliding Discrete Fourier Transform (Sliding DFT) is used as the engine of a phase vocoder, to... more The Sliding Discrete Fourier Transform (Sliding DFT) is used as the engine of a phase vocoder, to create a Sliding Phase Vocoder (SPV). With a little care this allows very accurate pitch shifting and low latency, and opens a number of possible extensions. We also consider the use of vector parallel processing to make these techniques a viable option.
The existence of the sliding DFT has been known for some time, but it does not seem to be in wide... more The existence of the sliding DFT has been known for some time, but it does not seem to be in wide use, possibly because of its perceived computational cost. In this paper we review the mathematical background, and implementation issues, and then consider the advantages and disadvantages of the Sliding Discrete Fourier Transform (SDFT) as compared with a more traditional FFT algorithm. We also propose a much more efficient Simple Sliding Inverse DFT that makes sliding a serious alternative to jumping between overlapping frames. Finally we assess the quality of transformations based on the SDFT in a Csound implementation.
E-Science is increasingly recognising the importance of provenance, that is the origin and subseq... more E-Science is increasingly recognising the importance of provenance, that is the origin and subsequent history of a document, in assessing its value. We argue here that computer music can also benefit from incorporating indications of provenance at many levels. We recognise that the challenge is to create and maintain metadata noninvasively ... until, that is, the composer or musicologist wants access. Although this paper, having explored the general idea of computational provenance, describes an application to composition, in particular using the Csound system, the same idea could be incorporated into other systems. We also look forward to further possible applications.
Uploads
Papers by John Fitch