Name | signalflow JSON |
Version |
0.5.4
JSON |
| download |
home_page | None |
Summary | SignalFlow is a sound synthesis library designed for clear and concise expression of sonic ideas |
upload_time | 2025-07-25 17:27:04 |
maintainer | None |
docs_url | None |
author | Daniel Jones |
requires_python | >=3.8 |
license | None |
keywords |
audio
sound
synthesis
dsp
sound-synthesis
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# SignalFlow
  [](https://github.com/mkenney/software-guides/blob/master/STABILITY-BADGES.md#beta)
SignalFlow is a sound synthesis framework designed for clear and concise expression of complex musical ideas. It has an extensive Python API, for fluid audio experimentation in iPython/Jupyter, with its core written in portable, hardware-accelerated C++11.
SignalFlow is in beta status. Interfaces may be subject to change.
## Example
```python
from signalflow import *
#--------------------------------------------------------------------------------
# An AudioGraph is made up of a network of interconnected Nodes, which generate
# and process audio.
#--------------------------------------------------------------------------------
graph = AudioGraph()
#--------------------------------------------------------------------------------
# Passing an array of frequencies creates a stereo output.
#--------------------------------------------------------------------------------
sine = SineOscillator([440, 880])
#--------------------------------------------------------------------------------
# Simple attack/sustain/release envelope with linear curves.
#--------------------------------------------------------------------------------
env = ASREnvelope(0.01, 0.1, 0.5)
#--------------------------------------------------------------------------------
# Use standard arithmetic operations to combine signals. When a multi-channel
# signal is multiplied by a mono signal, the mono signal is auto-upmixed.
#--------------------------------------------------------------------------------
output = sine * env
#--------------------------------------------------------------------------------
# Connect the output to the graph, and begin playback.
#--------------------------------------------------------------------------------
output.play()
graph.wait()
```
## Installation
SignalFlow requires Python 3.8 or above, and supports macOS, Linux (x86_64), Raspberry Pi (3+), and Windows (64-bit).
In a nutshell, SignalFlow can be installed with pip: `pip3 install signalflow`.
For a complete walkthrough on setting up your system with Python and SignalFlow, see [Installing SignalFlow](https://signalflow.dev/installation/).
## Examples
Several example scripts are provided in [examples](examples).
To download the `examples` folder:
```python
import signalflow_examples
signalflow_examples.download_examples()
```
## Documentation
In-depth documentation, including a reference guide to each of the Node classes, can be found at [signalflow.dev](https://signalflow.dev/).
## Node class library
The following Node classes are currently included with the base distribution:
| Category | Classes |
|:---------|:---------|
| **Analysis** | [CrossCorrelate](https://signalflow.dev/library/analysis/crosscorrelate/), [NearestNeighbour](https://signalflow.dev/library/analysis/nearestneighbour/), [OnsetDetector](https://signalflow.dev/library/analysis/onsetdetector/), [VampAnalysis](https://signalflow.dev/library/analysis/vampanalysis/) |
| **Buffer** | [BeatCutter](https://signalflow.dev/library/buffer/beatcutter/), [BufferLooper](https://signalflow.dev/library/buffer/bufferlooper/), [BufferPlayer](https://signalflow.dev/library/buffer/bufferplayer/), [BufferRecorder](https://signalflow.dev/library/buffer/bufferrecorder/), [FeedbackBufferReader](https://signalflow.dev/library/buffer/feedbackbufferreader/), [FeedbackBufferWriter](https://signalflow.dev/library/buffer/feedbackbufferwriter/), [HistoryBufferWriter](https://signalflow.dev/library/buffer/historybufferwriter/), [SegmentPlayer](https://signalflow.dev/library/buffer/segmentplayer/) |
| **Buffer: Granulation** | [SegmentedGranulator](https://signalflow.dev/library/buffer/granulation/segmentedgranulator/), [Granulator](https://signalflow.dev/library/buffer/granulation/granulator/) |
| **Control** | [MouseX](https://signalflow.dev/library/control/mousex/), [MouseY](https://signalflow.dev/library/control/mousey/), [MouseDown](https://signalflow.dev/library/control/mousedown/) |
| **Envelope** | [Accumulator](https://signalflow.dev/library/envelope/accumulator/), [ADSREnvelope](https://signalflow.dev/library/envelope/adsrenvelope/), [ASREnvelope](https://signalflow.dev/library/envelope/asrenvelope/), [DetectSilence](https://signalflow.dev/library/envelope/detectsilence/), [Envelope](https://signalflow.dev/library/envelope/envelope/), [Line](https://signalflow.dev/library/envelope/line/), [RectangularEnvelope](https://signalflow.dev/library/envelope/rectangularenvelope/) |
| **FFT** | [FFTContinuousPhaseVocoder](https://signalflow.dev/library/fft/fftcontinuousphasevocoder/), [FFTConvolve](https://signalflow.dev/library/fft/fftconvolve/), [FFTBufferPlayer](https://signalflow.dev/library/fft/fftbufferplayer/), [FFTContrast](https://signalflow.dev/library/fft/fftcontrast/), [FFTCrossFade](https://signalflow.dev/library/fft/fftcrossfade/), [FFTLFO](https://signalflow.dev/library/fft/fftlfo/), [FFTMagnitudePhaseArray](https://signalflow.dev/library/fft/fftmagnitudephasearray/), [FFTRandomPhase](https://signalflow.dev/library/fft/fftrandomphase/), [FFTScaleMagnitudes](https://signalflow.dev/library/fft/fftscalemagnitudes/), [FFTTransform](https://signalflow.dev/library/fft/ffttransform/), [FFT](https://signalflow.dev/library/fft/fft/), [FFTNode](https://signalflow.dev/library/fft/fftnode/), [FFTOpNode](https://signalflow.dev/library/fft/fftopnode/), [FFTFindPeaks](https://signalflow.dev/library/fft/fftfindpeaks/), [IFFT](https://signalflow.dev/library/fft/ifft/), [FFTLPF](https://signalflow.dev/library/fft/fftlpf/), [FFTNoiseGate](https://signalflow.dev/library/fft/fftnoisegate/), [FFTPhaseVocoder](https://signalflow.dev/library/fft/fftphasevocoder/), [FFTTonality](https://signalflow.dev/library/fft/ffttonality/), [FFTZeroPhase](https://signalflow.dev/library/fft/fftzerophase/) |
| **Operators** | [Add](https://signalflow.dev/library/operators/add/), [AmplitudeToDecibels](https://signalflow.dev/library/operators/amplitudetodecibels/), [DecibelsToAmplitude](https://signalflow.dev/library/operators/decibelstoamplitude/), [Bus](https://signalflow.dev/library/operators/bus/), [ChannelArray](https://signalflow.dev/library/operators/channelarray/), [ChannelCrossfade](https://signalflow.dev/library/operators/channelcrossfade/), [ChannelMixer](https://signalflow.dev/library/operators/channelmixer/), [ChannelOffset](https://signalflow.dev/library/operators/channeloffset/), [ChannelSelect](https://signalflow.dev/library/operators/channelselect/), [Equal](https://signalflow.dev/library/operators/equal/), [NotEqual](https://signalflow.dev/library/operators/notequal/), [GreaterThan](https://signalflow.dev/library/operators/greaterthan/), [GreaterThanOrEqual](https://signalflow.dev/library/operators/greaterthanorequal/), [LessThan](https://signalflow.dev/library/operators/lessthan/), [LessThanOrEqual](https://signalflow.dev/library/operators/lessthanorequal/), [Modulo](https://signalflow.dev/library/operators/modulo/), [Abs](https://signalflow.dev/library/operators/abs/), [If](https://signalflow.dev/library/operators/if/), [Divide](https://signalflow.dev/library/operators/divide/), [FrequencyToMidiNote](https://signalflow.dev/library/operators/frequencytomidinote/), [MidiNoteToFrequency](https://signalflow.dev/library/operators/midinotetofrequency/), [Multiply](https://signalflow.dev/library/operators/multiply/), [Pow](https://signalflow.dev/library/operators/pow/), [RoundToScale](https://signalflow.dev/library/operators/roundtoscale/), [Round](https://signalflow.dev/library/operators/round/), [ScaleLinExp](https://signalflow.dev/library/operators/scalelinexp/), [ScaleLinLin](https://signalflow.dev/library/operators/scalelinlin/), [SelectInput](https://signalflow.dev/library/operators/selectinput/), [Subtract](https://signalflow.dev/library/operators/subtract/), [Sum](https://signalflow.dev/library/operators/sum/), [TimeShift](https://signalflow.dev/library/operators/timeshift/), [Sin](https://signalflow.dev/library/operators/sin/), [Cos](https://signalflow.dev/library/operators/cos/), [Tan](https://signalflow.dev/library/operators/tan/), [Tanh](https://signalflow.dev/library/operators/tanh/) |
| **Oscillators** | [Constant](https://signalflow.dev/library/oscillators/constant/), [Impulse](https://signalflow.dev/library/oscillators/impulse/), [LFO](https://signalflow.dev/library/oscillators/lfo/), [SawLFO](https://signalflow.dev/library/oscillators/sawlfo/), [SawOscillator](https://signalflow.dev/library/oscillators/sawoscillator/), [SineLFO](https://signalflow.dev/library/oscillators/sinelfo/), [SineOscillator](https://signalflow.dev/library/oscillators/sineoscillator/), [SquareLFO](https://signalflow.dev/library/oscillators/squarelfo/), [SquareOscillator](https://signalflow.dev/library/oscillators/squareoscillator/), [TriangleLFO](https://signalflow.dev/library/oscillators/trianglelfo/), [TriangleOscillator](https://signalflow.dev/library/oscillators/triangleoscillator/), [Wavetable](https://signalflow.dev/library/oscillators/wavetable/), [Wavetable2D](https://signalflow.dev/library/oscillators/wavetable2d/) |
| **Processors** | [Clip](https://signalflow.dev/library/processors/clip/), [Fold](https://signalflow.dev/library/processors/fold/), [Smooth](https://signalflow.dev/library/processors/smooth/), [WetDry](https://signalflow.dev/library/processors/wetdry/), [Wrap](https://signalflow.dev/library/processors/wrap/) |
| **Processors: Delays** | [AllpassDelay](https://signalflow.dev/library/processors/delays/allpassdelay/), [CombDelay](https://signalflow.dev/library/processors/delays/combdelay/), [OneTapDelay](https://signalflow.dev/library/processors/delays/onetapdelay/), [Stutter](https://signalflow.dev/library/processors/delays/stutter/) |
| **Processors: Distortion** | [Resample](https://signalflow.dev/library/processors/distortion/resample/), [SampleAndHold](https://signalflow.dev/library/processors/distortion/sampleandhold/), [Squiz](https://signalflow.dev/library/processors/distortion/squiz/), [WaveShaper](https://signalflow.dev/library/processors/distortion/waveshaper/) |
| **Processors: Dynamics** | [Compressor](https://signalflow.dev/library/processors/dynamics/compressor/), [Gate](https://signalflow.dev/library/processors/dynamics/gate/), [Maximiser](https://signalflow.dev/library/processors/dynamics/maximiser/), [RMS](https://signalflow.dev/library/processors/dynamics/rms/) |
| **Processors: Filters** | [BiquadFilter](https://signalflow.dev/library/processors/filters/biquadfilter/), [DCFilter](https://signalflow.dev/library/processors/filters/dcfilter/), [EQ](https://signalflow.dev/library/processors/filters/eq/), [MoogVCF](https://signalflow.dev/library/processors/filters/moogvcf/), [SVFilter](https://signalflow.dev/library/processors/filters/svfilter/) |
| **Processors: Panning** | [AzimuthPanner](https://signalflow.dev/library/processors/panning/azimuthpanner/), [ChannelPanner](https://signalflow.dev/library/processors/panning/channelpanner/), [SpatialPanner](https://signalflow.dev/library/processors/panning/spatialpanner/), [StereoBalance](https://signalflow.dev/library/processors/panning/stereobalance/), [StereoPanner](https://signalflow.dev/library/processors/panning/stereopanner/), [StereoWidth](https://signalflow.dev/library/processors/panning/stereowidth/) |
| **Sequencing** | [ClockDivider](https://signalflow.dev/library/sequencing/clockdivider/), [Counter](https://signalflow.dev/library/sequencing/counter/), [Euclidean](https://signalflow.dev/library/sequencing/euclidean/), [FlipFlop](https://signalflow.dev/library/sequencing/flipflop/), [ImpulseSequence](https://signalflow.dev/library/sequencing/impulsesequence/), [Index](https://signalflow.dev/library/sequencing/index/), [Latch](https://signalflow.dev/library/sequencing/latch/), [Sequence](https://signalflow.dev/library/sequencing/sequence/), [TriggerMult](https://signalflow.dev/library/sequencing/triggermult/), [TriggerRoundRobin](https://signalflow.dev/library/sequencing/triggerroundrobin/) |
| **Stochastic** | [Logistic](https://signalflow.dev/library/stochastic/logistic/), [PinkNoise](https://signalflow.dev/library/stochastic/pinknoise/), [RandomBrownian](https://signalflow.dev/library/stochastic/randombrownian/), [RandomChoice](https://signalflow.dev/library/stochastic/randomchoice/), [RandomCoin](https://signalflow.dev/library/stochastic/randomcoin/), [RandomExponentialDist](https://signalflow.dev/library/stochastic/randomexponentialdist/), [RandomExponential](https://signalflow.dev/library/stochastic/randomexponential/), [RandomGaussian](https://signalflow.dev/library/stochastic/randomgaussian/), [RandomImpulseSequence](https://signalflow.dev/library/stochastic/randomimpulsesequence/), [RandomImpulse](https://signalflow.dev/library/stochastic/randomimpulse/), [RandomUniform](https://signalflow.dev/library/stochastic/randomuniform/), [StochasticNode](https://signalflow.dev/library/stochastic/stochasticnode/), [WhiteNoise](https://signalflow.dev/library/stochastic/whitenoise/) |
## Contributors
Thanks to the following contributors:
- Greg White ([@gregwht](https://github.com/gregwht)): Examples, documentation and testing
- Arthur Carabott ([@acarabott](https://github.com/acarabott)), Tim Murray-Browne ([@timmb](https://github.com/timmb)): Windows support
- Dan Stowell ([@danstowell](https://github.com/danstowell)): Build improvements
- Marc Fargas ([@telenieko](https://github.com/telenieko)): Generous donation of the `signalflow` pypi namespace
- Ed Gillett: Generous donation of Linux build machine
- Sid Gudka: Generous donation of Windows build machine
## Support
Thanks to the following supporters and sponsors:
- The [Python Software Foundation](https://www.python.org/psf-landing/) for funding development of learning materials
- [JetBrains](https://www.jetbrains.com/) for providing the IDEs used to develop SignalFlow
## License
Use of the SignalFlow library with a Python interpreter, script or notebook is licensed under the free and permissive [MIT License](LICENSE.md).
Use of SignalFlow or its components outside of a Python environment (for example, embedded within a binary object) is subject to a separate agreement. Please [contact the author](https://danieljohnjones.com/contact/) to discuss.
Raw data
{
"_id": null,
"home_page": null,
"name": "signalflow",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "audio, sound, synthesis, dsp, sound-synthesis",
"author": "Daniel Jones",
"author_email": "dan@erase.net",
"download_url": null,
"platform": null,
"description": "# SignalFlow\n\n  [](https://github.com/mkenney/software-guides/blob/master/STABILITY-BADGES.md#beta)\n\nSignalFlow is a sound synthesis framework designed for clear and concise expression of complex musical ideas. It has an extensive Python API, for fluid audio experimentation in iPython/Jupyter, with its core written in portable, hardware-accelerated C++11.\n\nSignalFlow is in beta status. Interfaces may be subject to change.\n\n## Example\n\n```python\nfrom signalflow import *\n\n#--------------------------------------------------------------------------------\n# An AudioGraph is made up of a network of interconnected Nodes, which generate\n# and process audio. \n#--------------------------------------------------------------------------------\ngraph = AudioGraph()\n\n#--------------------------------------------------------------------------------\n# Passing an array of frequencies creates a stereo output.\n#--------------------------------------------------------------------------------\nsine = SineOscillator([440, 880])\n\n#--------------------------------------------------------------------------------\n# Simple attack/sustain/release envelope with linear curves.\n#--------------------------------------------------------------------------------\nenv = ASREnvelope(0.01, 0.1, 0.5)\n\n#--------------------------------------------------------------------------------\n# Use standard arithmetic operations to combine signals. When a multi-channel \n# signal is multiplied by a mono signal, the mono signal is auto-upmixed.\n#--------------------------------------------------------------------------------\noutput = sine * env\n\n#--------------------------------------------------------------------------------\n# Connect the output to the graph, and begin playback.\n#--------------------------------------------------------------------------------\noutput.play()\ngraph.wait()\n```\n\n## Installation\n\nSignalFlow requires Python 3.8 or above, and supports macOS, Linux (x86_64), Raspberry Pi (3+), and Windows (64-bit).\n\nIn a nutshell, SignalFlow can be installed with pip: `pip3 install signalflow`.\n\nFor a complete walkthrough on setting up your system with Python and SignalFlow, see [Installing SignalFlow](https://signalflow.dev/installation/).\n\n## Examples\n\nSeveral example scripts are provided in [examples](examples).\n\nTo download the `examples` folder:\n\n```python\nimport signalflow_examples\nsignalflow_examples.download_examples()\n```\n\n## Documentation\n\nIn-depth documentation, including a reference guide to each of the Node classes, can be found at [signalflow.dev](https://signalflow.dev/). \n\n## Node class library\n\nThe following Node classes are currently included with the base distribution:\n\n| Category | Classes |\n|:---------|:---------|\n| **Analysis** | [CrossCorrelate](https://signalflow.dev/library/analysis/crosscorrelate/), [NearestNeighbour](https://signalflow.dev/library/analysis/nearestneighbour/), [OnsetDetector](https://signalflow.dev/library/analysis/onsetdetector/), [VampAnalysis](https://signalflow.dev/library/analysis/vampanalysis/) |\n| **Buffer** | [BeatCutter](https://signalflow.dev/library/buffer/beatcutter/), [BufferLooper](https://signalflow.dev/library/buffer/bufferlooper/), [BufferPlayer](https://signalflow.dev/library/buffer/bufferplayer/), [BufferRecorder](https://signalflow.dev/library/buffer/bufferrecorder/), [FeedbackBufferReader](https://signalflow.dev/library/buffer/feedbackbufferreader/), [FeedbackBufferWriter](https://signalflow.dev/library/buffer/feedbackbufferwriter/), [HistoryBufferWriter](https://signalflow.dev/library/buffer/historybufferwriter/), [SegmentPlayer](https://signalflow.dev/library/buffer/segmentplayer/) |\n| **Buffer: Granulation** | [SegmentedGranulator](https://signalflow.dev/library/buffer/granulation/segmentedgranulator/), [Granulator](https://signalflow.dev/library/buffer/granulation/granulator/) |\n| **Control** | [MouseX](https://signalflow.dev/library/control/mousex/), [MouseY](https://signalflow.dev/library/control/mousey/), [MouseDown](https://signalflow.dev/library/control/mousedown/) |\n| **Envelope** | [Accumulator](https://signalflow.dev/library/envelope/accumulator/), [ADSREnvelope](https://signalflow.dev/library/envelope/adsrenvelope/), [ASREnvelope](https://signalflow.dev/library/envelope/asrenvelope/), [DetectSilence](https://signalflow.dev/library/envelope/detectsilence/), [Envelope](https://signalflow.dev/library/envelope/envelope/), [Line](https://signalflow.dev/library/envelope/line/), [RectangularEnvelope](https://signalflow.dev/library/envelope/rectangularenvelope/) |\n| **FFT** | [FFTContinuousPhaseVocoder](https://signalflow.dev/library/fft/fftcontinuousphasevocoder/), [FFTConvolve](https://signalflow.dev/library/fft/fftconvolve/), [FFTBufferPlayer](https://signalflow.dev/library/fft/fftbufferplayer/), [FFTContrast](https://signalflow.dev/library/fft/fftcontrast/), [FFTCrossFade](https://signalflow.dev/library/fft/fftcrossfade/), [FFTLFO](https://signalflow.dev/library/fft/fftlfo/), [FFTMagnitudePhaseArray](https://signalflow.dev/library/fft/fftmagnitudephasearray/), [FFTRandomPhase](https://signalflow.dev/library/fft/fftrandomphase/), [FFTScaleMagnitudes](https://signalflow.dev/library/fft/fftscalemagnitudes/), [FFTTransform](https://signalflow.dev/library/fft/ffttransform/), [FFT](https://signalflow.dev/library/fft/fft/), [FFTNode](https://signalflow.dev/library/fft/fftnode/), [FFTOpNode](https://signalflow.dev/library/fft/fftopnode/), [FFTFindPeaks](https://signalflow.dev/library/fft/fftfindpeaks/), [IFFT](https://signalflow.dev/library/fft/ifft/), [FFTLPF](https://signalflow.dev/library/fft/fftlpf/), [FFTNoiseGate](https://signalflow.dev/library/fft/fftnoisegate/), [FFTPhaseVocoder](https://signalflow.dev/library/fft/fftphasevocoder/), [FFTTonality](https://signalflow.dev/library/fft/ffttonality/), [FFTZeroPhase](https://signalflow.dev/library/fft/fftzerophase/) |\n| **Operators** | [Add](https://signalflow.dev/library/operators/add/), [AmplitudeToDecibels](https://signalflow.dev/library/operators/amplitudetodecibels/), [DecibelsToAmplitude](https://signalflow.dev/library/operators/decibelstoamplitude/), [Bus](https://signalflow.dev/library/operators/bus/), [ChannelArray](https://signalflow.dev/library/operators/channelarray/), [ChannelCrossfade](https://signalflow.dev/library/operators/channelcrossfade/), [ChannelMixer](https://signalflow.dev/library/operators/channelmixer/), [ChannelOffset](https://signalflow.dev/library/operators/channeloffset/), [ChannelSelect](https://signalflow.dev/library/operators/channelselect/), [Equal](https://signalflow.dev/library/operators/equal/), [NotEqual](https://signalflow.dev/library/operators/notequal/), [GreaterThan](https://signalflow.dev/library/operators/greaterthan/), [GreaterThanOrEqual](https://signalflow.dev/library/operators/greaterthanorequal/), [LessThan](https://signalflow.dev/library/operators/lessthan/), [LessThanOrEqual](https://signalflow.dev/library/operators/lessthanorequal/), [Modulo](https://signalflow.dev/library/operators/modulo/), [Abs](https://signalflow.dev/library/operators/abs/), [If](https://signalflow.dev/library/operators/if/), [Divide](https://signalflow.dev/library/operators/divide/), [FrequencyToMidiNote](https://signalflow.dev/library/operators/frequencytomidinote/), [MidiNoteToFrequency](https://signalflow.dev/library/operators/midinotetofrequency/), [Multiply](https://signalflow.dev/library/operators/multiply/), [Pow](https://signalflow.dev/library/operators/pow/), [RoundToScale](https://signalflow.dev/library/operators/roundtoscale/), [Round](https://signalflow.dev/library/operators/round/), [ScaleLinExp](https://signalflow.dev/library/operators/scalelinexp/), [ScaleLinLin](https://signalflow.dev/library/operators/scalelinlin/), [SelectInput](https://signalflow.dev/library/operators/selectinput/), [Subtract](https://signalflow.dev/library/operators/subtract/), [Sum](https://signalflow.dev/library/operators/sum/), [TimeShift](https://signalflow.dev/library/operators/timeshift/), [Sin](https://signalflow.dev/library/operators/sin/), [Cos](https://signalflow.dev/library/operators/cos/), [Tan](https://signalflow.dev/library/operators/tan/), [Tanh](https://signalflow.dev/library/operators/tanh/) |\n| **Oscillators** | [Constant](https://signalflow.dev/library/oscillators/constant/), [Impulse](https://signalflow.dev/library/oscillators/impulse/), [LFO](https://signalflow.dev/library/oscillators/lfo/), [SawLFO](https://signalflow.dev/library/oscillators/sawlfo/), [SawOscillator](https://signalflow.dev/library/oscillators/sawoscillator/), [SineLFO](https://signalflow.dev/library/oscillators/sinelfo/), [SineOscillator](https://signalflow.dev/library/oscillators/sineoscillator/), [SquareLFO](https://signalflow.dev/library/oscillators/squarelfo/), [SquareOscillator](https://signalflow.dev/library/oscillators/squareoscillator/), [TriangleLFO](https://signalflow.dev/library/oscillators/trianglelfo/), [TriangleOscillator](https://signalflow.dev/library/oscillators/triangleoscillator/), [Wavetable](https://signalflow.dev/library/oscillators/wavetable/), [Wavetable2D](https://signalflow.dev/library/oscillators/wavetable2d/) |\n| **Processors** | [Clip](https://signalflow.dev/library/processors/clip/), [Fold](https://signalflow.dev/library/processors/fold/), [Smooth](https://signalflow.dev/library/processors/smooth/), [WetDry](https://signalflow.dev/library/processors/wetdry/), [Wrap](https://signalflow.dev/library/processors/wrap/) |\n| **Processors: Delays** | [AllpassDelay](https://signalflow.dev/library/processors/delays/allpassdelay/), [CombDelay](https://signalflow.dev/library/processors/delays/combdelay/), [OneTapDelay](https://signalflow.dev/library/processors/delays/onetapdelay/), [Stutter](https://signalflow.dev/library/processors/delays/stutter/) |\n| **Processors: Distortion** | [Resample](https://signalflow.dev/library/processors/distortion/resample/), [SampleAndHold](https://signalflow.dev/library/processors/distortion/sampleandhold/), [Squiz](https://signalflow.dev/library/processors/distortion/squiz/), [WaveShaper](https://signalflow.dev/library/processors/distortion/waveshaper/) |\n| **Processors: Dynamics** | [Compressor](https://signalflow.dev/library/processors/dynamics/compressor/), [Gate](https://signalflow.dev/library/processors/dynamics/gate/), [Maximiser](https://signalflow.dev/library/processors/dynamics/maximiser/), [RMS](https://signalflow.dev/library/processors/dynamics/rms/) |\n| **Processors: Filters** | [BiquadFilter](https://signalflow.dev/library/processors/filters/biquadfilter/), [DCFilter](https://signalflow.dev/library/processors/filters/dcfilter/), [EQ](https://signalflow.dev/library/processors/filters/eq/), [MoogVCF](https://signalflow.dev/library/processors/filters/moogvcf/), [SVFilter](https://signalflow.dev/library/processors/filters/svfilter/) |\n| **Processors: Panning** | [AzimuthPanner](https://signalflow.dev/library/processors/panning/azimuthpanner/), [ChannelPanner](https://signalflow.dev/library/processors/panning/channelpanner/), [SpatialPanner](https://signalflow.dev/library/processors/panning/spatialpanner/), [StereoBalance](https://signalflow.dev/library/processors/panning/stereobalance/), [StereoPanner](https://signalflow.dev/library/processors/panning/stereopanner/), [StereoWidth](https://signalflow.dev/library/processors/panning/stereowidth/) |\n| **Sequencing** | [ClockDivider](https://signalflow.dev/library/sequencing/clockdivider/), [Counter](https://signalflow.dev/library/sequencing/counter/), [Euclidean](https://signalflow.dev/library/sequencing/euclidean/), [FlipFlop](https://signalflow.dev/library/sequencing/flipflop/), [ImpulseSequence](https://signalflow.dev/library/sequencing/impulsesequence/), [Index](https://signalflow.dev/library/sequencing/index/), [Latch](https://signalflow.dev/library/sequencing/latch/), [Sequence](https://signalflow.dev/library/sequencing/sequence/), [TriggerMult](https://signalflow.dev/library/sequencing/triggermult/), [TriggerRoundRobin](https://signalflow.dev/library/sequencing/triggerroundrobin/) |\n| **Stochastic** | [Logistic](https://signalflow.dev/library/stochastic/logistic/), [PinkNoise](https://signalflow.dev/library/stochastic/pinknoise/), [RandomBrownian](https://signalflow.dev/library/stochastic/randombrownian/), [RandomChoice](https://signalflow.dev/library/stochastic/randomchoice/), [RandomCoin](https://signalflow.dev/library/stochastic/randomcoin/), [RandomExponentialDist](https://signalflow.dev/library/stochastic/randomexponentialdist/), [RandomExponential](https://signalflow.dev/library/stochastic/randomexponential/), [RandomGaussian](https://signalflow.dev/library/stochastic/randomgaussian/), [RandomImpulseSequence](https://signalflow.dev/library/stochastic/randomimpulsesequence/), [RandomImpulse](https://signalflow.dev/library/stochastic/randomimpulse/), [RandomUniform](https://signalflow.dev/library/stochastic/randomuniform/), [StochasticNode](https://signalflow.dev/library/stochastic/stochasticnode/), [WhiteNoise](https://signalflow.dev/library/stochastic/whitenoise/) |\n\n## Contributors\n\nThanks to the following contributors:\n\n- Greg White ([@gregwht](https://github.com/gregwht)): Examples, documentation and testing\n- Arthur Carabott ([@acarabott](https://github.com/acarabott)), Tim Murray-Browne ([@timmb](https://github.com/timmb)): Windows support\n- Dan Stowell ([@danstowell](https://github.com/danstowell)): Build improvements\n- Marc Fargas ([@telenieko](https://github.com/telenieko)): Generous donation of the `signalflow` pypi namespace\n- Ed Gillett: Generous donation of Linux build machine\n- Sid Gudka: Generous donation of Windows build machine\n\n## Support\n\nThanks to the following supporters and sponsors:\n\n- The [Python Software Foundation](https://www.python.org/psf-landing/) for funding development of learning materials\n- [JetBrains](https://www.jetbrains.com/) for providing the IDEs used to develop SignalFlow\n\n## License\n\nUse of the SignalFlow library with a Python interpreter, script or notebook is licensed under the free and permissive [MIT License](LICENSE.md).\n\nUse of SignalFlow or its components outside of a Python environment (for example, embedded within a binary object) is subject to a separate agreement. Please [contact the author](https://danieljohnjones.com/contact/) to discuss.\n",
"bugtrack_url": null,
"license": null,
"summary": "SignalFlow is a sound synthesis library designed for clear and concise expression of sonic ideas",
"version": "0.5.4",
"project_urls": null,
"split_keywords": [
"audio",
" sound",
" synthesis",
" dsp",
" sound-synthesis"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "12e9f9e49999ecd9f40c68607f40c0710e3420044aa9176435035ed854832254",
"md5": "7d39d8309d6ecd35a3a7cd29c30a4398",
"sha256": "e1e75f56efde65ea484a46b00174d7633ac09958622b86135ce4c90f2bdc0c8e"
},
"downloads": -1,
"filename": "signalflow-0.5.4-cp310-cp310-manylinux_2_34_aarch64.whl",
"has_sig": false,
"md5_digest": "7d39d8309d6ecd35a3a7cd29c30a4398",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 3787030,
"upload_time": "2025-07-25T17:27:04",
"upload_time_iso_8601": "2025-07-25T17:27:04.819983Z",
"url": "https://files.pythonhosted.org/packages/12/e9/f9e49999ecd9f40c68607f40c0710e3420044aa9176435035ed854832254/signalflow-0.5.4-cp310-cp310-manylinux_2_34_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "adf623f4435b96b465980a29cbb1eb6db7bfa2b68ad718dd48fcb28f67f04e1b",
"md5": "a1f8e5f2605e1df98bff548b2b1321a8",
"sha256": "e588f20c8941e1dfc1c2cb2282fb578db89591558533741a3741fd1f8a05607b"
},
"downloads": -1,
"filename": "signalflow-0.5.4-cp311-cp311-manylinux_2_34_aarch64.whl",
"has_sig": false,
"md5_digest": "a1f8e5f2605e1df98bff548b2b1321a8",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 3786208,
"upload_time": "2025-07-25T17:27:08",
"upload_time_iso_8601": "2025-07-25T17:27:08.357121Z",
"url": "https://files.pythonhosted.org/packages/ad/f6/23f4435b96b465980a29cbb1eb6db7bfa2b68ad718dd48fcb28f67f04e1b/signalflow-0.5.4-cp311-cp311-manylinux_2_34_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a92f3fd9e985c1b8c25f02a9d502f46ee288d4a52650be626faa40fca2bf31ac",
"md5": "976713c206a7f79f6f0b757c01ce9ea5",
"sha256": "1e1c67072e525f4b4e2471dbb5c82676cc89893eaa96eb40d95d3012d10fffff"
},
"downloads": -1,
"filename": "signalflow-0.5.4-cp312-cp312-manylinux_2_34_aarch64.whl",
"has_sig": false,
"md5_digest": "976713c206a7f79f6f0b757c01ce9ea5",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 3787899,
"upload_time": "2025-07-25T17:27:11",
"upload_time_iso_8601": "2025-07-25T17:27:11.815422Z",
"url": "https://files.pythonhosted.org/packages/a9/2f/3fd9e985c1b8c25f02a9d502f46ee288d4a52650be626faa40fca2bf31ac/signalflow-0.5.4-cp312-cp312-manylinux_2_34_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "04982a36732552d115bf19a7fe6f1260ae873cf68f886ed822754489382be998",
"md5": "4bb9bf602476238d7c01002c5e9f2cb6",
"sha256": "0d4ad099b90627833e1a1ea989e113b34c2934fce1653f363518e8c7ef09450d"
},
"downloads": -1,
"filename": "signalflow-0.5.4-cp313-cp313-manylinux_2_34_aarch64.whl",
"has_sig": false,
"md5_digest": "4bb9bf602476238d7c01002c5e9f2cb6",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 3787845,
"upload_time": "2025-07-25T17:27:15",
"upload_time_iso_8601": "2025-07-25T17:27:15.187557Z",
"url": "https://files.pythonhosted.org/packages/04/98/2a36732552d115bf19a7fe6f1260ae873cf68f886ed822754489382be998/signalflow-0.5.4-cp313-cp313-manylinux_2_34_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f9a7ddf174f75bbaab63f724b503d3eca75ee0fa4b7166ea5f121d0fe077dbdb",
"md5": "2aa4c86855fb0fe2fca77779ffe1d106",
"sha256": "504473e4d2805641922063e48a37c074d6322627087a8c39a46a8b1fa1b799c1"
},
"downloads": -1,
"filename": "signalflow-0.5.4-cp38-cp38-manylinux_2_34_aarch64.whl",
"has_sig": false,
"md5_digest": "2aa4c86855fb0fe2fca77779ffe1d106",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 3785925,
"upload_time": "2025-07-25T17:27:18",
"upload_time_iso_8601": "2025-07-25T17:27:18.893044Z",
"url": "https://files.pythonhosted.org/packages/f9/a7/ddf174f75bbaab63f724b503d3eca75ee0fa4b7166ea5f121d0fe077dbdb/signalflow-0.5.4-cp38-cp38-manylinux_2_34_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "858bc622e2121e3f947fc34356ca1e87a82076bf82a7b85ae12cf2cb80a5a27d",
"md5": "60a5b49c3184ca85e5aa23173c48c68b",
"sha256": "107c1b2da79f45e3a89faf7fc950820eb463dcf31fbfc5ff725e265710353c87"
},
"downloads": -1,
"filename": "signalflow-0.5.4-cp39-cp39-manylinux_2_34_aarch64.whl",
"has_sig": false,
"md5_digest": "60a5b49c3184ca85e5aa23173c48c68b",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 3784046,
"upload_time": "2025-07-25T17:27:22",
"upload_time_iso_8601": "2025-07-25T17:27:22.485595Z",
"url": "https://files.pythonhosted.org/packages/85/8b/c622e2121e3f947fc34356ca1e87a82076bf82a7b85ae12cf2cb80a5a27d/signalflow-0.5.4-cp39-cp39-manylinux_2_34_aarch64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-25 17:27:04",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "signalflow"
}