The Rubato Composer Music Software (eBook)
XX, 301 Seiten
Springer Berlin (Verlag)
9783642001482 (ISBN)
Both modern mathematical music theory and computer science are strongly influenced by the theory of categories and functors. One outcome of this research is the data format of denotators, which is based on set-valued presheaves over the category of modules and diaffine homomorphisms. The functorial approach of denotators deals with generalized points in the form of arrows and allows the construction of a universal concept architecture. This architecture is ideal for handling all aspects of music, especially for the analysis and composition of highly abstract musical works.
This book presents an introduction to the theory of module categories and the theory of denotators, as well as the design of a software system, called Rubato Composer, which is an implementation of the category-theoretic concept framework. The application is written in portable Java and relies on plug-in components, so-called rubettes, which may be combined in data flow networks for the generation and manipulation of denotators.
The Rubato Composer system is open to arbitrary extension and is freely available under the GPL license. It allows the developer to build specialized rubettes for tasks that are of interest to composers, who in turn combine them to create music. It equally serves music theorists, who use them to extract information from and manipulate musical structures. They may even develop new theories by experimenting with the many parameters that are at their disposal thanks to the increased flexibility of the functorial concept architecture.
Two contributed chapters by Guerino Mazzola and Florian Thalmann illustrate the application of the theory as well as the software in the development of compositional tools and the creation of a musical work with the help of the Rubato framework.
Foreword 5
Preface to the Springer Edition 7
Preface 8
Introduction 9
Overview 11
Contents 13
Part I Concepts and Theory 19
Overview of Music Theories 20
The Representation of Music 24
Types of Representation 24
Symbolic Representation of Music 26
Electronic Scores 27
MIDI 30
Musical Representation Languages 31
Language of General Concepts 35
Architecture of Concepts I: Principles 36
Pure Architecture 36
Selection 37
Conjunction 38
Disjunction 38
Architecture with Primitives 39
Examples 41
Macro Notes 42
Frequency Modulation 43
Full Score 44
The Category of Modules 47
From Monoids to Modules 47
Monoids 48
Groups 49
Rings 49
Modules 53
Categories 57
Definition 57
Functors 59
Natural Transformations 61
Yoneda's Lemma 64
Limits and Colimits 65
Topoi 68
Architecture of Concepts II: Forms and Denotators 70
Forms 70
Denotators 72
Computational Category Theory 73
Data Types in Programming Languages 73
The Role of Diagrams 76
Software Components for Computational Theories 79
Types of User Interface 80
Rubato Composer: Computational Theories 83
Historical Overview 85
presto 85
``Classic'' Rubato 87
Experiments in Java 89
Rubato Composer 90
Part II The Implementation 91
Overview 92
Architecture 94
Overall Structure 94
The Rubato Composer Universe 96
Java Packages 98
Modules and Morphisms 100
Modules and their Elements 100
The Module Interface 100
The ModuleElement Interface 104
Module Morphisms 108
The ModuleMorphism Interface 108
Forms and Denotators 117
Requirements 117
Forms 118
Form Class 119
SimpleForm Class 121
LimitForm and ColimitForm Classes 121
PowerForm and ListForm Classes 122
Denotators 122
SimpleDenotator Class 125
LimitDenotator Class 126
ColimitDenotator Class 127
PowerDenotator and ListDenotator Classes 127
Tools and Operations 128
Construction of Forms and Denotators 128
Paths 130
Module Mapping and Structural Replacement 131
Reforming 132
Address Changing 135
List and Set Operations 136
Tools and Utilities 138
Low-Level Mathematical Tools 138
Numbers 138
Matrixes 139
Repository and Predefined Universe 139
MIDI Sequencer and Synthesizer 141
Scheme Interpreter 142
XML as File Format for Rubato Composer 143
Rubato Composer GUI 145
Terminology 145
The Implementation of Networks 146
Running a Network 148
Macro Rubettes 151
Tools 154
The Plug-In System 154
Part III Rubato Composer in Practice 159
Overview 160
A Tutorial 161
First Applications in Rubette Construction 175
Rubettes for Macro Objects 175
The Wallpaper Rubette 178
The Alteration Rubette 184
Counterpoint Theory 187
Music Composition 188
The BigBang Rubette 190
Spontaneous Algorithmic Composition 190
Facts about Geometric Composition Strategies 191
Gestural Interaction Concept 192
Gesture Theory 192
Application of Gesture Theory 194
Modular Views 195
View Concept 195
Note representation 196
Basic Functionality and Navigation 200
Layers 200
Implemented Gestures 201
Geometrical Transformations 202
Wallpapers 203
Alteration 205
The BigBang Rubette in Context 206
Creative Analysis of Boulez's Structures 208
Boulez's Creative Analysis Revisited 208
Ligeti's Analysis 208
A First Creative Analysis of Structure Ia 210
Address Change 211
Primary Parameter Address Changes 212
Secondary Parameter Address Changes 213
The First Creative Analysis 215
Implementing Creative Analysis in Rubato Composer 216
The System of Boulettes 218
A Second More Creative Analysis and Reconstruction 220
The Conceptual Extensions 221
The BigBang Rubette 226
A Composition 228
Conclusion and Outlook 233
Lessons Learned 233
Things To Do 234
Ideas for Future Work 235
Part IV Appendix 237
User's Manual 238
Introduction 238
Concepts 238
Rubato Composer's World of Objects 238
Rubettes 239
Networks 241
Macro Rubettes 242
Tools 243
Using Rubato Composer 243
Starting up 243
General Usage 243
Main Window 244
Main Menu and Toolbar 245
Network 247
Tools 249
Scheme Tools 256
Preferences 257
Recurring User Interface Elements 258
Core Rubettes 262
Rubette Description Schema 262
List of Core Rubettes 263
Built-in Non-Core Rubettes 274
Writing Rubettes 276
Developing with the Rubato Framework 276
Rubette Interface 278
Rubette Example 284
Specification 284
The LatchRubette class 284
Packaging a Plug-In 289
Types of Module Morphisms 290
The Rubette Java Interface 292
Example LatchRubette class 293
Keyboard Shortcuts 296
Rubato Scheme 297
| Erscheint lt. Verlag | 5.4.2009 |
|---|---|
| Reihe/Serie | Computational Music Science | Computational Music Science |
| Co-Autor | Guerino Mazzola, Florian Thalmann |
| Zusatzinfo | XX, 301 p. 143 illus. |
| Verlagsort | Berlin |
| Sprache | englisch |
| Themenwelt | Kunst / Musik / Theater ► Musik |
| Mathematik / Informatik ► Informatik ► Grafik / Design | |
| Mathematik / Informatik ► Mathematik | |
| Technik | |
| Schlagworte | Architecture • Calculus • Composition • Computer • Computer Science • Construction • Design • Development • HCI • Homomorphism • Java • linear optimization • music theory • Rubato • Software • Structure • Tutorial |
| ISBN-13 | 9783642001482 / 9783642001482 |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich