FaustTools
Python Based Tools for Developing FAUST dsp programs
Install / Use
/learn @hrtlacek/FaustToolsREADME
Tools for analyzing Faust programs
At the moment there is one tool present, faustwatch.py
Faustwatch
Faustwatch is a tool that observes a .dsp file used by the dsp language FAUST. If the file is changed (saved after editing):
- the blockdiagram can be automatically shown in the default browser
- the impulse response can be plotted in the time domain
- the impulse response can be plotted in the frequency domain.
- the time and frequency domain plots of the last saved version are always visible so the current and last saved version can be compared.
- the impulse response is played back via pyo and Jack Audio
Basically it is supposed to make FAUST development faster.
Here you can see it in action:

Install
Dependencies
This has only been tested under Linux and with python 3.6.3. It requires a number of standared libraries such as numpy,scipy:
- numpy 1.15.4
- scipy 1.1.0
and it requires some more uncommon libraries:
- pyo 0.9.0
- pyqtgraph 0.10.0
- pyinotify 0.9.6
- pyzmq 17.1.2
This tool has not been tested with other versions of these libraries. Of course there is a good chance it will work just fine with newer versions of these.
Configuration
The file config.py has to be changed in order to make sure that:
- the architecture file for offline processing can be found.
- the right python executable is used to start the plotting process.
usage
usage: faustwatch [-h] [--svg] [--ir] [--af AF] [--impLen IMPLEN] [--line] N
Watch a dsp file for changes and take a specific action.
positional arguments:
N Path to a .dsp file
optional arguments:
-h, --help show this help message and exit
--svg Make an svg block diagram and open it.
--ir Get impulse response and plot it.
--af AF Send through audio file.
--impLen IMPLEN Length of impulse. Default is unit impulse, so 1.
--line Get response to line from -1 to 1. So input-output
amplitude relationship. Useful for plotting transfer
functions of non-linearities
Related Skills
node-connect
349.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
