Skip to content

anonimo82/audio_nodes_tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Audio Nodes & Tracker for Blender

Audio Nodes & Tracker is a revolutionary add-on that transforms Blender into a fully functional Digital Audio Workstation (DAW) and a modular synthesizer.

Leveraging the power of Blender's node system and its native audio capabilities (the aud module - Audaspace), this tool allows you to generate procedural sounds, apply complex effect chains, manipulate samples in the Video Sequence Editor (VSE), and sequence entire musical tracks using a retro-style Classic Tracker interface (similar to FastTracker II or Renoise) — all integrated directly into Blender's 3D viewport and Spreadsheet Editor.


🚀 Key Features

1. Node-Based Modular Synthesis

Build your own synthesizers, drum machines, and effect chains from scratch using a vast ecosystem of dedicated audio nodes:

  • Generators (Oscillators & I/O):
    • Basic Waveforms: Sine, Sawtooth, Square, Triangle.
    • Complex Synths: 3xOSC (3 tunable oscillators), DrumSynth (procedural generation of Kick, Snare, Tom, and Hi-Hat), Kicker (sub-bass/percussion).
    • Special Sources: Noise, LFO, Sample Player (loads external files), AudioOutput.
    • Advanced Tools: Singer (Procedural vocal synthesis using formants and white noise to simulate speech/singing), Slicer (Rhythmic management of audio loops/slices).
  • Filters (EQ & Dynamics):
    • Filters: Lowpass, Highpass, Bandpass, Notch, 3-Band EQ, WahWah.
    • Dynamics: Compressor, Envelope (simulated ADSR), Auto-Sidechain (LFO-based Ducker), Fader, Volume, Accumulator.
  • Effects (Modulation, Space & Distortion):
    • Ambience & Delay: Reverb (simulated with multiple delays), Delay, PingPong Delay.
    • Modulation & Pitch: Chorus, Flanger, Pitch Shift.
    • Distortion: Distortion (Soft clipping), Bitcrusher (Decimation), Waveshaper.
  • Sequence / Routing: Mixer (volume balancing) and Modulator (Ring Modulation).

2. Integrated Classic Tracker (Spreadsheet)

