SkillAgentSearch skills...

Signalflow

A sound synthesis framework for Python, designed for clear and concise expression of musical ideas

Install / Use

/learn @ideoforms/Signalflow
About this skill

Quality Score

0/100

Category

Design

Supported Platforms

Universal

README

SignalFlow

pypi-version ci stability-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

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.

Examples

Several example scripts are provided in examples.

To download the examples folder:

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.

Node class library

The following Node classes are currently included with the base distribution:

| Category | Classes | |:---------|:---------| | Analysis | CrossCorrelate, NearestNeighbour, OnsetDetector, VampAnalysis, YinPitchTracker, ZeroCrossingRate | | Buffer | BeatCutter, BufferLooper, BufferPlayer, BufferRecorder, FeedbackBufferReader, FeedbackBufferWriter, HistoryBufferWriter, SegmentPlayer | | Buffer: Granulation | SegmentedGranulator, Granulator | | Control | MouseX, MouseY, MouseDown | | Envelope | Accumulator, ADSREnvelope, ASREnvelope, DetectSilence, Envelope, Line, RectangularEnvelope | | FFT | FFTBufferPlayer, FFTContinuousPhaseVocoder, FFTFindPeaks, FFTMagnitudePhaseArray, FFTNode, FFTOpNode, FFTPhaseVocoder, FFT, IFFT | | Fft: Features | FFTSpectralCentroid, FFTSpectralFlatness, FFTSpectralFlux | | Fft: Processors | FFTContrast, FFTConvolve, FFTCrossFade, FFTLFO, FFTLPF, FFTNoiseGate, FFTRandomPhase, FFTScaleMagnitudes, FFTTonality, FFTTransform | | Operators | Add, AmplitudeToDecibels, DecibelsToAmplitude, Bus, ChannelArray, ChannelCrossfade, ChannelMixer, ChannelOffset, ChannelSelect, Equal, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual, Modulo, Abs, If, Divide, FrequencyToMidiNote, MidiNoteToFrequency, Multiply, Pow, RoundToScale, Round, ScaleLinExp, ScaleLinLin, SelectInput, Subtract, Sum, TimeShift, Sin, Cos, Tan, Tanh | | Oscillators | Constant, Impulse, LFO, SawLFO, SawOscillator, SineLFO, SineOscillator, SquareLFO, SquareOscillator, TriangleLFO, TriangleOscillator, Wavetable, Wavetable2D | | Physical | Maraca | | Processors | [

Related Skills

View on GitHub
GitHub Stars246
CategoryDesign
Updated1mo ago
Forks19

Languages

C++

Security Score

85/100

Audited on Feb 22, 2026

No findings