Linux ProAudio: Difference between revisions
Jump to navigation
Jump to search
Lsokolowski1 (talk | contribs) mNo edit summary |
|||
| Line 1: | Line 1: | ||
[[Category:private]] | [[Category:private]] | ||
;title: Linux Pro Audio | ;title: Linux Pro Audio | ||
;author: Alexander Patrakov | ;author: Alexander Patrakov | ||
== JACK | |||
== JACK == | |||
* JACK Audio Connection Kit | * JACK Audio Connection Kit | ||
| Line 11: | Line 11: | ||
* Two implementations exist: jackd1 and jackd2 | * Two implementations exist: jackd1 and jackd2 | ||
== Types of Pro Audio applications | == Types of Pro Audio applications == | ||
* Digital audio workstations | * Digital audio workstations | ||
| Line 21: | Line 21: | ||
* Others | * Others | ||
== This slideshow will be mostly about programming environments | == This slideshow will be mostly about programming environments == | ||
* CSound | * CSound | ||
| Line 27: | Line 27: | ||
* Faust | * Faust | ||
== Audio data types | == Audio data types == | ||
* Sampled audio | * Sampled audio | ||
| Line 42: | Line 42: | ||
** Think of it as a next-generation networked MIDI | ** Think of it as a next-generation networked MIDI | ||
== CSound | == CSound == | ||
* Created in 1985 by Barry Vercoe | * Created in 1985 by Barry Vercoe | ||
| Line 53: | Line 53: | ||
* Can also interface with audio and MIDI hardware | * Can also interface with audio and MIDI hardware | ||
== Mechanism | == Mechanism == | ||
* Orchestra contains instrument definitions | * Orchestra contains instrument definitions | ||
| Line 62: | Line 62: | ||
* Finally, some of the variables are sent to the instrument output | * Finally, some of the variables are sent to the instrument output | ||
== Available primitives (opcodes) for instruments | == Available primitives (opcodes) for instruments == | ||
* ~1500 opcodes are built-in | * ~1500 opcodes are built-in | ||
| Line 73: | Line 73: | ||
* User who knows C can also extend CSound with new opcodes | * User who knows C can also extend CSound with new opcodes | ||
== CSound ecosystem | == CSound ecosystem == | ||
* CSound itself | * CSound itself | ||
Latest revision as of 18:32, 22 January 2026
- title
- Linux Pro Audio
- author
- Alexander Patrakov
JACK
- JACK Audio Connection Kit
- Connects Pro Audio applications with each other and with sound card
- Two implementations exist: jackd1 and jackd2
Types of Pro Audio applications
- Digital audio workstations
- Loopers
- Sequencers
- Synths
- Effect racks
- Programming environments
- Others
This slideshow will be mostly about programming environments
- CSound
- Pure Data (Pd)
- Faust
Audio data types
- Sampled audio
- Usually recorded from a microphone, but may be synthesized
- That's what the consumer gets
- MIDI
- Musical Instrument Digital Interface
- Conveys information about musical notes
- Notation, pitch, velocity, volume, panning, etc.
- Also has control messages
- OSC
- Open Sound Control
- Protocol for networking sound synthesizers, computers, and other multimedia devices for purposes such as musical performance or show control
- Think of it as a next-generation networked MIDI
CSound
- Created in 1985 by Barry Vercoe
- A command-line tool
- Takes two text files as input
- Orchestra (set of instruments - descriptions how to make sounds)
- Score (description of what instruments to use, when and how)
- Those two may be unified into a single CSD file
- Produces a wave file as an output
- Can also interface with audio and MIDI hardware
Mechanism
- Orchestra contains instrument definitions
- Instrument definitions contain calls to opcodes
- Opcodes update variables
- a-, k-, i- variables are available
- a- = updated at audio rate, k- = at control rate, i- = at initialization only
- Finally, some of the variables are sent to the instrument output
Available primitives (opcodes) for instruments
- ~1500 opcodes are built-in
- Simple math
- Oscillators
- Additive, subtractive, FM and other synthesizers
- Filters
- Envelope generators
- Ways to define new opcodes in terms of existing ones
- User who knows C can also extend CSound with new opcodes
CSound ecosystem
- CSound itself
- Editors that make editing instrument definitions and scores easy
- Journals and user forums
- Showcases on soundcloud and elsewhere