Sequence your music using a pattern-based vertical tracker (navigable via the Spreadsheet and 3D Viewport):

  • Patterns & Tracks: Organize your song into Patterns, each composed of multiple Tracks (instruments).
  • Note Management: Insert classic notes (e.g., C-4, D#5), set the octave, adjust the velocity (amplitude), and duration for each single step.
  • Playback & Sync: Real-time playback synchronized with Blender's timeline. The system uses drivers and frame handlers to dynamically trigger nodes.
  • 3D Visualization: The tracker grid is dynamically visualized via a procedurally generated mesh (Tracker_Viewer), easily readable in the Spreadsheet Editor.

3. VSE Sample Editor (Effects Rack)

Manage audio samples directly in the Video Sequence Editor (VSE) by adding a non-destructive effects rack.

  • Apply multiple effects (Volume, EQ, Comp, Reverb, Delay, Bitcrush, etc.) to VSE audio strips.
  • Baking and Insertion: Render the processed audio track into a new WAV file that is automatically re-inserted into the timeline (via the Apply and Insert operator).
  • Features include temporal isolation, Mute/Solo functions, and instant previewing.

4. Export & Mixdown

  • WAV Export: Full mixdown of the procedural sounds generated by the tracker.
  • MP4 Video Render: Integrated operators perform an automatic "bake" of the Tracker into a temporary audio file and launch the full video render of the VSE scene, delivering an MP4 with the final mix intact.
  • JSON Import/Export: Save and load entire patterns and musical tracks to reuse them in other Blender projects.

📂 Repository Structure

  • __init__.py: Add-on entry point. Registers categories, nodes, the Shift+A menu, and initializes Tracker and Sample Editor modules.
  • nodes/: Contains the definitions and real-time calculation logic (aud API) for all nodes.
    • io/: Input/output nodes, basic oscillators, Singer, DrumSynth.
    • filters/: Effects, EQ, distortion, delay.
    • sequence/: Signal routing and modulation nodes.
    • oscillator.py: Mathematical conversions from MIDI Note to Frequency.
  • tracker/: The core of the Sequencer.
    • properties.py: Data structures (AudioPattern, AudioTrack, AudioStep, etc.) stored in the Scene.
    • operators.py: Contains frame-by-frame handlers, driver setup, play/stop managers, and music compilation/export functions.
    • ui.py: Draws the interfaces for Master Control, Pattern, Tracker, and Automations in the Spreadsheet Editor.
  • sample_editor/: Module entirely dedicated to Video Sequence Editor integration.
    • operators.py / properties.py / ui.py: Cascading audio modifiers, effect baking, and exclusive VSE interfaces.
  • utils.py: Transversal functions, including recursive node tree exploration (connected_node_sound).

🛠️ Requirements and Installation

Requirements:

  • Blender: Version 4.0.0 or higher (Tested up to 5.1).
  • Dependencies: The add-on requires no external C++ libraries (uses native Python and Blender's integrated Audaspace).

Installation:

  1. Download the repository via Code > Download ZIP.
  2. Open Blender and navigate to Edit > Preferences > Add-ons.
  3. Click the drop-down arrow in the top right and select Install from Disk...
  4. Select the downloaded ZIP file.
  5. Enable the add-on by checking the box Animation: Audio Nodes Tracker.
  6. The panels will be accessible in the Sidebar (press N) in both the Spreadsheet Editor and the Video Sequence Editor.

📖 Quick Start Guide

1. Building an Instrument (Node Editor)

  • Open the Node Editor and select the Audio Node Tree type.
  • Press Shift+A to access the Ivano Audio Nodes menu.
  • Add an Oscillator (e.g., Sine or 3xOsc). Configure the Pattern ID and Track ID it should respond to.
  • Connect it to some filters (e.g., Envelope -> Lowpass -> Reverb).
  • Finally, connect the end signal to a Speaker (AudioOutputNode).

2. Composing the Sequence (Tracker)

  • Open a Spreadsheet workspace. The Tracker tabs will appear on the right Sidebar.
  • In the Patterns & Tracks section, create a Pattern and a Track.
  • In the Note Editor section, move the Step Focus. Set the notes, octave, and velocity to compose your melody.
  • Start Blender's animation (Spacebar) in "PATTERN" mode (loops the active track) or "VSE" mode (plays the timeline sequence).

3. Vocals and Procedural Drums

  • Use the DrumSynth node assigned to a track to create drums: Note C (Kick), D (Snare), E/F/G (Tom), A/B (Hi-Hat).
  • Use the Vocal Synth Pro (Singer) node by typing the name of the consonant/vowel in the individual Tracker Steps (e.g., testing C I A O across different triggers) along with the corresponding note.

4. Using the VSE Sample Editor

  • Drag and drop an Audio file into the Video Sequence Editor timeline.
  • In the side panel (N) under Sample FX, you can add an "Effects Chain".
  • Add an EQ, a Reverb, and a Distortion. Listen to the preview.
  • Click Apply and Insert to "freeze" the changes into a new WAV sample right inside the VSE timeline.

⚠️ Known Limitations and Technical Boundaries

This add-on pushes Blender's standard audio capabilities to the limit, but there are inevitable architectural trade-offs:

  • No External Plugin Support: It is not possible to load VSTs, AUs, or external instruments (like Kontakt or Serum). The environment is 100% closed and relies on the included procedural nodes.
  • CPU Jitter and Latency: Blender is graphic-processing software, not primarily designed for buffer-driven real-time DSP. Extremely large node trees may cause lag or audio dropouts during live playback.
  • Polyphony Management: Playing chords on a single track requires a highly complex node structure since each basic oscillator is conceptually monophonic.
  • VSE Editor Limits: Lacks real-time visual decibel metering, automatic "truncate silence" features, or destructive sine wave editing (sample-level cutting) prior to processing.
  • Simulated Sidechain: Sidechaining is generated mathematically via an LFO Ducker (Auto-Sidechain Node); it does not support true audio-routing based on another track's input.
  • Experimental Vocal Synthesis: The Singer node interprets basic formant strings. It does not perform Speech Recognition and does not "sing" fluid lyrics like specialized libraries (e.g., Vocaloid).

📄 License

This add-on is free software released under the terms of the GNU General Public License v3.0 (GPL-3.0). For more details, see the LICENSE file included in this repository.

About

WIP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages