Skip to content

Conversation

@jamesb93
Copy link
Member

as it says on the tine

@jamesb93 jamesb93 requested a review from tremblap May 24, 2022 12:39
Copy link
Member

@tremblap tremblap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tab 1: good
tab 2: bug: draws the same channel twice for both bases and activations
tab 3: it is sad that we lose the native fft frame extraction. is the vocoder example now in the example folder?
tab 4: it is sad that we lose the non-incrementation explanation, no?
missing tab (for @tedmoore too): in light of my comment of @mode 2, we could have a tab for @mode 2 for both activations and bases, or did you plan to put such example as advanced somewhere else?

@tedmoore
Copy link
Member

tedmoore commented May 30, 2022

mode 2 for both activations and bases, or did you plan to put such example as advanced somewhere else?

I think it should go in the help file. It just wasn't a thing yet when the SC versions got done. I'll make a ticket to have it added for SC.

@jamesb93
Copy link
Member Author

jamesb93 commented May 30, 2022

tab 1: good
tab 2: bug: draws the same channel twice for both bases and activations
Got it now, thanks.

tab 3: it is sad that we lose the native fft frame extraction. is the vocoder example now in the example folder?

I think this is a matter of perspective. I found that particular sonic example underwhelming and often just quite vague with what was happening. Many combinations of activations / bases even with strong resynthesis results would sound like a bit of noise being enveloped weakly. fluid.nmffilter~ on the other hand is more obvious to me and represents a clear use-case of the objects working together. Also, not many people know or use pfft~. I think we can communicate the nature of nmf better with the objects in FluCoMa.

4: it is sad that we lose the non-incrementation explanation, no?

I find this phrasing of a remark discouraging in terms of discussion. It's a lot like when someone says "is that alright?" as a way of mitigating what they know to be wrong or an imposition. I don't find it sad, and AFAICT, the patch is exactly the same as it once was unless you are 0 counting? I don't quite follow so you'll have to help me.

missing tab (for @tedmoore too): in light of my comment of @mode 2, we could have a tab for @mode 2 for both activations and bases, or did you plan to put such example as advanced somewhere else?

We have fixed bases example in the "fixed bases" tab, so I think another tab would have to be didactic in order to clarify. Maybe "updating bases" can be expanded back to its original form where it had a @basesmode 2 thing going on. To me, the clear use case of of @basesmode 2 is made in the "fixed bases" tab, though it does ignore activations. Do we/ did we have a convincing musical example of seeded activations? That failing, a good didactic one that doesn't just make pshhhhhhh. I imagine something to try would be using noveltyfeature to make activations.

@tremblap
Copy link
Member

3: It had a strong didactic angle: we need to show people how to bridge between native fft and our fft mags and that was a good way. maybe that deserves its own vignette if you think it is abstract. maybe a generic one including bufstft+bufflatten since it is the same idea/concept.

4: what was there before is the non-updating part of the same patch @basesmode 2 - so one could see activations updating but bases staying as they are.

newtab: it is very advanced use hence tagging @tedmoore too. I think we should maybe do a vignette/learn with the missing bit of 4 above, and that double mode 2. that way we have an extension to our learn articles on the very rich nmf family and we are not blocked to release. in effect the help is already quite demo enough to get people help - and inspire - without these 2.

@jamesb93
Copy link
Member Author

3: It had a strong didactic angle: we need to show people how to bridge between native fft and our fft mags and that was a good way. maybe that deserves its own vignette if you think it is abstract. maybe a generic one including bufstft+bufflatten since it is the same idea/concept.

Indeed, I think a vignette that shows it would be useful but it is abstract. I also think it could use some finessing because it didn't sound very convincing to me.

4: what was there before is the non-updating part of the same patch @basesmode 2 - so one could see activations updating but bases staying as they are.

Ah I understand now. This seems like it should be somewhere isolated to clearly express it as it's a heady concept.

newtab: it is very advanced use hence tagging @tedmoore too. I think we should maybe do a vignette/learn with the missing bit of 4 above, and that double mode 2. that way we have an extension to our learn articles on the very rich nmf family and we are not blocked to release. in effect the help is already quite demo enough to get people help - and inspire - without these 2.

For sure

@tremblap
Copy link
Member

3: it sounded convincing enough to me to be in my last tune :) I'll make a ticket (on learn) with the idea

4+new: again I'll make a ticket on learn

so we can probably push as is then

@jamesb93
Copy link
Member Author

3: it sounded convincing enough to me to be in my last tune :) I'll make a ticket (on learn) with the idea

I think its simpler and more appropriate to stick a patch here

@tremblap
Copy link
Member

ok - you can steal back the vocoder code and maybe riff a bit more on the narrative of fftsize+1

I'll make a ticket on learn for mode2 and mode2mode2 - this is deffo advanced!

@tremblap
Copy link
Member

this is deffo advanced!

and not urgent!

@jamesb93
Copy link
Member Author

ok - you can steal back the vocoder code and maybe riff a bit more on the narrative of fftsize+1

I think you misread me, I am asking if you can show it doing something cool

@tremblap
Copy link
Member

it was already cool for me. so if you don't have any inspiration, just put that tab back.

@jamesb93
Copy link
Member Author

it was already cool for me. so if you don't have any inspiration, just put that tab back.

