Nodes/Avatar Graph/Object Speaker Add
ComfyUI Node

Object Speaker Add

Put an audio source in your avatar scene

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Speaker Add
  • BPY_OBJ
  • location
  • rotation
  • scale
  • BPY_OBJ
enter_editmodefalse
align

An avatar that talks needs a sound source, and in Blender that's a speaker object - an invisible emitter that plays audio and, crucially, drives sound-based animations. Object Speaker Add wraps bpy.ops.object.speaker_add and drops a speaker object into the scene. If you're building an avatar that lipsyncs or reacts to sound, this is where the audio enters the rig.

It's the odd one out in this pack's Object_* family: the others modify an existing mesh, but this one creates a new object. Same wrapper machinery, different job.

How it works

Auto-generated wrapper, standard for the pack. Your incoming BPY_OBJ becomes the active object (for context/scene placement) and the operator spawns a new speaker object. The output is still the BPY_OBJ you fed in - the speaker itself is a scene object you'd reference by name later, not the node's return value.

The inputs that matter

  • BPY_OBJ - the object used as the active object when the speaker is created.
  • enter_editmode - boolean, default false. Whether to drop straight into editing the new object. For a speaker there's nothing to sculpt, so leave it off.
  • align - enum: WORLD, VIEW, or CURSOR. How the new speaker's transform is oriented - world-aligned, aligned to the current view, or aligned to the 3D cursor. WORLD is the sensible default for an audio emitter.
  • location, rotation, scale - B_VECTOR3 inputs (three-component vectors) for the new speaker's transform. Leave unset and Blender uses its default placement; set them if you need the emitter positioned in a specific spot for positional audio.

Output is one BPY_OBJ, unchanged.

Install

Standard Avatar Graph install. ComfyUI Manager: search Avatar Graph, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui
python -m pip install -r requirements.txt

The pack pins bpy==3.6.0, effectively requiring Python 3.10, and first launch downloads the ~2.5 GB SAM checkpoint plus MediaPipe landmarkers.

Common issues

The trap: creating a speaker is one thing, wiring audio to it is another. This node adds the emitter object; loading an actual sound file into it and hooking the sound data to drive shape keys is done elsewhere (in Blender's speaker properties or via the pack's audio/Shape Flow nodes). People run this node, see no audio, and think it's broken - it isn't; the sound data was never attached.

Also remember the speaker is a new object in the shared scene, and it persists across queue runs like everything else in this pack. Run the node twice and you get two speakers. For most face-rig workflows you don't need a speaker object at all - lipsync in Avatar Graph usually drives shape keys directly from the animation runtime, with the speaker living only in the exported scene.

Categoryblender

Inputs (6)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
enter_editmodeoptBOOLEANfalse
alignoptCOMBO3 options: WORLD, VIEW, CURSOR
locationoptB_VECTOR3
rotationoptB_VECTOR3
scaleoptB_VECTOR3

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