Skip to content

Release Candidate for Version 0.41 - #23

Merged
ashesfall merged 60 commits into
stagingfrom
develop
Sep 2, 2025
Merged

ashesfall merged 60 commits into
stagingfrom
develop

Conversation

@ashesfall

Copy link
Copy Markdown
Collaborator

No description provided.

ashesfall added 30 commits May 15, 2025 10:49
Version 0.39
Version 0.40
…on. AudioGenerator is updated to interact with this abstraction instead of directly with the Onnx session(s). Also, AutoEncoder specifies both an encode and decode operation, which will eventually allow for wider use throughout the platform. Minor improvements to OnnxDitModel and OnnxFeatures.
…oder. Minor improvements to OnnxAutoEncoder and AudioGenerator. Introduced WaveData::loadMultiChannel and improved the efficiency of WavFile::channel.
… set up with different strategies for generating feature data. DefaultWaveDataFeatureProvider is introduced to capture the previous approach using WaveData::features, while AutoEncoderFeatureProvider is introduced to compute the features using AutoEncoder::encode. Introduced AutoEncoder::getSampleRate, AutoEncoder::getLatentSampleRate and WaveData::getDefaultFeatureSettings.
…lection will continue to return the data for a single channel for backwards compatibility, but the new method WaveData::getData will return data for all channels. Eliminated WaveData::allocateCollection and AudioLibrary::load methods. Introduced OnnxFeatures::defaultOptions and a new constructor for OnnxAutoEncoder.
…ata if existing WaveDetails are provided and updated AudioLibrary::getDetails so that it computes feature data if it is missing. Removed unnecessary warning from WaveData constructor.
… input to stereo. Improved error handling in OnnxFeatures.
…ed to combine the feature data of multiple samples using a linear sum, where the scale for each feature component is determined by the dot product of a weight vector with an input vector. AutoEncoder::encode and AutoEncoder::decode are updated to operate on PackedCollection Producer instead of PackedCollection.
…hat weights are generated and used correctly and that feature shapes are consistent. AudioModulator is updated to use AudioComposer. OnnxAutoEncoder::decode is updated to handle omitting the batch dimension.
…re now uniform across the entire space of features, and ComposableAudioFeatures::getResultant cuts off scale values below zero.
…s and updated WaveDetailsFactory::similarity to attempt to use feature data instead of frequency data, if it is available.
…bed dimensions and seed properties for AudioModel. Introduced AutoEncoder::getMaximumDuration.
…peration. Reduced logging in WaveData and marked WaveData::getCollection deprecated. Test updates.
…m and introduced ConditionalAudioScoring. New methods of OnnxFeatures.
…lAudioScoring. Introduced DitModel::getAttentionActivations and updated DiffusionTransformer to implement it. Improved error handling in OnnxFeatures.
…lsFactory::forWaveData to tolerate null WaveData.
ashesfall added 29 commits July 28, 2025 18:04
…ction. Many uses of WaveData are updated as a result of this change, with many other methods being forced to adopt an argument indicating what channel to work with. WaveDataProvider::get is replaced by a similar method, WaveDataProvider::getChannelData, which accepts a channel argument. Many methods of CellFeatures are similarly updated. WaveData::loadMultiChannel and WaveData::saveMultiChannel are both eliminated, since the normal methods for save and load now directly handle multiple channels. Other unused code has been removed, and many tests which previously expected mono WaveData have been updated as well. Some issues remain to be addressed later, including uses of NoteAudioProvider that do not specify a channel.
…. Introduced MultiChannelAudioOutput and updated AudioHealthComputation, MixdownManager, AudioScene and AudioScenePopulation to use it instead of individual Receptors for each type of output. PatternNoteAudio is updated to support an audio channel argument, allowing PatternElements to be voiced in either of the stereo channels. Corresponding changes to AudioScene and MixdownManager allow for separate rendering of audio for the two stereo channels, ensuring that stereo sample material is properly handled in arrangements. ChannelInfo is updated to include a stereo audio channel in addition to the pattern channel index. Introduced a new constructor in WaveData. Many test updates.
…fication of the StereoChannel in the same way as Voicing. NoteAudioContext is updated to include a StereoChannel also, so that resulting ElementVoicingDetails are correct. HealthComputationAdapter is updated to allow for the use of a stereo WaveOutput for the master output of its MultiChannelAudioOutput. Fixed an issue with cursor validation in StableDurationHealthComputation. Many test updates.
…e key for the note audio cache, ensuring that separate entries are tracked for each audio channel. WaveDataProvider::getChannelData is updated to permit specifying the target sample rate, which allows the constraint on source sample rate in NoteAudioProvider::isValid to be dropped.
…s to ProjectedGenome. This has many consequences for MixdownManager, PatternSystemManager and other components used by AudioScene to produce audio. WaveDataProviderAdapter::getChannelData no longer requires that the sample rate match the OutputLine sample rate. Introduced ParameterSet::fromGene. Introduced MultiOrderFilterEnvelopeProcessor::destroy and AudioProcessingUtils::destroy. Disabled FeatureComputer in WaveData. Many other minor changes are included, especially to tests, as a result of classes that have been removed from ar-heredity.
…oScenePopulation::generate to use stereo output. Fixed an issue with handling measurement Receptors in MixdownManager. MultiChannelAudioOutput::getMeasure and MultiChannelAudioOutput::getStem correctly return null when measurement or stem outputs are not in use. Adjusted constructors in WaveOutput.
…udio channel. Adjusted logging in WaveDetailsJob.
…han a locally defined TemporalCellular implementation. Migrated many uses of Scalar operations to PackedCollection operations. Eliminated WaveFile::load in favor of more options for WaveData::toCell. Corrected a defect in MixdownManager that would cause it to fail when measurement is not active. Introduced support for automatically saving profile data after each iteration in StableDurationHealthComputation. Introduced AudioSceneOptimizer::setFeatureLevel. Test improvements.
…alueSequenceCell, SineWaveCell and related types. Eliminated ValueSequenceData. Updated AudioFilterData::output to ensure that the correct shape is returned. Adjusted configuration of AudioSceneOptimizer.
…n AudioScene, eliminating the need for ProjectedGenomeSet. Accordingly, AutomationManager, ChordProgressionManager, DefaultChannelSectionFactory, EfxManager, MixdownManager, PatternLayerManager, RiseManager and SceneSectionManager are all updated to no longer require a dedicated ProjectedGenome. OptimizeFactorFeatures methods are updated to return a List of ProjectedGenes instead of expecting a dedicated ProjectedChromosome. Many minor test updates.
…ate and feature (output) sample rate. Introduced WaveDataProvider::getChannelCount and WaveDataProvider::get supporting resampling. Updated TreeNoteSource::computeProviders to avoid excluding sources based on sample rate. WaveDetailsFactory now uses dot product for feature similarity calculation. Introduced warning about identical features in AudioLibrary::computeSimilarities.
…for pause and resume of lower priority detail computation jobs.
… moving the resulting file(s) into place when the serialization process is complete. Uses of LibraryDestination are updated to ensure that this final flush operation is performed when the process is over.
…addition Computation. Cleanup in AudioSceneOptimizer.
@ashesfall
ashesfall merged commit 130604e into staging Sep 2, 2025
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant