⌚
Timeflow
  • ⌚Introduction
  • 📗User Guide
    • â–ļī¸Getting Started
      • ✅Requirements
      • âŦ‡ī¸Installation
      • 🚀Quick Start
      • âœī¸Workflow
      • đŸŽŦRender Pipeline
      • â¯ī¸Editor vs Runtime
      • đŸĻŋHow it Works
      • â›‘ī¸Potential Issues
      • ⚡Optimization
      • 🔨3rd Party Tools
      • đŸ”ĸUpgrading Guide
    • â„šī¸Timeflow Editor
      • đŸŽ›ī¸Menu Bar
      • â˛ī¸Time
      • Local Time Scope
      • 🧰Work Area
      • âš™ī¸Settings
      • âŗUpdate Settings
      • đŸ“ēDisplay Lists
      • đŸ”ģMarkers
      • đŸ”ĩObject
      • 🏭Managed Objects
      • ⚡Quick Select Objects
      • âš’ī¸Tools
    • đŸŽŦTimeflow View
      • 🔩Toolbar
        • 🔑Auto Keyframing
        • â¯ī¸Play Controls
        • đŸĨ…Work Area
        • â¯ī¸Current Time
        • đŸŽŧMusical Timing
        • 🌐Grid and Snap
        • 🔸Keyframe Values
        • đŸ”ģMarkers
      • â˛ī¸Timeline
      • 📐Time Navigation
      • Local Time Scope
      • 🎏Track View
      • â†˜ī¸Selection
      • 📰Object Panel
      • đŸ“ēDisplay Lists
      • 🍱Channels
      • đŸŖProperties
      • 🔗Channel Link
      • đŸšĨSwitches
      • 📅Values Column
      • đŸ›¤ī¸Tracks
      • 🔸Keyframes
      • đŸ“ļAlignment Tools
      • ⌛Time Offset
      • đŸ”ĸInfo Panel
      • 📉Graph View
      • âœ‚ī¸Keyframe Tools
    • 🍰Menus & Shortcuts
      • 📃Context Menus
        • â†–ī¸Select Menu
        • 📰Object Menu
        • 🍱Channel Menu
        • đŸ›¤ī¸Tracks Menu
        • 🔸Keyframes Menu
        • đŸ”ģMarkers Menu
        • 📰View Menu
        • 📰Events Menu
        • đŸĨ…Work Area Menu
      • đŸ—ƒī¸File Menu
      • âš’ī¸Timeflow Menu
        • đŸ•ēAdd Behavior
        • đŸ”ļAnimation
        • 🍱Composition
        • đŸ“ēDisplay
        • ⏊Jump To
        • 👨‍đŸ‘Ļ‍đŸ‘ĻHierarchy
        • 🌐Mesh
        • 👉Select
        • 📚Tracks
        • 🌈Track Colors
        • â†”ī¸Transform
        • đŸ‘ī¸Visibility
        • đŸ› ī¸Editor
      • đŸ”ĩGame Objects Menu
      • đŸŽ›ī¸Presets
      • âš™ī¸Preferences
        • Assets
        • ⌛Time
        • đŸŗī¸â€đŸŒˆTracks
        • âšĒObjects
        • 🧮Channels
        • đŸ”ļKeyframes
        • 🔠Input
        • đŸ“ĨImport
        • đŸ–ŧī¸Rendering
        • đŸŽ›ī¸Overrides
        • 🍱Extras
      • *ī¸âƒŖKeyboard Shortcuts
        • Managing Shortcuts
      • âœ´ī¸Quick Menu
  • Reference
    • đŸ”ĩTimeflow Object
      • đŸĸTracks
      • 🏭Behaviors
      • ⏰Events
      • đŸ—ƒī¸Channels
    • 💃Timeflow Controller
      • đŸŽžī¸Timeflow Playback
    • đŸĒ„Behaviors
      • đŸŽžī¸Animation
        • 🔸Keyframer
        • â†”ī¸Tween
        • 🔀Blend
        • đŸŽĸMotion Path
        • đŸ‘¯Animation Clips
        • 🌴Animator Blend Trees
        • 😁Blend Shapes
      • 🤖Automation
        • 🛸Auto Bank
        • 🧭Auto Rotate
        • 📐Distance
        • ⏰Event
        • đŸ›Šī¸Flyby
        • 🏃Follow
        • 👀Look At
        • đŸŽ¯Look At Target
        • 🎲Noise
        • 🚊Place On Path
        • đŸī¸Place On Surface
      • 🔊Audio
        • 🔊Audio Track
        • đŸŽŧAudio Spectrum
        • đŸŽĩAudio Sample
        • đŸŽ™ī¸Audio Reactive
      • 🎹MIDI
        • 🎹Midi File
        • đŸĨMidi Tween
        • 📡Midi Receiver
          • đŸŽ›ī¸Minis Setup (New Input System)
          • đŸšĨMidiJack Setup (Legacy Input)
      • 🏁Rendering
        • đŸŽžī¸Render To Disk
        • 📋Render Queue
        • đŸ“Ŋī¸Video Encoding
        • 💡Tips & Optimizations
        • âēī¸Unity Recorder
      • 🔧Tools
        • â„šī¸Animator Info
        • 🧮Align Children
        • đŸ’ŦComment
        • #ī¸âƒŖFPS Counter
        • 📈Graph
        • 🔗Property Link
        • 🔄Rotator
        • ✨Particle System Update
        • 🌈Trail Renderer Update
        • đŸ“ēVideo Player Update
    • đŸ—ƒī¸Precomposing
    • 🏭Prefabs
    • 🎨Advanced Presets
    • đŸŽ›ī¸Editor Overrides
      • 🏹Transform Editor Override
    • 🔌Integrations
      • đŸ§™â€â™‚ī¸Adventure Creator
      • đŸŽ›ī¸MIDI Jack | Minis
      • đŸ¤ēSpine Animation
      • đŸ“Ŋī¸Unity Timeline
      • ➰Unity Splines
    • đŸĒSamples
      • đŸ•šī¸Demo App
      • đŸŽžī¸Cutscenes
      • 🏓Physics
      • 🍧Shader Properties
      • ⚡Visual Effect Graph (VFX)
    • 📖Glossary
    • 📗Scripting
    • đŸ“ŖPublished Works
    • âš ī¸Known Issues
    • 🆘Support
    • đŸ§ĒBeta
    • Roadmap
    • đŸ”ĸVersion History
    • ÂŠī¸Terms & Privacy
