# digital signal processing "signals processed in this manner are a sequence of numbers that represent samples of a continuous variable in a domain such as time, space, or frequency" notes about what i found important knowledge for sound creation # links * online book: [the scientist and engineer's guide to digital signal processing](http://www.dspguide.com/pdfbook.htm) * book: The Computer Music Tutorial by Curtis Roads (1256 pages) * online book: [spectral audio signal processing](https://www.dsprelated.com/freebooks/sasp/) by julius o. smith iii * [sound texture perception via statistics of the auditory periphery: evidence from sound synthesis](https://www.semanticscholar.org/paper/Sound-Texture-Perception-via-Statistics-of-the-from-McDermott-Simoncelli/1c6ac9844de18855f51e13437c84e869590e4b1e). synthesis of sound textures * [puredata](http://puredata.info/) graphical dsp programming. easy to create graphical interfaces with controls, for example when linking multiple midi devices # subtopics * [analysis and resynthesis](sound/resynthesis.html) * [convolution](convolution.html) * [frequency filtering](sound/filters.html) * [notes](sound/notes.html) * [phase generation](sound/phase-generation.html) * [tools used by sph](sound/sph.html) * [software implementation](sound/implementation.html) * [synthesis](sound/synthesis.html) # digital sound representation a common format for storing signals digitally is sample values of the distance magnitude of a vibration over time, like positions of a membrane between two bounding values ## sampling rate * also called sample rate * describes how many samples represent one second of sound * with a higher sampling rate, more and higher frequencies can be represented * the maximum representable frequency in hertz is half the sampling rate, as any higher frequency than that would be spaced in a smaller duration than two subsequent sample values # algorithms * stateless: have only parameter values that need not be kept * stateful: have parameters for values that need to be kept between function calls. for example, carryover values that fall outside the currently processed range and are used in the next one * processing one input sample at a time: can affect multiple samples only with state and delay after accumulating samples * segment to segment: processors might depend on preceding or following values * one to many: output creates a longer signal * many to one: a longer signal becomes a shorter one # digital music making tools * analog hardware devices for synthesizers with keyboards or sequencing * software sequencers where instruments, synthesizer sounds, recordings and effects can be layed out and played back * software environments like fruity loops, reaktor, reason and others * lv2 or vst plugins as effects and synthesizers * taking audio recordings and prepare their ordered playback in a program like ardour or cubase * connecting hardware devices with midi and puredata and the user interfaces that it can create * preparing sample arrays using a general purpose programming language and writing to sound files # other * [harmonic](https://en.wikipedia.org/wiki/Harmonic): a harmonic is a wave with a frequency that is a positive integer multiple of the frequency of the original wave * [time series](https://en.wikipedia.org/wiki/Time_series): a series of data points indexed (or listed or graphed) in time order. most commonly, a time series is a sequence taken at successive equally spaced points in time * a sound program is a potential for sounds to occur. elements can appear and disappear like entering and exiting a dimension. there is always some kind of seed, for example the literal arguments in program code * amplitude: the magnitude of the difference between a variables extreme values. the amplitude of a periodic variable is a measure of its change over a single period * clipping: limiting values to a maximum * digital image processing is a subcategory of digital signal processing * envelope: a path of loudness transition * every linear time-invariant system can be represented by a convolution * frequency: number of occurrences of a repeating event per unit time * low frequency: less rapid change between sample values * phase: relative shift or progression of a repeating event * sequencer: configures the starting points and durations of sounds * vocoder: splits into frequency bands and removes bands * wave < instrument < composition * more links * [amplitude](https://en.wikipedia.org/wiki/Amplitude) * [artificial reverberation](https://ccrma.stanford.edu/~jos/pasp/Artificial_Reverberation.html) * [beat](https://en.wikipedia.org/wiki/Beat_(acoustics)) interference pattern between two sounds of slightly different frequencies * [negative frequency](https://en.wikipedia.org/wiki/Negative_frequency) * [phase](https://en.wikipedia.org/wiki/Phase_(waves)) * [rhythm](https://en.wikipedia.org/wiki/Rhythm)