Computer music instruments II: realtime and object-oriented audio
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Cham
Springer
[2019]
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | xx, 374 Seiten Diagramme |
ISBN: | 9783030137113 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV046752522 | ||
003 | DE-604 | ||
005 | 20210604 | ||
007 | t | ||
008 | 200608s2019 |||| |||| 00||| eng d | ||
020 | |a 9783030137113 |c hardcover |9 978-3-030-13711-3 | ||
035 | |a (OCoLC)1137398563 | ||
035 | |a (DE-599)BVBBV046752522 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-11 |a DE-12 | ||
082 | 0 | |a 004 |2 23 | |
084 | |a MUS |q DE-12 |2 fid | ||
084 | |a ST 690 |0 (DE-625)143691: |2 rvk | ||
100 | 1 | |a Lazzarini, Victor |d 1969- |e Verfasser |0 (DE-588)143254375 |4 aut | |
245 | 1 | 0 | |a Computer music instruments II |b realtime and object-oriented audio |c Victor Lazzarini |
264 | 1 | |a Cham |b Springer |c [2019] | |
264 | 4 | |c © 2019 | |
300 | |a xx, 374 Seiten |b Diagramme | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 4 | |a Computer Appl. in Arts and Humanities | |
650 | 4 | |a Music | |
650 | 4 | |a Signal, Image and Speech Processing | |
650 | 4 | |a Programming Languages, Compilers, Interpreters | |
650 | 4 | |a Information systems | |
650 | 4 | |a Music | |
650 | 4 | |a Computer science | |
650 | 0 | 7 | |a Audiotechnik |0 (DE-588)4140445-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Elektronisches Musikinstrument |0 (DE-588)4014362-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Computermusik |0 (DE-588)4113239-7 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Computermusik |0 (DE-588)4113239-7 |D s |
689 | 0 | 1 | |a Elektronisches Musikinstrument |0 (DE-588)4014362-4 |D s |
689 | 0 | 2 | |a Audiotechnik |0 (DE-588)4140445-2 |D s |
689 | 0 | |C b |5 DE-604 | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-3-030-13712-0 |
787 | 0 | 8 | |i Ergänzung zu |a Lazzarini, Victor, 1969- |t Computer music instruments |z 978-3-319-63503-3 |w (DE-604)BV046108831 |
856 | 4 | 2 | |m Digitalisierung BSB München - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=032162213&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
940 | 1 | |q BSB_NED_20210604 | |
999 | |a oai:aleph.bib-bvb.de:BVB01-032162213 | ||
942 | 1 | 1 | |c 784.19 |e 22/bsb |f 0905 |
942 | 1 | 1 | |c 780.051 |e 22/bsb |f 0905 |
Datensatz im Suchindex
_version_ | 1804181512782872576 |
---|---|
adam_text | Contents Part I Towards Realtime Audio in C 1 Introduction to the Programming Environment...................................... 1.1 The Operating System .......................................................................... 1.1.1 The File System........................................................................ 1.1.2 The Terminal.............................................................................. 1.1.3 Processes.................................................................................... 1.1.4 The Manual................................................................................ 1.1.5 The POSIX Standard................................................................ 1.2 The C/C++Toolchain............................................................................ 1.2.1 Compilers and Interpreters ...................................................... 1.2.2 Compiling.................................................................................. 1.2.3 Running Programs from the Terminal.................................... 1.3 Introduction to C Programming............................................................ 1.3.1 Character and Keyword Sets.................................................... 1.3.2 Entry Point................................................................................ 1.3.3 The shin Program.................................................................. 1.3.4 Summary.................................................................................... 1.4
Conclusions............................................................................................ Problems.......................................................................................................... 3 3 4 5 8 9 9 9 9 10 11 11 12 12 14 15 16 17 2 Data types and Operators .......................................................................... 2.1 Variables and Types .............................................................................. 2.1.1 Encoding.................................................................................... 2.1.2 Integers...................................................................................... 2.1.3 Real Numbers............................................................................ 2.1.4 Characters.................................................................................. 2.2 Initialisation, Assignment and Arithmetic Operations........................ 2.2.1 Variable Scope.......................................................................... 2.2.2 Constants.................................................................................... 2.2.3 Operations.................................................................................. 19 19 20 22 22 23 24 24 25 26 xi
xii Contents 2.2.4 Conversion ................................................................................ 2.2.5 Arithmetic Order ...................................................................... 2.2.6 The sizeof Operator.............................................................. 2.3 Conclusions........................................................................................... Problems.......................................................................................................... 27 28 28 28 29 3 Standard Input and Output........................................................................ 3.1 Printing to the Terminal........................................................................ 3.1.1 The Format String .................................................................... 3.2 Getting Input from the Terminal.......................................................... 3.2.1 Pattern Matching ...................................................................... 3.3 Character Input and Output.................................................................. 3.4 The calc Program................................................................................ 3.5 Conclusions............................................................................................ Problems.......................................................................................................... 31 31 32 34 34 35 36 37 37 4 Control of Flow.............................................................................................. 4.1 Conditional and Logical
Expressions................................................. 4.2 Conditional Execution .......................................................................... 4.2.1 Conditional Operator................................................................ 4.3 Switch...................................................................................................... 4.4 Iteration .................................................................................................. 4.4.1 The while and do - while Loops...................................... 4.4.2 The for Loop .......................................................................... 4.4.3 The break and continue Statements................................ 4.5 A First Synthesis Program.................................................................... 4.5.1 Plotting the Waveform.............................................................. 4.5.2 Playing the Sound...................................................................... 4.5.3 Other Waveforms...................................................................... 4.6 Conclusions............................................................................................ Problems.......................................................................................................... 39 39 40 42 43 45 45 47 48 48 49 52 52 53 53 5 Arrays and Pointers...................................................................................... 5.1 Arrays...................................................................................................... 5.1.1 Two-
Dimensional Arrays.......................................................... 5.2 Strings .................................................................................................... 5.3 Pointers.................................................................................................... 5.4 Pointers and Arrays................................................................................ 5.4.1 Pointer Arithmetic.................................................................... 5.4.2 Pointers and Strings.................................................................. 5.5 Conclusions............................................................................................ Problems......................................................................................................... 55 55 57 57 58 60 60 63 65 65
Contents xiii 6 Functions........................................................................................................ 6.1 Function Definition.............................................................................. 6.1.1 Arguments.................................................................................. 6.1.2 Variable Lifetime...................................................................... 6.1.3 Call Semantics.......................................................................... 6.1.4 Function Prototypes.................................................................. 6.1.5 Parametrised Macros and Inline Functions............................ 6.1.6 Variable Argument Lists.......................................................... 6.1.7 Recursive Calls.......................................................................... 6.2 Modular Programming.......................................................................... 6.3 Pointers to Functions ............................................................................ 6.4 The C Standard Library ........................................................................ 6.5 Another Synthesis Program.................................................................. 6.5.1 Plotting ...................................................................................... 6.5.2 Realtime .................................................................................... 6.6 Arguments to main ( ).......................................................................... 6.6.1 Translating
Arguments............................................................. 6.7 Conclusions............................................................................................ Problems.......................................................................................................... 67 67 68 69 69 70 70 72 73 73 75 77 77 79 80 81 82 83 83 7 Structures........................................................................................................ 7.1 Defining a New Type ............................................................................ 7.1.1 Member Access ........................................................................ 7.1.2 Pointers to Structures................................................................ 7.2 Functions in Structures.......................................................................... 7.3 Unions .................................................................................................... 7.4 Enumerations.......................................................................................... 7.5 Bitwise Operations................................................................................ 7.5.1 Bitwise Logic............................................................................ 7.5.2 Bitshift Operators...................................................................... 7.6 Conclusions............................................................................................ Problems.......................................................................................................... 85 85
86 87 88 89 89 90 90 92 93 93 8 Memory Management.................................................................................. 95 8.1 Allocating Memory................................................................................ 95 8.1.1 Reallocation .............................................................................. 96 8.1.2 Freeing Memory............................... 97 8.1.3 Setting and Copying Memory Blocks .................................... 97 8.2 Dynamic Arrays .................................................................................... 97 8.3 Linked Lists............................................................................................ 99 8.4 Conclusions............................................................................................. 102 Problems........................................................................................................... 103
XIV Contents 9 File Input and Output.................................................................................... 105 9.1 Standard C Library File 10.................................................................... 105 9.2 Text File Functions.................................................................................. 107 9.3 Direct File 10 Functions..........................................................................108 9.3.1 Reading/Writing Position.......................................................... 109 9.3.2 Error Reporting............................................................................ 109 9.4 File System Functions.............................................................................. 110 9.5 Programming Examples..........................................................................110 9.5.1 The tobin Program.................................................................. 110 9.5.2 External Score Generation for Csound.................................... Ill 9.6 Conclusions.............................................................................................. 112 Problems............................................................................................................ 113 10 Soundfiles.......................................................................................................... 115 10.1 Digital Audio............................................................................................ 115 10.1.1 Sampling Frequency .................................................................. 116
10.1.2 Sample Precision........................................................................ 117 10.1.3 Audio Channels .......................................................................... 118 10.2 Basic Operations on Signals.................................................................... 119 10.2.1 A Synthesis Example.................................................................. 120 10.2.2 Byte Order.................................................................................... 121 10.2.3 Self-Describing Soundfile Formats............................................ 121 10.3 The libsndfile Library..............................................................................122 10.3.1 Opening Files.............................................................................. 122 10.3.2 Reading and Writing.................................................................. 124 10.3.3 Seeking........................................................................................125 10.3.4 An Example Program..................................................................126 10.4 Conclusions..............................................................................................128 Problems............................................................................................................128 11 Realtime Audio................................................................................................131 11.1 Portaudio..................................................................................................132 11.1.1 Listing
Devices............................................................................ 133 11.1.2 Stream Parameters...................................................................... 134 11.1.3 Opening Devices ........................................................................ 135 11.1.4 Synchronous Mode......................................................................136 11.1.5 Asynchronous Mode ..................................................................137 11.1.6 Closing Up .................................................................................. 139 11.1.7 The todac Program.................................................................. 139 11.1.8 An Audio Effect..........................................................................141 11.2 The Jack Connection Kit........................................................................ 145 11.2.1 Opening a Client..........................................................................146 11.2.2 Registering Ports ........................................................................147 11.2.3 The Processing Callback............................................................148 11.2.4 Connecting Ports ........................................................................148
Contents XV 11.2.5 Closing a Client..........................................................................149 11.2.6 Application Example..................................................................149 11.3 Conclusions..............................................................................................154 Problems............................................................................................................154 12 Realtime MIDI ................................................................................................155 12.1 The Protocol..............................................................................................155 12.1.1 Hexadecimal Notation Revisited ..............................................156 12.1.2 MIDI Messages ..........................................................................156 12.1.3 Packing and Unpacking the Status Byte ..................................158 12.2 MIDI Programming Basics ....................................................................158 12.2.1 MIDI on MacOS..........................................................................159 12.3 MIDI Programming with Portmidi........................................................163 12.3.1 Timers......................................................................................... 164 12.3.2 Opening Devices ....................................................................... 165 12.3.3 Output......................................................................................... 166 12.3.4
Input............................................................................................. 168 12.3.5 A MIDI Synthesiser....................................................................169 12.4 МШІ on Jack........................................................................................... 174 12.4.1 Example....................................................................................... 176 12.5 Conclusions............................................................................................. 182 Problems........................................................................................................... 182 Part П Object-Oriented Audio in C++ 13 Oscillators......................................................................................................... 185 13.1 Moving to C++....................................................................................... 187 13.1.1 C++Structures........................................................................... 188 13.1.2 Overloading and Optional Parameters......................................190 13.1.3 Memory Management............................................................... 191 13.2 The Table Lookup Oscillator................................................................. 192 13.3 Conclusions............................................................................................. 196 Problems........................................................................................................... 196 14
Interpolation................................................................................................... 199 14.1 Linear Interpolation.................................................................................200 14.2 Cubic Interpolation.................................................................................201 14.3 Inheritance...............................................................................................202 14.3.1 Polymorphism.............................................................................205 14.3.2 Oscillator Inheritance Tree....................................................... 205 14.4 Function Table Objects...........................................................................209 14.5 Reference Types .....................................................................................210 14.5.1 Copy Constructors.....................................................................212 14.5.2 Object Reference Arguments ................................................... 212 14.5.3 Self References...........................................................................214 14.6 Phase Generators and Table Readers..................................................... 214
xvi Contents 14.6.1 ThePhasor ................................................................................215 14.6.2 Table Reader..............................................................................215 14.7 Conclusions............................................................................................216 Problems........................................................................................................... 217 15 Envelopes........................................................................................................219 15.1 Envelope Generators............................................................................... 219 15.1.1 Linear Envelopes....................................................................... 220 15.1.2 Exponential Envelopes.............................................................. 221 15.2 AccessControl and Classes................................................................... 222 15.2.1 Namespaces ............................................................................... 224 15.2.2 A Line Class..............................................................................225 15.3 Operator Overloading............................................................................. 228 15.3.1 Standard 10 Revisited................................................................229 15.4 An Audio Output Class........................................................................... 230 15.5 Conclusions............................................................................................. 232
Problems........................................................................................................... 232 16 Filters ............................................................................................................... 235 16.1 Feedback Filters ..................................................................................... 236 16.1.1 First-Order Tone Filters............................................................. 236 16.1.2 Second-Order Filters................................................................. 238 16.1.3 Fourth-Order Filters....................................................................241 16.1.4 Balancing ................................................................................... 242 16.2 Templates................................................................................................. 243 16.2.1 Templates in the Standard C++ Library................................... 244 16.2.2 Range-Based Loops....................................................................247 16.3 Conclusions............................................................................................. 247 Problems........................................................................................................... 248 17 AuLib ............................................................................................................... 249 17.1 Object-Oriented Audio Systems ........................................................... 250 17.2 Library
Design......................................................................................... 251 17.2.1 Stateful versus Stateless Representations................................. 251 17.2.2 Abstraction and Encapsulation................................................. 253 17.2.3 Code Reuse................................................................................. 253 17.2.4 Connectivity............................................................................... 255 17.3 A Tour of the Library............................................................................. 256 17.3.1 Signal Generators....................................................................... 257 17.3.2 Signal Processors....................................................................... 259 17.3.3 Audio Input and Output............................................................. 259 17.4 Synthesis and Processing Control......................................................... 260 17.5 An AuLib Instrument............................................................................. 260 17.6 Conclusions............................................................................................. 264 Problems........................................................................................................... 264
Contents xvii 18 Delay Line Processing....................................................................................265 18.1 Circular Buffers........................................................................................266 18.2 Fixed-Delay Effects ............................................................................... 267 18.2.1 Comb Filters............................................................................... 272 18.2.2 All-Pass Filters............................................................................273 18.3 Variable Delay Lines............................................................................... 275 18.4 Multiple Taps........................................................................................... 278 18.4.1 Convolution................................................................................. 280 18.5 Lambda Functions................................................................................... 282 18.5.1 Auto Types................................................................................. 283 18.6 Conclusions............................................................................................. 284 Problems................................................................................................. 285 19 Frequency-Domain Processing..................................................................... 287 19.1 Fundamental Principles ......................................................................... 288 19.1.1 Complex
Numbers..................................................................... 289 19.1.2 Spectral Analysis....................................................................... 290 19.2 The Fast Fourier Transform................................................................... 292 19.2.1 Real-to-Complex and Complex-to-Real Transforms ............. 298 19.3 Fast Convolution..................................................................................... 302 19.3.1 Overlap Add............................................................................... 305 19.3.2 Overlap Save............................................................................... 305 19.3.3 Multiple Partitions..................................................................... 306 19.3.4 Convolution Reverb................................................................... 310 19.4 Streaming Spectral Processing............................................................... 312 19.4.1 Spectral Analysis....................................................................... 315 19.4.2 Resynthesis................................................................................. 317 19.4.3 Spectral Manipulation............................................................... 320 19.5 Conclusions............................................................................................. 323 Problems........................................................................................................... 324 20
Plugins............................................................................................................... 325 20.1 Plugins in Csound................................................................................... 325 20.2 Framework Design................................................................................. 326 20.2.1 The Base Classes....................................................................... 327 20.2.2 Deriving Opcode Classes............................................................328 20.2.3 Registering Opcodes with Csound........................................... 331 20.3 The Csound Engine Object..................................................................... 332 20.4 Opcode Programming............................................................................. 333 20.4.1 Delay Line................................................................................... 333 20.4.2 Table-Lookup Oscillator........................................................... 335 20.4.3 Text Processing........................................................................... 336 20.4.4 Spectral Processing ................................................................... 337 20.4.5 Array Processing ....................................................................... 339 20.4.6 External Resources..................................................................... 341
xviii Contents 20.4.7 MultithreadingOpcodes .............................................................343 20.5 Conclusions.............................................................................................343 Problems........................................................................................................... 343 Appendix A AuLib Reference............................................................................................. 347 A. 1 Library-Wide Definitions.......................................................................347 A.2 AudioBase...........................................................................................348 A.3 Deriving New Classes.............................................................................350 A.4 Audio DSP Classes.................................................................................352 A.5 Control Classes.......................................................................................354 A.5.1 MIDI Synth Example................................................................. 356 A.6 Other Classes...........................................................................................360 A.7 Building AuLib.......................................................................................360 References................................................................................................................. 363 Index......................................................................................................................... 367
|
adam_txt |
Contents Part I Towards Realtime Audio in C 1 Introduction to the Programming Environment. 1.1 The Operating System . 1.1.1 The File System. 1.1.2 The Terminal. 1.1.3 Processes. 1.1.4 The Manual. 1.1.5 The POSIX Standard. 1.2 The C/C++Toolchain. 1.2.1 Compilers and Interpreters . 1.2.2 Compiling. 1.2.3 Running Programs from the Terminal. 1.3 Introduction to C Programming. 1.3.1 Character and Keyword Sets. 1.3.2 Entry Point. 1.3.3 The shin Program. 1.3.4 Summary. 1.4
Conclusions. Problems. 3 3 4 5 8 9 9 9 9 10 11 11 12 12 14 15 16 17 2 Data types and Operators . 2.1 Variables and Types . 2.1.1 Encoding. 2.1.2 Integers. 2.1.3 Real Numbers. 2.1.4 Characters. 2.2 Initialisation, Assignment and Arithmetic Operations. 2.2.1 Variable Scope. 2.2.2 Constants. 2.2.3 Operations. 19 19 20 22 22 23 24 24 25 26 xi
xii Contents 2.2.4 Conversion . 2.2.5 Arithmetic Order . 2.2.6 The sizeof Operator. 2.3 Conclusions. Problems. 27 28 28 28 29 3 Standard Input and Output. 3.1 Printing to the Terminal. 3.1.1 The Format String . 3.2 Getting Input from the Terminal. 3.2.1 Pattern Matching . 3.3 Character Input and Output. 3.4 The calc Program. 3.5 Conclusions. Problems. 31 31 32 34 34 35 36 37 37 4 Control of Flow. 4.1 Conditional and Logical
Expressions. 4.2 Conditional Execution . 4.2.1 Conditional Operator. 4.3 Switch. 4.4 Iteration . 4.4.1 The while and do - while Loops. 4.4.2 The for Loop . 4.4.3 The break and continue Statements. 4.5 A First Synthesis Program. 4.5.1 Plotting the Waveform. 4.5.2 Playing the Sound. 4.5.3 Other Waveforms. 4.6 Conclusions. Problems. 39 39 40 42 43 45 45 47 48 48 49 52 52 53 53 5 Arrays and Pointers. 5.1 Arrays. 5.1.1 Two-
Dimensional Arrays. 5.2 Strings . 5.3 Pointers. 5.4 Pointers and Arrays. 5.4.1 Pointer Arithmetic. 5.4.2 Pointers and Strings. 5.5 Conclusions. Problems. 55 55 57 57 58 60 60 63 65 65
Contents xiii 6 Functions. 6.1 Function Definition. 6.1.1 Arguments. 6.1.2 Variable Lifetime. 6.1.3 Call Semantics. 6.1.4 Function Prototypes. 6.1.5 Parametrised Macros and Inline Functions. 6.1.6 Variable Argument Lists. 6.1.7 Recursive Calls. 6.2 Modular Programming. 6.3 Pointers to Functions . 6.4 The C Standard Library . 6.5 Another Synthesis Program. 6.5.1 Plotting . 6.5.2 Realtime . 6.6 Arguments to main ( ). 6.6.1 Translating
Arguments. 6.7 Conclusions. Problems. 67 67 68 69 69 70 70 72 73 73 75 77 77 79 80 81 82 83 83 7 Structures. 7.1 Defining a New Type . 7.1.1 Member Access . 7.1.2 Pointers to Structures. 7.2 Functions in Structures. 7.3 Unions . 7.4 Enumerations. 7.5 Bitwise Operations. 7.5.1 Bitwise Logic. 7.5.2 Bitshift Operators. 7.6 Conclusions. Problems. 85 85
86 87 88 89 89 90 90 92 93 93 8 Memory Management. 95 8.1 Allocating Memory. 95 8.1.1 Reallocation . 96 8.1.2 Freeing Memory. 97 8.1.3 Setting and Copying Memory Blocks . 97 8.2 Dynamic Arrays . 97 8.3 Linked Lists. 99 8.4 Conclusions. 102 Problems. 103
XIV Contents 9 File Input and Output. 105 9.1 Standard C Library File 10. 105 9.2 Text File Functions. 107 9.3 Direct File 10 Functions.108 9.3.1 Reading/Writing Position. 109 9.3.2 Error Reporting. 109 9.4 File System Functions. 110 9.5 Programming Examples.110 9.5.1 The tobin Program. 110 9.5.2 External Score Generation for Csound. Ill 9.6 Conclusions. 112 Problems. 113 10 Soundfiles. 115 10.1 Digital Audio. 115 10.1.1 Sampling Frequency . 116
10.1.2 Sample Precision. 117 10.1.3 Audio Channels . 118 10.2 Basic Operations on Signals. 119 10.2.1 A Synthesis Example. 120 10.2.2 Byte Order. 121 10.2.3 Self-Describing Soundfile Formats. 121 10.3 The libsndfile Library.122 10.3.1 Opening Files. 122 10.3.2 Reading and Writing. 124 10.3.3 Seeking.125 10.3.4 An Example Program.126 10.4 Conclusions.128 Problems.128 11 Realtime Audio.131 11.1 Portaudio.132 11.1.1 Listing
Devices. 133 11.1.2 Stream Parameters. 134 11.1.3 Opening Devices . 135 11.1.4 Synchronous Mode.136 11.1.5 Asynchronous Mode .137 11.1.6 Closing Up . 139 11.1.7 The todac Program. 139 11.1.8 An Audio Effect.141 11.2 The Jack Connection Kit. 145 11.2.1 Opening a Client.146 11.2.2 Registering Ports .147 11.2.3 The Processing Callback.148 11.2.4 Connecting Ports .148
Contents XV 11.2.5 Closing a Client.149 11.2.6 Application Example.149 11.3 Conclusions.154 Problems.154 12 Realtime MIDI .155 12.1 The Protocol.155 12.1.1 Hexadecimal Notation Revisited .156 12.1.2 MIDI Messages .156 12.1.3 Packing and Unpacking the Status Byte .158 12.2 MIDI Programming Basics .158 12.2.1 MIDI on MacOS.159 12.3 MIDI Programming with Portmidi.163 12.3.1 Timers. 164 12.3.2 Opening Devices . 165 12.3.3 Output. 166 12.3.4
Input. 168 12.3.5 A MIDI Synthesiser.169 12.4 МШІ on Jack. 174 12.4.1 Example. 176 12.5 Conclusions. 182 Problems. 182 Part П Object-Oriented Audio in C++ 13 Oscillators. 185 13.1 Moving to C++. 187 13.1.1 C++Structures. 188 13.1.2 Overloading and Optional Parameters.190 13.1.3 Memory Management. 191 13.2 The Table Lookup Oscillator. 192 13.3 Conclusions. 196 Problems. 196 14
Interpolation. 199 14.1 Linear Interpolation.200 14.2 Cubic Interpolation.201 14.3 Inheritance.202 14.3.1 Polymorphism.205 14.3.2 Oscillator Inheritance Tree. 205 14.4 Function Table Objects.209 14.5 Reference Types .210 14.5.1 Copy Constructors.212 14.5.2 Object Reference Arguments . 212 14.5.3 Self References.214 14.6 Phase Generators and Table Readers. 214
xvi Contents 14.6.1 ThePhasor .215 14.6.2 Table Reader.215 14.7 Conclusions.216 Problems. 217 15 Envelopes.219 15.1 Envelope Generators. 219 15.1.1 Linear Envelopes. 220 15.1.2 Exponential Envelopes. 221 15.2 AccessControl and Classes. 222 15.2.1 Namespaces . 224 15.2.2 A Line Class.225 15.3 Operator Overloading. 228 15.3.1 Standard 10 Revisited.229 15.4 An Audio Output Class. 230 15.5 Conclusions. 232
Problems. 232 16 Filters . 235 16.1 Feedback Filters . 236 16.1.1 First-Order Tone Filters. 236 16.1.2 Second-Order Filters. 238 16.1.3 Fourth-Order Filters.241 16.1.4 Balancing . 242 16.2 Templates. 243 16.2.1 Templates in the Standard C++ Library. 244 16.2.2 Range-Based Loops.247 16.3 Conclusions. 247 Problems. 248 17 AuLib . 249 17.1 Object-Oriented Audio Systems . 250 17.2 Library
Design. 251 17.2.1 Stateful versus Stateless Representations. 251 17.2.2 Abstraction and Encapsulation. 253 17.2.3 Code Reuse. 253 17.2.4 Connectivity. 255 17.3 A Tour of the Library. 256 17.3.1 Signal Generators. 257 17.3.2 Signal Processors. 259 17.3.3 Audio Input and Output. 259 17.4 Synthesis and Processing Control. 260 17.5 An AuLib Instrument. 260 17.6 Conclusions. 264 Problems. 264
Contents xvii 18 Delay Line Processing.265 18.1 Circular Buffers.266 18.2 Fixed-Delay Effects . 267 18.2.1 Comb Filters. 272 18.2.2 All-Pass Filters.273 18.3 Variable Delay Lines. 275 18.4 Multiple Taps. 278 18.4.1 Convolution. 280 18.5 Lambda Functions. 282 18.5.1 Auto Types. 283 18.6 Conclusions. 284 Problems. 285 19 Frequency-Domain Processing. 287 19.1 Fundamental Principles . 288 19.1.1 Complex
Numbers. 289 19.1.2 Spectral Analysis. 290 19.2 The Fast Fourier Transform. 292 19.2.1 Real-to-Complex and Complex-to-Real Transforms . 298 19.3 Fast Convolution. 302 19.3.1 Overlap Add. 305 19.3.2 Overlap Save. 305 19.3.3 Multiple Partitions. 306 19.3.4 Convolution Reverb. 310 19.4 Streaming Spectral Processing. 312 19.4.1 Spectral Analysis. 315 19.4.2 Resynthesis. 317 19.4.3 Spectral Manipulation. 320 19.5 Conclusions. 323 Problems. 324 20
Plugins. 325 20.1 Plugins in Csound. 325 20.2 Framework Design. 326 20.2.1 The Base Classes. 327 20.2.2 Deriving Opcode Classes.328 20.2.3 Registering Opcodes with Csound. 331 20.3 The Csound Engine Object. 332 20.4 Opcode Programming. 333 20.4.1 Delay Line. 333 20.4.2 Table-Lookup Oscillator. 335 20.4.3 Text Processing. 336 20.4.4 Spectral Processing . 337 20.4.5 Array Processing . 339 20.4.6 External Resources. 341
xviii Contents 20.4.7 MultithreadingOpcodes .343 20.5 Conclusions.343 Problems. 343 Appendix A AuLib Reference. 347 A. 1 Library-Wide Definitions.347 A.2 AudioBase.348 A.3 Deriving New Classes.350 A.4 Audio DSP Classes.352 A.5 Control Classes.354 A.5.1 MIDI Synth Example. 356 A.6 Other Classes.360 A.7 Building AuLib.360 References. 363 Index. 367 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Lazzarini, Victor 1969- |
author_GND | (DE-588)143254375 |
author_facet | Lazzarini, Victor 1969- |
author_role | aut |
author_sort | Lazzarini, Victor 1969- |
author_variant | v l vl |
building | Verbundindex |
bvnumber | BV046752522 |
classification_rvk | ST 690 |
ctrlnum | (OCoLC)1137398563 (DE-599)BVBBV046752522 |
dewey-full | 004 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 004 - Computer science |
dewey-raw | 004 |
dewey-search | 004 |
dewey-sort | 14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02179nam a2200541 c 4500</leader><controlfield tag="001">BV046752522</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20210604 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">200608s2019 |||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783030137113</subfield><subfield code="c">hardcover</subfield><subfield code="9">978-3-030-13711-3</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1137398563</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV046752522</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-11</subfield><subfield code="a">DE-12</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004</subfield><subfield code="2">23</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">MUS</subfield><subfield code="q">DE-12</subfield><subfield code="2">fid</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 690</subfield><subfield code="0">(DE-625)143691:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Lazzarini, Victor</subfield><subfield code="d">1969-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)143254375</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Computer music instruments II</subfield><subfield code="b">realtime and object-oriented audio</subfield><subfield code="c">Victor Lazzarini</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Cham</subfield><subfield code="b">Springer</subfield><subfield code="c">[2019]</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">© 2019</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xx, 374 Seiten</subfield><subfield code="b">Diagramme</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer Appl. in Arts and Humanities</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Music</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Signal, Image and Speech Processing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Programming Languages, Compilers, Interpreters</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Information systems</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Music</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer science</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Audiotechnik</subfield><subfield code="0">(DE-588)4140445-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Elektronisches Musikinstrument</subfield><subfield code="0">(DE-588)4014362-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Computermusik</subfield><subfield code="0">(DE-588)4113239-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Computermusik</subfield><subfield code="0">(DE-588)4113239-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Elektronisches Musikinstrument</subfield><subfield code="0">(DE-588)4014362-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Audiotechnik</subfield><subfield code="0">(DE-588)4140445-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="C">b</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-3-030-13712-0</subfield></datafield><datafield tag="787" ind1="0" ind2="8"><subfield code="i">Ergänzung zu</subfield><subfield code="a">Lazzarini, Victor, 1969-</subfield><subfield code="t">Computer music instruments</subfield><subfield code="z">978-3-319-63503-3</subfield><subfield code="w">(DE-604)BV046108831</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung BSB München - ADAM Catalogue Enrichment</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=032162213&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="940" ind1="1" ind2=" "><subfield code="q">BSB_NED_20210604</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-032162213</subfield></datafield><datafield tag="942" ind1="1" ind2="1"><subfield code="c">784.19</subfield><subfield code="e">22/bsb</subfield><subfield code="f">0905</subfield></datafield><datafield tag="942" ind1="1" ind2="1"><subfield code="c">780.051</subfield><subfield code="e">22/bsb</subfield><subfield code="f">0905</subfield></datafield></record></collection> |
id | DE-604.BV046752522 |
illustrated | Not Illustrated |
index_date | 2024-07-03T14:42:22Z |
indexdate | 2024-07-10T08:52:50Z |
institution | BVB |
isbn | 9783030137113 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-032162213 |
oclc_num | 1137398563 |
open_access_boolean | |
owner | DE-11 DE-12 |
owner_facet | DE-11 DE-12 |
physical | xx, 374 Seiten Diagramme |
psigel | BSB_NED_20210604 |
publishDate | 2019 |
publishDateSearch | 2019 |
publishDateSort | 2019 |
publisher | Springer |
record_format | marc |
spelling | Lazzarini, Victor 1969- Verfasser (DE-588)143254375 aut Computer music instruments II realtime and object-oriented audio Victor Lazzarini Cham Springer [2019] © 2019 xx, 374 Seiten Diagramme txt rdacontent n rdamedia nc rdacarrier Computer Appl. in Arts and Humanities Music Signal, Image and Speech Processing Programming Languages, Compilers, Interpreters Information systems Computer science Audiotechnik (DE-588)4140445-2 gnd rswk-swf Elektronisches Musikinstrument (DE-588)4014362-4 gnd rswk-swf Computermusik (DE-588)4113239-7 gnd rswk-swf Computermusik (DE-588)4113239-7 s Elektronisches Musikinstrument (DE-588)4014362-4 s Audiotechnik (DE-588)4140445-2 s b DE-604 Erscheint auch als Online-Ausgabe 978-3-030-13712-0 Ergänzung zu Lazzarini, Victor, 1969- Computer music instruments 978-3-319-63503-3 (DE-604)BV046108831 Digitalisierung BSB München - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=032162213&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Lazzarini, Victor 1969- Computer music instruments II realtime and object-oriented audio Computer Appl. in Arts and Humanities Music Signal, Image and Speech Processing Programming Languages, Compilers, Interpreters Information systems Computer science Audiotechnik (DE-588)4140445-2 gnd Elektronisches Musikinstrument (DE-588)4014362-4 gnd Computermusik (DE-588)4113239-7 gnd |
subject_GND | (DE-588)4140445-2 (DE-588)4014362-4 (DE-588)4113239-7 |
title | Computer music instruments II realtime and object-oriented audio |
title_auth | Computer music instruments II realtime and object-oriented audio |
title_exact_search | Computer music instruments II realtime and object-oriented audio |
title_exact_search_txtP | Computer music instruments II realtime and object-oriented audio |
title_full | Computer music instruments II realtime and object-oriented audio Victor Lazzarini |
title_fullStr | Computer music instruments II realtime and object-oriented audio Victor Lazzarini |
title_full_unstemmed | Computer music instruments II realtime and object-oriented audio Victor Lazzarini |
title_short | Computer music instruments II |
title_sort | computer music instruments ii realtime and object oriented audio |
title_sub | realtime and object-oriented audio |
topic | Computer Appl. in Arts and Humanities Music Signal, Image and Speech Processing Programming Languages, Compilers, Interpreters Information systems Computer science Audiotechnik (DE-588)4140445-2 gnd Elektronisches Musikinstrument (DE-588)4014362-4 gnd Computermusik (DE-588)4113239-7 gnd |
topic_facet | Computer Appl. in Arts and Humanities Music Signal, Image and Speech Processing Programming Languages, Compilers, Interpreters Information systems Computer science Audiotechnik Elektronisches Musikinstrument Computermusik |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=032162213&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT lazzarinivictor computermusicinstrumentsiirealtimeandobjectorientedaudio |