Node based GUI for The Composers Desktop Project (CDP8)

#sound #audio #sound-design #audio-engineering #node #nodegui #node-sound-processing #gui #cdp #cdp8 #sound-thread

Jonathan Higgins 07c49465d7 updated version number 8 months ago
.github 9a36b775a4 Update issue templates 8 months ago
Global 5f5e103d06 Added autoplay output option and set that and the other toggles on outputfile to be user preferences (remebers last used state) 9 months ago
addons 238e00fbe9 added stereo waveform preview and fixed weird background colour 9 months ago
dev_tools 65ef3fbe1f fixed retina scaling issue with automation window and added a few new processes 8 months ago
examples 4ee125f3c7 Added settings window with custom theme options 9 months ago
readmeimages d3e1088e21 Added automatic generation of explore menu 9 months ago
scenes cb65bcfbe6 potentially fixed bug caused by deinterleaving stereo files with uppercase file extensions 8 months ago
theme b290ed455a Moved copy and paste for nodes into the actual graph edits control and added select and copy options in the console 8 months ago
.editorconfig b4b54b436e Initial commit 9 months ago
.gitattributes ad942a3600 various bug fixes and small features 9 months ago
.gitignore d3e1088e21 Added automatic generation of explore menu 9 months ago
LICENSE 5e5d721a39 Create LICENSE 9 months ago
README.md eb9accf57e Update README.md 8 months ago
export_presets.cfg 07c49465d7 updated version number 8 months ago
project.godot b290ed455a Moved copy and paste for nodes into the actual graph edits control and added select and copy options in the console 8 months ago

README.md

soundthread logo

Node based interface for The Composers Desktop Project

soundthread ui

What is SoundThread?

SoundThread is a cross-platform user interface for The Composers Desktop Project (CDP) suite of sound manipulation tools. It allows for modular style routing of various CDP processes to quickly build up complex Threads that allow for extensive sound manipulation. The goal of SoundThread is to make CDP as user friendly as possible and it is particularly well suited to those new to experimental sound processing.

Full video overview of SoundThread's interface

Quick look at processing audio in SoundThread

What is CDP?

CDP is a suite of open source command line tools for experimental music and sound design. As per their website:

"CDP (Composers' Desktop Project) is a suite of around 500 processes, designed for the in-depth exploration of sound transformation. CDP is not a real-time system, but mostly transforms soundfiles ('samples') or spectral (frequency-analysis) files, and writes other sound or spectral files as output. [...]

CDP processes cover almost every aspect of sound manipulation. There is also a small group of functions for sound synthesis, and several sound-processing functions can be adapted for synthesis. The emphasis is on sound design in the tradition of musique concrète, either for fully electro-acoustic music compositions or as sound clips or tracks in songs or other media. Many people use CDP alongside other software in a hybrid studio environment." CDP About

Download

The latest builds for Mac, Windows and Linux can be found in Releases. Additionally you will need to download CDP for SoundThread to interface with, this can be downloaded here. You can find video installation instructions for Windows and Mac here.

What works?

SoundThread is currently in Beta and as such there are some bugs, missing features and limitations. However, it is mostly very stable and has enough implemented already to be a powerful sound design tool.

Currently implemented features:

  • Node based patching system with support for patching parallel processes and mixing outputs
  • A selection of popular CDP time domain and frequency domain processes:
    • Distort - Average, Clip, Click (Reform), Divide, Fractal, Interpolate, Multiply, Power Factor (Quirk), Replace, Square (Reform), and Triangle (Reform)
    • Extend - Drunk, Loop, Scramble, and Zigzag
    • Filter - Low Pass/High Pass, Filter Bank Harmonic Series, Filter Bank Odd, Filter Bank Linear Spacing, and Filter Bank Pitched Intervals
    • Granulate (Brassage) - Brassage, Granulate, Pitch Shift, Scramble, and Time Stretch
    • Misc - Accelerate/Decelerate, Append Silence, Gain, Reverse, Stack, and Varispeed
    • PVOC - Analysis/Resynthesis, Accumulate, Blur, Chorus, Gain, Invert, Stretch, Scatter, Trace (hilite), and Waver
  • Automation of values using automatically generated Breakpoint Files based on drawn in automation data
  • Windows, Mac and Linux builds
  • Accepts stereo or mono input files (splits and merges files as needed to run the full processing Thread)
  • Threads can be saved and loaded for reuse
  • Small suite of built in getting started tutorials
  • Help tooltips and detailed help files throughout
  • Recycle output button to reuse output file for further processing
  • Optional automatic clean up of intermediate files
  • Customisable colour schemes

What doesn't work?

A number of things are not yet implemented or supported. Not all features of CDP will likely be implemented in SoundThread, as not all processes work well with the node based system. For access to all features of CDP I recommend SoundLoom, Soundshaper or using the command line directly.

Main missing features:

  • Text files other than simple value/pair breakpoint files and PVOC analysis files
  • Support for multiple input files and therefore all processes which require more than one input file and those that really benefit from multiple input files (e.g. Texture processes)
  • Support for audio files with more than 2 channels
  • Support for audio formats other than WAV
  • Many CDP processes have not yet been implemented

If you find any bugs or have user interface feature ideas, please raise a ticket in issues. If you would like to request specific CDP processes be added to SoundThread, please comment on this community discussion.

If you would like to test earlier builds and discuss feature ideas you can join the discord here.

For a very rough future development timeline check milestones.

Support SoundThread

If you like SoundThread and would like to help support its future development you can buy me a pint on Ko-Fi.