WIP: Geometry Nodes: Scene Sound Input Node #107007

Draft
DorianB wants to merge 3 commits from dodododorian/blender:input_scene_sound_node into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.

The objective of this potential patch is to provide geometry node users with the ability to make their geometry respond to the currently playing sound. This is accomplished by providing essential information such as the current sound volume and pitch.

Status: On Halt, Awaiting Design Approval

In order to make this work i will need to reach for a sound module developer to find the proper approach to evaluate rendered sound information ( ideally , at designated frame ).

Advantages

Working with the sound generated by blender directly (instead of importing and trying to synchronize a new sound data with timeline) is intuitive and easy to use for the user.

Use Case

This functionality can be used to create a range of effects where a geometry would react to a sound, such as:

  • Room objects reacting to earthquake sounds
  • Curve lighting strikes reacting to thunder
  • Approximate mouth movements.
  • Sound reacting abstract or text Mograph's


The concept can be tested already, as it was first implemented from a plugin that could read blender sequencer sound. ( Note that the goal of this patch is to read the generic sound blender is rendering, not only sounds from the sequencer )


The objective of this potential patch is to provide geometry node users with the ability to make their geometry respond to the currently playing sound. This is accomplished by providing essential information such as the current sound volume and pitch. ### <u>Status</u>: On Halt, Awaiting Design Approval In order to make this work i will need to reach for a sound module developer to find the proper approach to evaluate rendered sound information ( ideally , at designated frame ). ### Advantages Working with the sound generated by blender directly (instead of importing and trying to synchronize a new sound data with timeline) is intuitive and easy to use for the user. ### Use Case This functionality can be used to create a range of effects where a geometry would react to a sound, such as: - Room objects reacting to earthquake sounds - Curve lighting strikes reacting to thunder - Approximate mouth movements. - Sound reacting abstract or text Mograph's <img src="https://projects.blender.org/blender/blender/issues/107007/attachments/ab15ec89-23ba-429b-bd8e-7f2d387ce76d"> <br> <br> The concept can be tested already, as it was first implemented from a [plugin that could read blender sequencer sound](https://devtalk.blender.org/t/extra-nodes-for-geometrynodes/20942). ( Note that the goal of this patch is to read the generic sound blender is rendering, not only sounds from the sequencer ) <br> <video src="https://projects.blender.org/blender/blender/issues/107007/attachments/01c1b2bb-5db5-4d7d-95aa-a10bbfb04c0c" controls>
DorianB added 3 commits 2023-04-16 15:05:57 +02:00
DorianB changed title from WIP: Geometry Nodes: Scene Sound Node to WIP: Geometry Nodes: Scene Sound Input Node 2023-04-16 15:20:56 +02:00
DorianB requested review from Hans Goudey 2023-04-17 00:17:40 +02:00

Hi, it would be useful to have volume output with a -1 to 1 range. To simulate a speaker diaphragm you need positive and negative "voltage". Also this would allow for oscilloscopes to be made. Thanks for your consideration, cheers

Hi, it would be useful to have volume output with a -1 to 1 range. To simulate a speaker diaphragm you need positive and negative "voltage". Also this would allow for oscilloscopes to be made. Thanks for your consideration, cheers

Hi, it would be useful to have volume output with a -1 to 1 range. To simulate a speaker diaphragm you need positive and negative "voltage". Also this would allow for oscilloscopes to be made. Thanks for your consideration, cheers

First the design of fetching blender rendered sound need to be approved, then indeed, I could try to investigate the best information users might need and contact a sound module developer for advices on how to get such informations

> Hi, it would be useful to have volume output with a -1 to 1 range. To simulate a speaker diaphragm you need positive and negative "voltage". Also this would allow for oscilloscopes to be made. Thanks for your consideration, cheers First the design of fetching blender rendered sound need to be approved, then indeed, I could try to investigate the best information users might need and contact a sound module developer for advices on how to get such informations
Iliya Katueshenock added this to the Nodes & Physics project 2023-04-18 13:56:01 +02:00
Iliya Katueshenock added the
Interest
Geometry Nodes
label 2023-04-18 13:56:06 +02:00

Built in filtering would be nice as well, so you can easily select bands of different frequencies. Also I remember that other similar implementations I've tried for Animation Nodes for example had no way of "normalizing" the frequencies either, so in the end it was just the bass that contributed any energy while the upper frequencies almost did nothing. Which is how sounds work, but it's hard to do things like a visualizer this way :)

Built in filtering would be nice as well, so you can easily select bands of different frequencies. Also I remember that other similar implementations I've tried for Animation Nodes for example had no way of "normalizing" the frequencies either, so in the end it was just the bass that contributed any energy while the upper frequencies almost did nothing. Which is how sounds work, but it's hard to do things like a visualizer this way :)

Reviewers

Hans Goudey was requested for review 2023-04-17 00:17:40 +02:00
This pull request has changes conflicting with the target branch.
  • scripts/startup/bl_ui/node_add_menu_geometry.py
  • source/blender/blenkernel/BKE_node.h
  • source/blender/nodes/geometry/CMakeLists.txt
  • source/blender/nodes/geometry/node_geometry_register.cc
  • source/blender/nodes/geometry/node_geometry_register.hh
Sign in to join this conversation.
No reviewers
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest: Wayland
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#107007
There is no content yet.