I don't think that is a good reason. My opinion is that while the example is didactic it doesn't work that well sonically and even then, the didactic benefits are lost in the complexity of the patching and idiosyncratic-ness of the example. fluid.nmffilter~ makes a clearer case for what the object is doing and more abstract theoretical concepts behind freq domain processing could be left to a vignette. Being cool isn't enough, it has to be effective and clear in order to not confuse users. Hence why every cool thing I've done in FluCoMa (in my opinion) for my own works is not in a help file.

@tremblap
Copy link
Member

I don't think that is a good reason.

it worked sonically, that exact sound is used in my tune! it worked didactically: it allowed cross synth (which has now dissapeared from the patch). So bring the concept back the way you want, but if you ask me, the old way was both sonically and didactically convincing. we just need the concept back now. we can improve examples later.

@jamesb93
Copy link
Member Author

I don't think that is a good reason.

it worked sonically, that exact sound is used in my tune! it worked didactically: it allowed cross synth (which has now dissapeared from the patch). So bring the concept back the way you want, but if you ask me, the old way was both sonically and didactically convincing. we just need the concept back now. we can improve examples later.

This is exactly what I am asking for. Can we make a better example, perhaps using the bases/activations from your tune? Nicol/TwoVoice cross synthesis does not sound good on its own.

@tremblap
Copy link
Member

also, the vocoder metaphor is a useful one to teach what bases+activation do.

@tremblap
Copy link
Member

you could do the same as before with 2 components (cross-basis synth on twovoice was done on 5 components before and made it probably too abstract but 2 components would probably make it clearer)

@jamesb93 jamesb93 merged commit fc500e3 into flucoma:dev Jun 1, 2022
jamesb93 pushed a commit that referenced this pull request Jun 14, 2022
* 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 (#184)

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

* corrected a view

* also, fluid.umap helpfile now uses the loader

* fix #185 

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

* Enhance/max params (#182)

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

* Wrapper: Handle new LongRuntimeMax parameter type

* POC for better buffer object chaining (#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 (#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 (#197)

* restore to previous state

* fix some style errors

* fix style issues

* Wrapper: Update for new `maxFFTSize`

* [Docs] BufCompose Help File (#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 #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 #190

* List2Buf: Correct outlet type. fixes #196

* [Docs] BufSpectralShape Help File (#156)

* grid it out

* bufspectralshape help file

* add a layout of results tab

* add @select tab and final changes

* translate SC -> Max (#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 (#200)

* layout

* cleanup and translate

* update bufpitch to match sc

* fix various errors in help files (#204)

* [Docs] NoveltySlice Help Files (#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 (#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 (#210)

* fix bufcompose

* fix bufampslice playback

* change from groove to play

* corrected players of 2nd tabs fixing #202

* Wrapper: Trying once again to get maxParams logic correct

* neaten and provide an example (#216)

perfect thanks!

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

* prepare help files with grid/fonts

* cleanup help file layout

* cleanup help files

* update remaining tabs for hpss

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

* update rt mfcc

* update bufmfcc to match translation better

* PAs review

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

* translate rt version

* add ioscbank and size $1

* translate bufmelbands

* fix loadbang mistake

* [Docs] BufFlatten Translation (#218)

* update bufflatten

* normalise fonts and grid size

* cosmetic movements

* change language around buffer management

* [Docs] Update fluid.list2buf (#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 (#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 (#222)

* translate nmffilter

* make ezdac local

* [Docs] BufStats translation (#220)

* prepare bufstats help file

* in progress

* full translation

* add a derivative tab

* cosmetics

* remove debug print

* [Docs] NMFMatch Translation (#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 (#226)

* wip

* mlpclassifier translation

* add caveat about predicting whole dataset

* layout

* [Docs] BufNMF Translation (#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 (#235)

* [Docs] RobustScaler SC Translation (#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 (#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 (#228)

* prepare help file

* shell out tabs

* mlpregressor translation

* [Fix] Plotter internal state management (#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 (#243)

* [Enhance] Manual Documentation for CCE Objects (#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 (#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 (#245)

* grid it out

* update first tab

* mimic Ted's real use case tab

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

* [Docs] PCA SC Translation (#247)

* add whitening tab

* add stackexchange link

* [Docs] BufNNDSVD SC Translation  (#251)

* update nndsvd help file to match sc

* fix numchans error

* translation (#255)

* [Docs] STFT SC Translation (#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 (#256)

* [Docs] NMFMorph SC Translation  (#258)

* start editing

* wip

* translate nmfmorph

* [Docs] BufNMFCross SC Translation (#254)

* prepare help file

* translation

* delete superfluous tab

* typo in bufnmf help

* [Fix] Various load issues  (#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 (#262)

* change of interface (#260)

* typo

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

* [CI] Update Release Workflow (#266)

* cleanup nightly release

* normalise naming extensions

* update release

* Revert "normalise naming extensions"

This reverts commit 2398518.

* update extension

* remove workflow dispatch variables

* [Docs] Transients Family Translation  (#259)

* translate transientslice

* translate buftransientslice

* fluid.transients~ translation

* cosmetic

* translate buftransients

* make mc example dual mono

* add zoom on content

* [Docs] AmpGate SC Translation (#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 (#267)

* add distance tab

* add argument for choosing default dataaset

* add distances tab

* add distances tab

* cleanup

* beta testing patches updated for beta7 (#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.

3 participants