Signalflow
A sound synthesis framework for Python, designed for clear and concise expression of musical ideas
Install / Use
/learn @ideoforms/SignalflowREADME
SignalFlow
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
claude-opus-4-5-migration
84.4kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
model-usage
341.0kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
diffs
341.0kUse the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.
TrendRadar
50.0k⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。