Powered by GitBook
On this page
  • Audio Sample Editor
  • Spectrum
  • Mode
  • Register
  • Frequency Range
  • Threshold
  • Decay Rate
  • Multiply
  • Apply to Scale
  • Set Shader Property
  • Use Baked Data
  • Start Baking
  • Start / Stop All
  • Turn Off All
  • Clear All
  1. Reference
  2. Behaviors
  3. Audio

Audio Sample

Sample a region of audio frequencies to drive motion

PreviousAudio SpectrumNextAudio Reactive

Last updated 2 years ago

Use this behavior to generate audio amplitude from a range of frequencies to drive audio-reactive behaviors. This requires an to provide the spectrum data for calculation.

Add multiple instances of Audio Sample to separate low, mid, and high frequencies.

To add a new Audio Sample instance to the selected game object, select:

Tools > Timeflow > Add > Audio Sample

If no object is selected, a new one is created.

Audio Sample Editor

Select the object to view its settings in the Inspector.

Spectrum

Mode

  • Average: calculates the average amplitude value over the frequency range.

  • Maximum: returns the maximum value over the frequency range.

Average is usually preferred since it results in a more stable calculation over time, whereas Maximum will jump any time there is a spike in the

Register

If this button appears, click it to register this Audio Sample to receive data from the Audio Spectrum. This might occur if the Audio Spectrum reference has been changed.

Frequency Range

Set the range of frequencies to sample, from about 20Hz to 20000Hz.

Frequencies are distributed logarithmically from low to high. For lower frequencies, a smaller range is usually best, while higher ranges may span larger values.

Example Ranges

Each audio track will vary, however as a general guide for frequencies:

  • Sub Bass: 0 - 30Hz

  • Kick Drum: 80 - 120Hz

  • Mid Range: 800 - 1200Hz

  • High Range: 1500 - 3000Hz

Threshold

Sets the minimum amplitude or lower threshold (RMS) for detecting changes in amplitude. Everything below this level is ignored.

Use Threshold similar to a gate filter, only reacting to spikes in the audio above the minimum audio range. This is helpful to filter out low level noise and isolate specific instruments.

Decay Rate

Sets time in seconds for amplitude to decrease, effectively applying temporal smoothing. Set to 0 to disable.

Use this to sustain audio-reactive hits a bit longer after the initial impulse of an increase in amplitude. Since spectrum data can by very dynamic and change dramatically from one frame to the next, this helps stabilize amplitude values over time.

Multiply

Scales the final amplitude.

Use Multiply to overall increase or decrease the intensity of the amplitude calculated.

Apply to Scale

Scales the current object by the final amplitude. This is primarily a preview function however may be used in production as well.

Set Shader Property

If enabled, the named global property is set with the current amplitude on each update affecting all shaders with the named property.

This is an efficient way to animate properties across all materials using specific shaders.

To target a global property defined in Shader Graph, make sure the variable name matches exactly and is not exposed in the editor.

Use Baked Data

Audio sampling data may be "baked" meaning that its values are recorded and stored for subsequent replays without reprocessing audio. This may be advantageous for performance and to overcome any limitations with real-time audio processing and target devices.

Start Baking

Click to enable recording of data for the Audio Sample. The UI displays in red while capturing.

Data is only recorded when Timeflow is played in edit mode.

To record data, rewind Timeflow and play it from the beginning (while still in edit mode). Data is only recorded on the frames played. Any areas of the timeline not capture are left empty and have no effect during playback.

Click Stop Baking when done recording. The baked data is now used in place of audio sampling as long as Use Baked Data is enabled.

Start / Stop All

Use these buttons to enable / disable recording on all instances of Audio Sample in the scene.

The bulk operation to start, stop, turn off, and clear all are useful when preparing scenes for rendering and then removing all the baked data when finished.

Turn Off All

Disables Use Baked Data for all Audio Sample instances in the scene.

Clear All

Clears all baked data and turns off Used Baked Data for all Audio Sample instances.

Baking Required for Rendering!

When using Render to Disk to render frame-by-frame output, audio sampling must be pre-baked since audio cannot play regularly while rendering. Failing to bake data on Audio Sample instances results in audio-reactive behaviors not reacting.

Use to link behaviors to Amplitude to drive audio-reactive effects.

For common features, please see and .

Assign the to provide spectrum data for this sample.

To help identify active frequency ranges in the audio, use the in Audio Spectrum and adjust the range to preview.

To map Audio Sample to additional properties, use or to route the Amplitude value where desired.

đŸĒ„
🔊
đŸŽĩ
Channel Link
Menu Bar
Update Settings
Audio Spectrum
Audio Reactive
Channel Link
Audio Spectrum
Each instance of Audio Sample has an Amplitude channel outputting the final calculation.
graph display