Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an NRT client to calculate the novelty feature on data in a buffer #155

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

AlexHarker
Copy link
Contributor

@AlexHarker AlexHarker commented Jun 1, 2022

This PR addresses (for novelty feature, but not slicing) PR #148.

In max this adds the fluid.bufdatanoveltyfeature~ object (and similar for other environments).

Here's a patch to compare with fluid.bufnoveltyfeature~. Without the latency changes in #154 the overlaid outputs will be offer by window_size / hop_size. With that PR also they align.


----------begin_max5_patcher----------
2668.3oc6bs0qaabD9Yc9UPP3BjDbLydkKYexoE8sBTff1TfXGHPIsRm0lhT
fj53icP7u8tWHkHEuHRIRIiT6GjNZWdYlu4xN6Ly5e+gY1KhegmZa8Wsdq0r
Y+9CyloGRMvr7eOydavKKCCR0Wl8x3sa4QY1OZlKi+Rld7eZ062mlYshmtLQ
rKKNwZWPRvVKwZ0XhD9phaYWBOU9DBxDwQyCEQ7kw6izODbwUDjs7IQzl4I7
kYFhC6hc.OZA8wNHOJCR.l+AwxA8Xp4P.Gf0uk+Hh1uUDExyzDMLePwJMoFu
38uFSrOdkw6yJtTfZv+3gGTe73UBI+LekkH0Zw90QwOyCy9zZdP19D9WdWz6
h9ag644ytJHK3jqn3Y0W3gQzvCAQbnR.gAz+hM..AQmd.4+jxsBrx3R8jTwl
nfP614HJyyAI4EephU7GtDFgldF5eFGrRxQqEgRFKR9mRd5So7NXKHFoEMdZ
sYyOFFaAGO1Zw9rr3nhmm4gk8ocbCoZuHHZi8ABqCYTAePJ9r2bCz6HVI8Vv
y3Iy4QAKB0z.nQNEdAbZD+ixWWM42Nq+dhzhiO+eK0I6gxHj4qXQOswFBMDF
0sEwV4WJOImEx4gY1JMqm4IoRWkkdvyrC1sqzvyJcKJF+8w5Gj2iGFRDYFBe
XnD9yhh6GbXzfDIqmI4aoSHMs+hagiR0iIdEOIZu3fTPKBxIIMXGIkgo6BVZ
tYkLoX5ifoGwn6CUe4B0HJl3dDLkByMgwK+.eUYhyNdGORDUd0iJSuhuNXeX
170wQYohOqo.nRurg4WmSgMNohGLKokHN3hZl8lDwp3HEQTQRnFt30IMu0dq
TedjYzWQTvtFtYolgDVZYxTIStOcQPhRPkaQfJlLKNNr5TGtuP95r7o2IhhN
AEyh209jIhMO0w8tHVN41td15YRmuOxL6boNQ17zfmqh1YAgg4VjUe7uDDI1
JsGyDFQ.BbXRiWgmjQWDGFVgeMy7bCyrRpiuj+QwprmzunxJClvTxUhrOHkW
I1nbETYrrfMoUGIM6SFPuzP6WjaCOOiucWnjKpdARqCQZV5SweLM+BKTzJC.
GCFqrMcY2aUFuK2bUc0IiyXMO4KV4AZLWDU9xp46ecXbfzi3IKBzl+QBiph6
.g7cX5nyLwngXdRiAPMuks5w7Tuld1UugRNNQESnWIH2Uz3Ca+EKLh450IVI
TgmcFDBBLQlgzQlQcOOjfZFRH9siIvaClveYWhL.tnu6UqgV+fE1ARfTeqeT
Yt578cBUmEmv.8xBHrFmftWttCEe2ApWa4A8QN8vPqmvBzWuZI4xUenn6Npr
iy+v.8CcN3wUabgjQVTy8iAw5FqvsfUvaCVoIjNQgd4DlhzffN5Ji4CFzEWC
ZgqAcv0kloXOQkWjS+nhVwe4V6MJQt6q3se2qg..3cuSsnC.78RORpuctNOR
4dtK7H44cwdjHd2cauzcghLKfxwpG4rKp83vVaipC9kwtXCNB6tud+9OKrbo
TrqE37VjOd769fSFCTy1eXvKOB.21QI7HhRxcxkFrg2rdjbGOhnzfs6RMv00
YikG+nJ6dJaL3U.NjgYicbaZpTs0Rv2ZJVMeynVZ79jkE7ZgKTqpztbCGYhn
C6Z8sGEkmbgwIqLoAnedDlNRiT6B2JVsKVpnmiRt5j9XjbDOZwOZla.SC2f6
I2nVJ2B1E2fg.sadWlimO5XTDPk9nIwV0lx52lFtB0WtJm8mDpPsQi9oovlR
pvafR3ogJX0TeZgJPmypAxPl3HXJ0sbsN8ulRZuWxQuoTNp7zg5qbraDzXNB
gtUMGw9RGPsM0szGau40FLwlXGlM3UuYRqccg7AKR7qsJ6dqlaxj47frrDwh
8YlURKmI6AkwsMgwKBBOIMYMkPtGNRbCrh.eTR1qiS19kVK+wgTf0weDJR0e
2YYRfL8dFnP811oTlQGsb4CLYm6.mVaywUi8gV.87P4KQhnKiCM42+sV.Gej
OABYtDFf54gdr4gvzJioF5H4TtPosTFM26P8lxSGTwdvFd4lnr6Z4lVGtWrx
od8fsdiwPsTRQrdy50YoR3Qh.oxcXgHR8GjEBP7rdSP3l3DQ1SakqI8lOH0a
3gp.xk5TshsmUIkZxLIB65fNMGJTJZvE7B0RAuPW.bVcmHk1EBOy5Un144t3
WDNuvSxuNxsdTpJZVX2rKpA1kYOZZO2dWSXeTqtlJnlR9XzvCvopSERKCQvG
8xsohiJseniezp2v8D.D.vLBrSugkkFEII294OGGuUKHbnLOe0+bgdTL.OZd
0NmwdCs2wnY0VjfbSWRfHC2NkNdlosVj8eQv+3kYkR8INLUbxXPc2RmqL7MX
lBwsXl9+4kgGQMoMFR9VY3+VY3+VY3mrxvmYsvZcuxrb+p7EjB0NHyy5tuoL
7WPwIPnaSt26Jqx5EqsdE7JKXiKxzrV9tNkirigPp9M5hSsLjc2KeyOJCiYD
JWpo9wPWRc7gvNuFTa3C7tiOhqtOMxgFrpoFplE39Xa0VQ2uM.SmlVwqWq2t
zUZbkiOMZZAtbSK2uVpzdOA.o9gduDEffq2UUyc+uBK49HfUEKNMxnEbr5Pg
wbcMCMXe9JkCUqMgTHiDM78ygDZOgjVV8F1wp2fqUCZRpQJruEhDglvxR.g8
jJftSIU31Wp3rkWhZZDSrYoceTtOZHRkVGriKp4YmJFiMZLFjY7k70BqoUK6
SIAg0K87DW+o9SZrac8mP8tz1Sn4FsuJkvIjH7uZf3OIEhqsyV0+RGvZ4gUG
vPwZwxCPDrqDG5abW31PKoS.C9XWMhm5J4SXgzFqqb9d9SdUddQQxuqU9BJX
vYAFSGdgwPinv9WUYo+BE0tt4smSCRZSQdF1ICcDE0xsiKeHWmn1k54L.Isp
TMA5a0suUpy61H6mhp3kW+iwpJd+osHdmVQMf57SioXbeqnF9FVPsqsMALGR
Sooe4V.hPnWTKCfH20VFPUNhUhfv3MV+2e5W9GWmqDCvvvNjSAFHfN7izp+z
Wg+D9tvfk7iosZf9GLbrpghQ0RWEcvtGbsmZwcqmRu9dB85.DHndc37NqbmL
4UL9Poy2td4xA1cLWeszapCXvWPk0QiGNohleu3BazEfe6+OmwkDpH9BbHlO
phOJhAdYLWFgucIzPSBUywjAbNcuU4PTs8TgqzN3skOoJWyIYY.AMAagn4fU
Q547eT24tMOmYmX0jo8krgd8frortnapGSue.n4bkjSp5ec3Vpl0gKlZQt8A
j6lZM0RAioNPVskn8ZYtqDkOA.agtc6htOnAfcbImz4wzh5CUat5B.vMfQpb
MiknuO5oGyWwkyg838vFg2CobdxNic2zagWMKvik1BrW9D86Rs2EPzETG6Aq
UUzhywPsotK7Q0qoRyFp6XQFAgIDWoiEB1EYZ54GsJ6jrMVWFCEEeZvS47d8
4FaCOneOXd2QPQEQ5ihp+X7lXWsdYwRERcOPaxl5ycszcuLkwGOLRW7aBS66
a5ZkE8YEcxH7dXC1Dt4EfwptcpUqQVmRbSPlmz3lJB9jF17jl0rdiZ1dSZdZ
CZpyPeaMl4C+wC+O.sS3OtB
-----------end_max5_patcher-----------

@tremblap tremblap self-requested a review June 1, 2022 12:41
@weefuzzy
Copy link
Member

weefuzzy commented Dec 6, 2022

I'm in to this in principle (likewise for NMF), but will want to figure out an RT version that consumes list data, and a pithier name.

@AlexHarker
Copy link
Contributor Author

I believe I had some decision about naming and went for consistency over pithiness (as is my preference)

@weefuzzy weefuzzy changed the base branch from dev to main February 21, 2023 08:57
fearn-e pushed a commit to fearn-e/flucoma-core that referenced this pull request Aug 15, 2023
* griddify patch tab s

* update first tab

* second tab

* macros

* subsections tab

* small cosmetic changes

* update final tabs of help file

* make tab 2 playable

* clean tab 3

* cosmetic

* PAs addendums
fearn-e pushed a commit to fearn-e/flucoma-core that referenced this pull request Aug 15, 2023
* optional args: add to wrapper

* MaxWrapper: Add choices param (list of symbols <-> bitset)

* changing preset and interface for noveltyslice examples

* correct typos and misconnections in helpfiles (onsetslice and bufselectevery)

* Buf2List(2Buf): Correct atom type

Fixes MSVC debug builds

* kdtreehelp: now loads programatically, in order, from the stored labelset (flucoma#184)

* now loads programatically, in order, from the stored labelset

* corrected a view

* also, fluid.umap helpfile now uses the loader

* fix flucoma#185 

`ControlIn` objects
– properly adjust `ac` when adjusting `av` 
– ensure mListSize is always intialized to something 
– fix resize logic

* Enhance/max params (flucoma#182)

* CMake: Centralise C++ version and set to 17

* Wrapper: Handle new LongRuntimeMax parameter type

* POC for better buffer object chaining (flucoma#140)

* start of POC for buffer management stuff, needs fix to ParamDesc NumOf in core

* working POC for managing internal output buffers and process chaining 

relies on some pending updates to core

* Don't override box arguments with default buffers

* NRT: One outlet per output buffer, no progress outlet, draw progress on box

* Messages: Default instances for output container args

* updates to message default instances that don't break all other objects

* Add optional range arguments to buffer message in left inlet

* Stop MSVC being sad

* Wrapper: fix merge casuality

* [Fix] Broken patches due to new dataset/buffer interface interface (flucoma#195)

* update dataset

* fix broken cabling in datasetquery

* update kmeans

* make more max-like in style

* "maxify" the style

* fix connections and maxify style of labelset~

* fix connections in umap and maxify

* fix connections and mafixy fluid.grid~

* update kdtree~ help with fixed cables and max style

* fix connections and maxify style of normalize

* cosmetic upgrades

* update fluid.plotter cables

* fix bufstats due to tb

* [Fix] Missing OnsetSlice Files (flucoma#197)

* restore to previous state

* fix some style errors

* fix style issues

* Wrapper: Update for new `maxFFTSize`

* [Docs] BufCompose Help File (flucoma#155)

* griddify patch tab s

* update first tab

* second tab

* macros

* subsections tab

* small cosmetic changes

* update final tabs of help file

* make tab 2 playable

* clean tab 3

* cosmetic

* PAs addendums

* Wrapper: Fix reset for shared objects. fixes flucoma#43 

Will 'reset' to whatever was in the box that the message was called on, 
so potential for confusion...

* Wrapper: Fix managed object aliasing in message invocations. fixes flucoma#190

* List2Buf: Correct outlet type. fixes flucoma#196

* [Docs] BufSpectralShape Help File (flucoma#156)

* grid it out

* bufspectralshape help file

* add a layout of results tab

* add @select tab and final changes

* translate SC -> Max (flucoma#187)

* Wrapper: call params::set() properly for long array attrs 

To ensure that client objects  like attrui update properly in shared 
instances

* touch up ampslice example with Rod's audio

* prepare help file

* shell out the tabs

* ampslice updates

* Wrapper: Use raw value for maxFFT when refreshing attribute

* [Help] Pitch and BufPitch SC Translations (flucoma#200)

* layout

* cleanup and translate

* update bufpitch to match sc

* fix various errors in help files (flucoma#204)

* [Docs] NoveltySlice Help Files (flucoma#146)

* update noveltyslice

* shell out bufnovelty

* small cosmetic updates

* small layout issues

* update bufnoveltyslice to be similar to RT algo

* cosmetic

* tune parameters for second tab

* add a progression for tweaking parameters

* [Fix] Saner maximum sizes for modulatable examples (flucoma#205)

* add bigger maximums for noveltyslice for modulation fun

* set a bigger maximum kernelsize for realtime playing

* maximum parameter tweaks

* [Fix] Various Bug Fixes From PA (flucoma#210)

* fix bufcompose

* fix bufampslice playback

* change from groove to play

* corrected players of 2nd tabs fixing flucoma#202

* Wrapper: Trying once again to get maxParams logic correct

* neaten and provide an example (flucoma#216)

perfect thanks!

* [Docs] HPSS and BufHPSS translation (flucoma#219)

* prepare help files with grid/fonts

* cleanup help file layout

* cleanup help files

* update remaining tabs for hpss

* [Docs] MFCC and BufMFCC Translation (flucoma#217)

* update rt mfcc

* update bufmfcc to match translation better

* PAs review

* [Docs] MelBands + BufMelBands Translation (flucoma#214)

* translate rt version

* add ioscbank and size $1

* translate bufmelbands

* fix loadbang mistake

* [Docs] BufFlatten Translation (flucoma#218)

* update bufflatten

* normalise fonts and grid size

* cosmetic movements

* change language around buffer management

* [Docs] Update fluid.list2buf (flucoma#188)

* update list2buf help file

* change language in resize tab

* resize destination buffers downwards

* list2buf - list typo

* bufmelbands - corrected loadbang issue

* bufmfcc - typo

* Enhance/generate stubs (flucoma#231)

* CMake: Generate .cpp files

* CMake: Ensure MSVC compiles commonsyms.c

Enable C as a language for project...

* Remove all old handwritten CMake and stubs

* CMake: Tidy up Max SDK setup

* CMake: ensure correct MSVC runtime by default

* CMake: Correct hints for Max SDK libs

* CMake: Asking once again to compile happily on two platforms

* CMake: install prefix is a cache variable

* CMake: Move install prefix override

* CMake reinstate target for triggering docs in ALL

* CMake: Tidy up

* CMake: typo

* Wrapper: FFT max set properly after initialization

* CI: Update nightly workflow

* CI: use correct branches

* CI: remove reference to docs job

* CMake: belatedly add branch selection for flucoma deps upon which CI relies

* Reinstate package-json generation

* [Docs] NMFFilter Translation (flucoma#222)

* translate nmffilter

* make ezdac local

* [Docs] BufStats translation (flucoma#220)

* prepare bufstats help file

* in progress

* full translation

* add a derivative tab

* cosmetics

* remove debug print

* [Docs] NMFMatch Translation (flucoma#221)

* prepare and grid

* work on compressor example

* work in compressor parameters

* finish translation

* alter compressor example to be less idiosyncratic with vector sizes

* [Docs] MLPClassifier Translation (flucoma#226)

* wip

* mlpclassifier translation

* add caveat about predicting whole dataset

* layout

* [Docs] BufNMF Translation (flucoma#229)

* grid and format

* WIP

* translation of nmf sc

* remove nooiseplay vocoder

* cleanup small errors

* make channel offset permanent

* vocoder pfft patch

* add back vocoder example with tweaks

* mds translation (flucoma#235)

* [Docs] RobustScaler SC Translation (flucoma#234)

* translate standardisation

* grid out

* translation

* add scaler visualisation back

* scaler comparison re-usable tab

* update with visualisation and comparison together

* [Docs] Standardise SC Translation (flucoma#233)

* translate standardisation

* grid out

* translation

* add scaler visualisation back

* scaler comparison re-usable tab

* update with visualisation and comparison together

* commit patch

* update title

* add scaler comparison

* [Docs] MLPRegressor Translation (flucoma#228)

* prepare help file

* shell out tabs

* mlpregressor translation

* [Fix] Plotter internal state management (flucoma#242)

* refactor code to be handle state in a more legible manner

* only output position on mousedown (not mouseup)

* instantiate fluid.plotter with no border

* dont reset domain/range state with clear

* fix help file

* CMake: Pick up new Client tag to control tildes in external names better

* updated nmf examples with new interface

* change @SiZe to @history (flucoma#243)

* [Enhance] Manual Documentation for CCE Objects (flucoma#250)

* install the contents of manual_docs to release-packaging docs

* add manual docs

* rename manual_docs to local_docs

* update CMake to respect new path name

* use more robust path for local docs

* add default arguments and buffer messages

* en-quote

* add max list size as argument

* provide use case for spectrogram

* caveat about manual interaction with slices

* update descriptions and digest

* return destination -> source

* [Fix] Various patcher bugs (flucoma#253)

* fix bufselect~

* blank out bufstats values in messages

* fix feature patches with new interface

* cosmetic fix on kmeans

* add feature objects to landing page

* [Docs] Stats SC Translation (flucoma#245)

* grid it out

* update first tab

* mimic Ted's real use case tab

* normalize hehe the normalize help file with other scalers (flucoma#246)

* [Docs] PCA SC Translation (flucoma#247)

* add whitening tab

* add stackexchange link

* [Docs] BufNNDSVD SC Translation  (flucoma#251)

* update nndsvd help file to match sc

* fix numchans error

* translation (flucoma#255)

* [Docs] STFT SC Translation (flucoma#248)

* prepare help file

* rework first tab

* in progress

* cleanup first tab

* musical stft example

* mild cleanup

* finish musical example

* change sound file examples

* translate knnregressor (flucoma#256)

* [Docs] NMFMorph SC Translation  (flucoma#258)

* start editing

* wip

* translate nmfmorph

* [Docs] BufNMFCross SC Translation (flucoma#254)

* prepare help file

* translation

* delete superfluous tab

* typo in bufnmf help

* [Fix] Various load issues  (flucoma#261)

* fix maxsize argument for bufaudiotransport

* fix broken patch cables in bufchroma

* fix loading error

* fix broken dataset cables

* fix maxsize

* maxsize

* cosmetic

* broken cables

* stats maxsize

* typo

* cosmetic

* small cosmeti fixes

* cosmetic touch ups

* always load even if loadbang is disabled

* non local ezdac (flucoma#262)

* change of interface (flucoma#260)

* typo

* skmeans translation from SC (missing one tab also missing in kmeans) (flucoma#264)

* [CI] Update Release Workflow (flucoma#266)

* cleanup nightly release

* normalise naming extensions

* update release

* Revert "normalise naming extensions"

This reverts commit 23985181a41d9521e3a335a2d739a7bcbb9a8c3f.

* update extension

* remove workflow dispatch variables

* [Docs] Transients Family Translation  (flucoma#259)

* translate transientslice

* translate buftransientslice

* fluid.transients~ translation

* cosmetic

* translate buftransients

* make mc example dual mono

* add zoom on content

* [Docs] AmpGate SC Translation (flucoma#241)

* grid help file

* translate ampgate

* cosmetic

* silence removal example

* neaten patch

* finish off lookahead/lookback prettification

* fix onset/offset conceptual break

* defer loading of tab 3

* cosmetic

* MaxWrapper: Ensure box is properly released from `progress` upon cancel

* [Docs] (S)Kmeans Distances Tab (flucoma#267)

* add distance tab

* add argument for choosing default dataaset

* add distances tab

* add distances tab

* cleanup

* beta testing patches updated for beta7 (flucoma#268)

* typo

* typo

* typo

* fix release worflow

* fix bad path

* fix branch
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.

2 participants