Releases: llealloo/audiolink
Releases · llealloo/audiolink
Theme color improvements, Quest compatability, UTC time of day, a scripting define and major bugfixes!
There are 2 releases available now: Full and minimal. If you are unsure which one to get, go with the Full release. Minimal is slightly leaner and contains only the essentials.
Note that this release changes the included prefabs. Make sure to follow the below steps for updating from previous versions.
0.2.8 - May 14th, 2022
New features
- AudioLink theme colors are now configurable via the AudioLink controller with a slick color-picker GUI. (Thanks, DomNomNom)
- Added the ability to get the time since Unix epoch in days, and milliseconds since 12:00 AM UTC. Additionally, a helper function,
AudioLinkGetTimeOfDay()
has been added, which lets you easily get the current hours, minutes and seconds of the time of day in UTC. - An editor scripting define,
AUDIOLINK
, which will be automatically added when AudioLink is included. (Thanks, Float3) - AudioLink can now compile without VRCSDK and UDON, for use outside of VRChat. This kind of usecase is still experimental at best, though. (Thanks, Float3)
- Added a few new helper methods to sample various notes of the DFT. (Thanks, Float3)
Changes
- AudioLink theme colors have been cleaned up, including a new demo in the example scene, and the ability to change the colors in realtime in the editor. (Thanks, DomNomNom)
- Changed a few default settings on the AudioLink controller to be more responsive. (Thanks, DomNomNom)
- Changed folder structure to put less clutter into user projects.
Bugfixes
- Fix vertical UV flip of the AudioLink texture on Quest. (Thanks, Shadowriver)
- Fix error when using "Link all sound reactive objects to this AudioLink" button. (Thanks, Nestorboy)
- Add a header guard to
AudioLink.cginc
to prevent duplicate includes. (Thanks, PiMaker) - Fix various warnings in shader code. (Thanks, Float3)
- Fix NaN-propagation issue in the included video player. (Thanks, Texelsaur)
- Add a player validity check to the included video player. (Thanks, Texelsaur)
- Use
Networking.LocalPlayer.isInstanceOwner
instead ofNetworking.IsInstanceOwner
, which is broken. (Thanks, techanon) - The logos on the AudioLink controller were using point filtering, which was changed to bilinear. (Thanks, DomNomNom)
Updating from version 2.7 or lower? (...first time setup? please see next section)
- Take note of which AudioSource you are using to feed AudioLink, this reference may be lost during upgrade.
- Install the latest VRChat SDK3 and UdonSharp (following their directions)
- Close unity
- With Windows explorer (NOT within Unity), remove the following files & folders:
- AudioLink (folder)
- AudioLink.meta
- Reopen unity
- Download and install the latest AudioLink release
- If using AudioReactiveObject or AudioReactiveLight
components, you will need to manually re-enable the "Audio Data" under AudioLink "experimental" settings. This feature is now considered experimental until VRChat maybe gives us native asynchronous readback. - In scene(s) containing old versions of AudioLink:
- Delete both AudioLink and AudioLinkController prefabs from the scene
- Re-add AudioLink and AudioLinkController to the scene by dragging the prefabs from the AudioLink folder in projects (world creators only)
- Click the "Link all sound reactive objects to this AudioLink" button on AudioLink inspector panel (world creators only)
- Drag the AudioSource you were using previously into the AudioLink audio source parameter
- NOTE: If you previously used AudioLinkInput, you are welcome to continue doing so, however now in 2.5+ AudioLink is much smarter about inputs. Try dragging it straight into the AudioLink / audio source parameter!
Framerate invariance, major bugfixes, chronotensity helpers!
There are 2 releases available now: Full and minimal. If you are unsure which one to get, go with the Full release. Minimal is slightly leaner and contains only the essentials.
Note that this release changes the included prefabs. Make sure to follow the below steps for updating from previous versions.
0.2.7 - December 1st, 2021
New features
- Make AudioLink framerate-invariant, instead of assuming a specific framerate. Features that rely on timing have been updated to reflect this change.
- Add helper functions
AudioLinkGetChronoTime
,AudioLinkGetChronoTimeNormalized
,AudioLinkGetChronoTimeInterval
to more easily sample chronotensity values.AudioLinkGetChronoTime(index, band)
functions as a more-or-less drop-in replacement for_Time.y
. - Move
ALPASS_CCCOLORS
section from(24,22)
to(25,22)
to avoid confusion. Code that uses the define should continue to work fine.
Bugfixes
- Fix a nasty bug where mirrors would sometimes causing AudioLink to stop functioning when observed from specific angles.
- Fix erroneous timing code for filtered VU and ColorChord.
- Fix some issues in the documentation.
- Version number was wrong last release. It is fixed now.
Updating from version 2.6 or lower? (...first time setup? please see here)
- Take note of which AudioSource you are using to feed AudioLink, this reference may be lost during upgrade.
- Install the latest VRChat SDK3 and UdonSharp (following their directions)
- Close unity
- With Windows explorer (NOT within Unity), remove the following files & folders:
- AudioLink (folder)
- AudioLink.meta
- Reopen unity
- Download and install the latest AudioLink release
- In scene(s) containing old versions of AudioLink:
- Delete both AudioLink and AudioLinkController prefabs from the scene
- Re-add AudioLink and AudioLinkController to the scene by dragging the prefabs from the AudioLink folder in projects (world creators only)
- Click the "Link all sound reactive objects to this AudioLink" button on AudioLink inspector panel (world creators only)
- Drag the AudioSource you were using previously into the AudioLink audio source parameter
- NOTE: If you previously used AudioLinkInput, you are welcome to continue doing so, however now in 2.5+ AudioLink is much smarter about inputs. Try dragging it straight into the AudioLink / audio source parameter!
- If using AudioReactiveObject or AudioReactiveLight components, you will need to manually re-enable the "Audio Data" under AudioLink "experimental" settings. This feature is now considered experimental until VRChat maybe gives us native asynchronous readback.
New features! Chronotensity, Filtered VU, Theme colors, ColorChord index colors. Bugfixes, additional utility and more!
0.2.6 - October 6th, 2021
New features (big thanks to @cnlohr and @pema99)
- Chronotensity feature provides timing information to shaders which changes in reaction to audio
- ColorChord index colors, a new way to get audio reactive colors from ColorChord
- Globally configurable theme colors
- Filtered VU, smoothly filtered versions of VU data
- Amplify nodes and example shaders for above features
- Added
AudioLinkGetAmplitudeAtFrequency
andAudioLinkGetAmplitudeAtNote
functions for easily sampling specific parts of the audio spectrum corresponding to certain frequencies or semitones
Changes
- UnU sliders (thanks Texelsaur)
- Various improvements to included video player, now with a resync button (thanks again, Texelsaur)
- Recursive / nesting support for AudioReactiveSurfaceArray prefab
Bugfixes
- Fixed certain parts of filtered 4band data always being zero (thanks DomNomNom)
Updating from version 2.5 or lower? (...first time setup? please see here)
- Take note of which AudioSource you are using to feed AudioLink, this reference may be lost during upgrade.
- Install the latest VRChat SDK3 and UdonSharp (following their directions)
- Close unity
- With Windows explorer (NOT within Unity), remove the following files & folders:
- AudioLink (folder)
- AudioLink.meta
- Reopen unity
- Download and install the latest AudioLink release
- In scene(s) containing old versions of AudioLink:
- Delete both AudioLink and AudioLinkController prefabs from the scene
- Re-add AudioLink and AudioLinkController to the scene by dragging the prefabs from the AudioLink folder in projects (world creators only)
- Click the "Link all sound reactive objects to this AudioLink" button on AudioLink inspector panel (world creators only)
- Drag the AudioSource you were using previously into the AudioLink audio source parameter
- NOTE: If you previously used AudioLinkInput, you are welcome to continue doing so, however now in 2.5+ AudioLink is much smarter about inputs. Try dragging it straight into the AudioLink / audio source parameter!
- If using AudioReactiveObject or AudioReactiveLight components, you will need to manually re-enable the "Audio Data" under AudioLink "experimental" settings. This feature is now considered experimental until VRChat maybe gives us native asynchronous readback.
Must-have shader feature additions, video player connectivity, bugfixes, performance
(copy pasted from readme)
2.5 Update is out!
Big changes/additions in 2.5
- Many many new capabilities that avatar shader creators have been incorporating, so if you want to see the latest & greatest AudioLink avatar shader effects, 2.5 will be a requirement
- No more limitation on which video player to use!
- AudioLink audio source input is now way smarter! You can use any audio source whether it is 3D or 2D
- All shaders used in the repo are now equally compatible in-world and on avatars
- Increased performance across the board
Big changes for shader developers from 2.4 to 2.5
- Massive refactoring and restyling of codebase
- Lots of changes to the AudioLink.gcinc, please see the changelog
- Amplify shader templates and functions added w/ examples
- Left + right VU meter data
- Left + right waveform data
- Version read
- FPS read
- Synced instance time & synced network time! Thanks @cnlohr!
Bugfixes in 2.5
- AVPro + mono audio output (like a gaming headset) caused audio reactivity to break & log spam
- Various issues with video players, input methods, and audio sources resolved
Updating to 2.5 (...first time setup? instructions here)
- Install the latest VRChat SDK3 and UdonSharp (following their directions)
- Close unity
- With Windows explorer (NOT within Unity), remove the following files & folders:
- AudioLink (folder)
- AudioLink.meta
- Reopen unity
- Download and install the latest AudioLink release
- In scene(s) containing old versions of AudioLink:
- Take note of the AudioSource you are using to feed AudioLink
- Delete both AudioLink and AudioLinkController prefabs from the scene
- Re-add AudioLink and AudioLinkController to the scene by dragging the prefabs from the AudioLink folder in projects (world creators only)
- Click the "Link all audio reactive objects..." button on AudioLink inspector panel (world creators only)
- Drag the AudioSource you were using previously into the AudioLink audio source parameter
- NOTE: If you previously used AudioLinkInput, you are welcome to continue doing so, however now in 2.5 AudioLink is much smarter about inputs. Try dragging it straight into the AudioLink / audio source parameter!
- If using AudioReactiveObject or AudioReactiveLight components, you will need to manually re-enable the "Audio Data" under AudioLink "experimental" settings. This feature is now considered experimental until VRChat maybe gives us native asynchronous readback.
Reactivity, Texture, and Performance Update
How to install
- If updating from v0.2.x, install over top
- If updating from v1, please follow v1 to v2 migration instructions: https://github.com/llealloo/vrc-udon-audio-link/releases/tag/0.2.0
New in this version
- Sub bass cut for better AudioLink bass/kick response
- "Time since instance begin" to create effects which will appear the same to all players
- Demos, examples, and documentation explaining the AudioLink texture. (documentation still a work in progress)
- Debug pane in example scene
- Pixel data for VU meter
- 48kSPS and 12kSPS waveform data
Updates
- Various performance increases
- Reordered ColorChord and autocorrelator outputs in texture
- Formalized general data block containing VU meter information, auto gain information, version and time information
- Audio data disabled by default but still available if you need it: now shown as "experimental" due to known performance issue
- Improved autocorrelator view
- Reduced filesize of package
Improved reactivity, ColorChord, and auto correlator visualizer
Avatar testing support and improvements in audio reactivity
Installing to test Avatar projects
- Import AudioLink into your avatar project
- Drag AudioLinkAvatar prefab into scene with your avatar
- Add your favorite music track to test with to your project
- Drag your music track from the Project panel into the Hierarchy to create a new AudioSource GameObject
- Drag the AudioSource object that was created in the Hierarchy into AudioLinkAvatar/audioSource parameter
- Adjust the Gain/Bass/Treble settings on AudioLinkAvatar if necessary
- Hit play!
Changes in 0.2.2
- Added avatar testing support! Find installation instructions below and/or in the readme!
- Added a look up table to improve spectrogram response on default settings (you still might need to play with gain setting per song)
- Cleaned up code, safeguarded certain settings to prevent accidental misconfiguration
Next up
- Auto gain!
- ColorChord integration :)
- Performance increases
hotfix for initial release
What's new in v2
New features
- Full waveform, VU meter, and 240 point spectrogram (all data is also accessible to avatars)
- New _AudioTexture (avatar texture) size: now 128x64 instead of 32x4. Make sure your avatar and world shaders are updated to the latest & compatible.
- Coming soon Compatibility in Avatar SDK3 projects for easy local testing with avatars
- New controller with greatly enhanced crossover system & live spectral analysis
- AudioReactiveSurfaceArray prefab: for controlling tens or hundreds of objects using AudioReactiveSurface shader at once w/ GPU instancing
- AudioReactiveSurface pulse: adds a pulse across the UV of the mesh w/ customizable rotation and pulse scale
Bug fixes
- AudioReactiveObject scale now works
Migrating from v1 to v2
- Make sure you have the latest VRChat SDK3 and UdonSharp installed.
- In your scene, remove AudioLink4 + AudioLink4Controller
- Close Unity. Using Explorer, delete the AudioLink directory in your Project/Assets folder as well as the associated AudioLink.meta file
- Open your project in unity again, and install the latest AudioLink v2 package
- Re-add AudioLink and AudioLinkController to the scene
- Follow "Getting Started" section to relink audio source (the method has changed since v1) and relink existing sound reactive objects by clicking "Link all sound reactive objects..." on the AudioLink prefab.
Initial release of AudioLink v2
What's new in v2
New features
- Full waveform, VU meter, and 240 point spectrogram (all data is also accessible to avatars)
- New _AudioTexture (avatar texture) size: now 128x64 instead of 32x4. Make sure your avatar and world shaders are updated to the latest & compatible.
- Compatibility in Avatar SDK3 projects for easy local testing with avatars
- New controller with greatly enhanced crossover system & live spectral analysis
- AudioReactiveSurfaceArray prefab: for controlling tens or hundreds of objects using AudioReactiveSurface shader at once w/ GPU instancing
- AudioReactiveSurface pulse: adds a pulse across the UV of the mesh w/ customizable rotation and pulse scale
Bug fixes
- AudioReactiveObject scale now works
Migrating from v1 to v2
- Make sure you have the latest VRChat SDK3 and UdonSharp installed.
- Using Explorer (Close unity), delete the AudioLink directory in your Project/Assets folder as well as the associated AudioLink.meta file
- Open your project in unity again, and install the latest AudioLink v2 package
- In your scene, remove AudioLink4 + AudioLink4Controller (which will show up as missing prefabs)
- Re-add AudioLink and AudioLinkController to the scene
- Follow "Getting Started" section in readme to relink audio source and existing sound reactive objects.
Updates, bug fixes, and feature additions
How to update
Please see the updated section in the readme for updating from 0.1.4 to 0.1.5.
Updates
- Signal processing tweaked for better default settings
- Crossover settings and ranges updated for better default settings
- Core module runtime enhancements
- Audio shader code optimization
Bug fixes
- 3D audio source cause spectrum data dropout / fadeout. This has been fixed by adding a dummy 2D audio source as an input, set to an inaudibly low volume that is preprocessed back to full input level by the AudioSpectrum shader.
Additions
- "Reset" button added to the controller. This resets the controller settings back to its initial state.
- AudioReactiveSurface_Cutout and AudioReactiveSurface_SmoothAlpha shader variants added
- Readme has been heavily reworked