SignalFlow is a sound synthesis library designed to make it quick and intuitive to explore complex sonic ideas
Project description
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. Its core is written in C++11, so it can also be embedded into other cross-platform applications.
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.
In brief, SignalFlow can be installed with pip: pip3 install signalflow.
For complete per-platform instructions and setup guides, 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 classes
The following Node classes are currently included with the base distribution:
Contributors
Thanks to the following contributors:
- Arthur Carabott (@acarabott), Tim Murray-Browne (@timmb): Windows support
- Dan Stowell (@danstowell): Build improvements
- Marc Fargas (@telenieko): Generous donation of the
signalflowpypi namespace
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file signalflow-0.4.5-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: signalflow-0.4.5-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
124638c9d8633064476a69ae2264857aa631b059a6324e1a1838eb7f2bc60d32
|
|
| MD5 |
ae4afdc593189bc32a36fd5a87c7417c
|
|
| BLAKE2b-256 |
c33400bb0d1a42781e123637c68b0dc7a6626c285b1ef14d5b1b7b898714cb68
|
File details
Details for the file signalflow-0.4.5-cp312-cp312-macosx_10_9_x86_64.whl.
File metadata
- Download URL: signalflow-0.4.5-cp312-cp312-macosx_10_9_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.12, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb6d59ebcac311c4c73084aa567b9ae849b830fe578a9e0906be2d7f0f2ef69d
|
|
| MD5 |
98a0bc3647612b8644773dc282fcdd6a
|
|
| BLAKE2b-256 |
74856694a0abf2785300e12af95a79bd7a2e19a816d052043a71d22505857cc9
|
File details
Details for the file signalflow-0.4.5-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: signalflow-0.4.5-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3859758ad0057ceef3e381efbd1bc154280bafba1872874153010f86e90c609e
|
|
| MD5 |
7b3a8dc26769ce133de23e15be20a56a
|
|
| BLAKE2b-256 |
62f8556129e4711f9b83c4bd10c5df3181ccf1e2e314ddc6bbd148989bf00883
|
File details
Details for the file signalflow-0.4.5-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: signalflow-0.4.5-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26daa3876ab35b94e43b423d53f7aab753197e3a9af6db64bfd0cf1dbbae2a56
|
|
| MD5 |
b240722f1dbec5f7a19bdf98b251162d
|
|
| BLAKE2b-256 |
e73bb442450ceee28a478b96fa53839b8fe9f2cc60ac7bec9b0f57b03ad626fa
|
File details
Details for the file signalflow-0.4.5-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: signalflow-0.4.5-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
905421a97e46f5d8670950c2ee3b1468165514ab4e217285e8fbdf44b1af39e7
|
|
| MD5 |
5f4301e078227bc90ecdfdcf864417d2
|
|
| BLAKE2b-256 |
68d5a5642d26465ef78d4bc6778ca67802fc7b72c628f6e09797a2d02f81debe
|
File details
Details for the file signalflow-0.4.5-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: signalflow-0.4.5-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a64a83698813d3bfd05f34bd0b2f35bc3844b1657a729cdc7df7d3b41765a32
|
|
| MD5 |
1b27356a4e65b7eedbb9aafbc37ec99a
|
|
| BLAKE2b-256 |
dad8b539a0ea204c34429d6db2cce439ebb7fa40403621b78d10899b9055cbf5
|
File details
Details for the file signalflow-0.4.5-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: signalflow-0.4.5-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0043ce1e8f9f60aba1111f9c0283d8140da65a14ba67abd24c7863bcc7eb13d0
|
|
| MD5 |
6079ba03e94748532e15bcb17e2744e7
|
|
| BLAKE2b-256 |
772193cb9fa1d096a738e65cf5c72674941a7d4411d74a880a5a01cbb0286b4c
|
File details
Details for the file signalflow-0.4.5-cp39-cp39-macosx_10_9_x86_64.whl.
File metadata
- Download URL: signalflow-0.4.5-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e47be37a25fe4bc03f840660d2b33b030880afa3f7bf6efb3e24b39bf094a4c8
|
|
| MD5 |
28f9f63d42789e8593c2d83f9c8bb5f2
|
|
| BLAKE2b-256 |
77e7d9d505f28f80db22cd0dcc2b1ca1525147ffc4bb4b0f1f7c026107fa83a6
|
File details
Details for the file signalflow-0.4.5-cp38-cp38-macosx_11_0_arm64.whl.
File metadata
- Download URL: signalflow-0.4.5-cp38-cp38-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a5f8201ff71ee8709d676f472c114338ee9b3fbc4f90ac01809b944801088a4
|
|
| MD5 |
132ea3b848a72d84dea8082211b34203
|
|
| BLAKE2b-256 |
87e45844b8fadacc0b9d1ef419672b2ba7209b5c68a50bf1ca3d93a58768d594
|
File details
Details for the file signalflow-0.4.5-cp38-cp38-macosx_10_9_x86_64.whl.
File metadata
- Download URL: signalflow-0.4.5-cp38-cp38-macosx_10_9_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.8, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d433b1280ce4f47894298b7e8e5133e08e3c75c1e8811013b3ae522a68bb4d68
|
|
| MD5 |
2c43e0c70822c24dc40ca174ebad3fbf
|
|
| BLAKE2b-256 |
7cfa0b94e6ecd3a9189ae486cc61ca5010d35383ce8a5534d4dc34a6acb196c3
|