signalflow


Namesignalflow JSON
Version 0.4.8 PyPI version JSON
download
home_page
SummarySignalFlow is a sound synthesis library designed to make it quick and intuitive to explore complex sonic ideas
upload_time2024-02-27 11:10:03
maintainer
docs_urlNone
authorDaniel Jones
requires_python>=3.8
license
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

![ci](https://github.com/ideoforms/signal/workflows/ci/badge.svg) [![stability-beta](https://img.shields.io/badge/stability-beta-33bbff.svg)](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.

In brief, SignalFlow can be installed with pip: `pip3 install signalflow`.

For complete per-platform instructions and setup guides, 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 classes

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/), [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** | [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/), [FFTContrast](https://signalflow.dev/library/fft/fftcontrast/), [FFTFlipSpectrum](https://signalflow.dev/library/fft/fftflipspectrum/), [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/), [ChannelArray](https://signalflow.dev/library/operators/channelarray/), [ChannelCrossfade](https://signalflow.dev/library/operators/channelcrossfade/), [ChannelMixer](https://signalflow.dev/library/operators/channelmixer/), [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/), [Subtract](https://signalflow.dev/library/operators/subtract/), [Sum](https://signalflow.dev/library/operators/sum/), [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/) |
| **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

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "signalflow",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "audio,sound,synthesis,dsp,sound-synthesis",
    "author": "Daniel Jones",
    "author_email": "dan@erase.net",
    "download_url": "",
    "platform": null,
    "description": "# SignalFlow\n\n![ci](https://github.com/ideoforms/signal/workflows/ci/badge.svg) [![stability-beta](https://img.shields.io/badge/stability-beta-33bbff.svg)](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.\n\nIn brief, SignalFlow can be installed with pip: `pip3 install signalflow`.\n\nFor complete per-platform instructions and setup guides, 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 classes\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/), [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** | [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/), [FFTContrast](https://signalflow.dev/library/fft/fftcontrast/), [FFTFlipSpectrum](https://signalflow.dev/library/fft/fftflipspectrum/), [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/), [ChannelArray](https://signalflow.dev/library/operators/channelarray/), [ChannelCrossfade](https://signalflow.dev/library/operators/channelcrossfade/), [ChannelMixer](https://signalflow.dev/library/operators/channelmixer/), [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/), [Subtract](https://signalflow.dev/library/operators/subtract/), [Sum](https://signalflow.dev/library/operators/sum/), [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/) |\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",
    "bugtrack_url": null,
    "license": "",
    "summary": "SignalFlow is a sound synthesis library designed to make it quick and intuitive to explore complex sonic ideas",
    "version": "0.4.8",
    "project_urls": null,
    "split_keywords": [
        "audio",
        "sound",
        "synthesis",
        "dsp",
        "sound-synthesis"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44e8e4e86a439cea86e2d59c24460626a8d7b15c9253f6d937d3af84a03f28c2",
                "md5": "a8339b8cba9c23b7c0b0675be6cfc994",
                "sha256": "be0660c85da40fdf9de78da716ee932f0b67e5fa2ba5fcfd0d5d3866717b036f"
            },
            "downloads": -1,
            "filename": "signalflow-0.4.8-cp310-cp310-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a8339b8cba9c23b7c0b0675be6cfc994",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1861072,
            "upload_time": "2024-02-27T11:10:03",
            "upload_time_iso_8601": "2024-02-27T11:10:03.442636Z",
            "url": "https://files.pythonhosted.org/packages/44/e8/e4e86a439cea86e2d59c24460626a8d7b15c9253f6d937d3af84a03f28c2/signalflow-0.4.8-cp310-cp310-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fa7f58ad8da174c0a52e146e04d5cb3da2d4fc2bcfe3fc1d09077275ad05cd8e",
                "md5": "28cbbbef5b9a06ae8cae9f27beb1a35c",
                "sha256": "e0e18a3a280c010478cbd9c3e63ded16a8e00306264c654c4b37629a8ae60723"
            },
            "downloads": -1,
            "filename": "signalflow-0.4.8-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "28cbbbef5b9a06ae8cae9f27beb1a35c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1951985,
            "upload_time": "2024-02-27T11:10:10",
            "upload_time_iso_8601": "2024-02-27T11:10:10.784450Z",
            "url": "https://files.pythonhosted.org/packages/fa/7f/58ad8da174c0a52e146e04d5cb3da2d4fc2bcfe3fc1d09077275ad05cd8e/signalflow-0.4.8-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9431ae8fa51e10df51c5dd8f1ba2772498fa07c87c5ec3a48c3f54d02a05f1d5",
                "md5": "1c15e3431b6d249e61d99acbd134ea9c",
                "sha256": "3efc6d265c9cd4002d6c0cd62876eac1e8e7c90e0958bc64170dfa31a66dabbf"
            },
            "downloads": -1,
            "filename": "signalflow-0.4.8-cp311-cp311-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1c15e3431b6d249e61d99acbd134ea9c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1860902,
            "upload_time": "2024-02-27T11:10:13",
            "upload_time_iso_8601": "2024-02-27T11:10:13.925112Z",
            "url": "https://files.pythonhosted.org/packages/94/31/ae8fa51e10df51c5dd8f1ba2772498fa07c87c5ec3a48c3f54d02a05f1d5/signalflow-0.4.8-cp311-cp311-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c5864a609256475ae971db540919d86c5f246f617c4d6d8a1d1d24a184e23d32",
                "md5": "0e24fc889f3bc641fe25b2b046c471ce",
                "sha256": "22b9e4dc168e6f18f5cf9f2e247d78729f97405edf9956674cb2da824ffabac5"
            },
            "downloads": -1,
            "filename": "signalflow-0.4.8-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "0e24fc889f3bc641fe25b2b046c471ce",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1951966,
            "upload_time": "2024-02-27T11:10:16",
            "upload_time_iso_8601": "2024-02-27T11:10:16.411136Z",
            "url": "https://files.pythonhosted.org/packages/c5/86/4a609256475ae971db540919d86c5f246f617c4d6d8a1d1d24a184e23d32/signalflow-0.4.8-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c712c058858bc37fa10248a9cbb150289595e03bc1cdeab974ba15bf6dd9aa0f",
                "md5": "6bddfaa07b7c624d325b601f66a5ca34",
                "sha256": "16030d01685044c094b42ace84cb23af80d9aec983a55dd5f1a1a8599f25dfc7"
            },
            "downloads": -1,
            "filename": "signalflow-0.4.8-cp312-cp312-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6bddfaa07b7c624d325b601f66a5ca34",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1874209,
            "upload_time": "2024-02-27T11:10:19",
            "upload_time_iso_8601": "2024-02-27T11:10:19.529089Z",
            "url": "https://files.pythonhosted.org/packages/c7/12/c058858bc37fa10248a9cbb150289595e03bc1cdeab974ba15bf6dd9aa0f/signalflow-0.4.8-cp312-cp312-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "421c598b75ef42117dd3f14d3cef5be57361262a9fe9285019e39029750d9669",
                "md5": "1a6736c62456207b96aaa8badd2f7df2",
                "sha256": "0a951d1782a69fc1dff10c3a2691932b8ddccc5e1a6993bbdb410a57a7a3edb2"
            },
            "downloads": -1,
            "filename": "signalflow-0.4.8-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "1a6736c62456207b96aaa8badd2f7df2",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1964502,
            "upload_time": "2024-02-27T11:10:22",
            "upload_time_iso_8601": "2024-02-27T11:10:22.116243Z",
            "url": "https://files.pythonhosted.org/packages/42/1c/598b75ef42117dd3f14d3cef5be57361262a9fe9285019e39029750d9669/signalflow-0.4.8-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fc660a1be9c056a58e7c53b91e00564d3642202a696dae565961fc4222ece34c",
                "md5": "5ac133ed58d2f5e664309ba07ac91b71",
                "sha256": "66223ce663527e8d186815aa9125a24329c8ae4a5c5a8adf628be5c6da94fefa"
            },
            "downloads": -1,
            "filename": "signalflow-0.4.8-cp38-cp38-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5ac133ed58d2f5e664309ba07ac91b71",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1860823,
            "upload_time": "2024-02-27T11:10:25",
            "upload_time_iso_8601": "2024-02-27T11:10:25.619312Z",
            "url": "https://files.pythonhosted.org/packages/fc/66/0a1be9c056a58e7c53b91e00564d3642202a696dae565961fc4222ece34c/signalflow-0.4.8-cp38-cp38-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f1361d257fad3463b4d3fd28e01c5dc98a6162f83925dd0c45c8a4120e528784",
                "md5": "685fcce236c0ddd9c5ee372de3c67258",
                "sha256": "4605877564f56d7ce5dbb164ab87ce486311f0b52336dd994d97b354e561039b"
            },
            "downloads": -1,
            "filename": "signalflow-0.4.8-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "685fcce236c0ddd9c5ee372de3c67258",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1951732,
            "upload_time": "2024-02-27T11:10:29",
            "upload_time_iso_8601": "2024-02-27T11:10:29.027032Z",
            "url": "https://files.pythonhosted.org/packages/f1/36/1d257fad3463b4d3fd28e01c5dc98a6162f83925dd0c45c8a4120e528784/signalflow-0.4.8-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "21df71bab7b1821675a71f26219a895d56eaeb36feaba43290e58a7acad17a53",
                "md5": "4a9e9e07855ed0ded51329f6ce50d659",
                "sha256": "f7f270a31c8a92d11cdc0b4b45863626ae34b019deaf525eb9dd673f3f49dd91"
            },
            "downloads": -1,
            "filename": "signalflow-0.4.8-cp39-cp39-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4a9e9e07855ed0ded51329f6ce50d659",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1861296,
            "upload_time": "2024-02-27T11:10:31",
            "upload_time_iso_8601": "2024-02-27T11:10:31.804422Z",
            "url": "https://files.pythonhosted.org/packages/21/df/71bab7b1821675a71f26219a895d56eaeb36feaba43290e58a7acad17a53/signalflow-0.4.8-cp39-cp39-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "62b36927cc0e3ce0c0297c83600c94d1c75a79e640aa3fbe7dfe1081f500e9a2",
                "md5": "3d3f9e268932f339ef401278999dd2cc",
                "sha256": "244ebaa83cdfbd14fa9b2780cfbfbb53fd5bce5f1ca4950866350b1c32911c92"
            },
            "downloads": -1,
            "filename": "signalflow-0.4.8-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "3d3f9e268932f339ef401278999dd2cc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1952035,
            "upload_time": "2024-02-27T11:10:35",
            "upload_time_iso_8601": "2024-02-27T11:10:35.083098Z",
            "url": "https://files.pythonhosted.org/packages/62/b3/6927cc0e3ce0c0297c83600c94d1c75a79e640aa3fbe7dfe1081f500e9a2/signalflow-0.4.8-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-27 11:10:03",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "signalflow"
}
        
Elapsed time: 0.41028s