RAPID-MIX_API issueshttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues2017-06-09T01:01:15Zhttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/1Installation error on both xmm-node and xmm-client using [--save] tag2017-06-09T01:01:15ZFrancisco BernardoInstallation error on both xmm-node and xmm-client using [--save] tag
Hope this is the right place to do this...
When I try to install both xmm-node and client with node v8.0.0
> npm install [--save] ircam-rnd/xmm-node
> npm install [--save] Ircam-RnD/xmm-client
I get this error:
Unhandled...
Hope this is the right place to do this...
When I try to install both xmm-node and client with node v8.0.0
> npm install [--save] ircam-rnd/xmm-node
> npm install [--save] Ircam-RnD/xmm-client
I get this error:
Unhandled rejection Error: Invalid tag name "[--save]": Tags may not have any characters that encodeURIComponent encodes.
at invalidTagName (/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:76:15)
at fromRegistry (/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:244:13)
at resolve (/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:66:12)
at npa (/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:39:10)
at /usr/local/lib/node_modules/npm/lib/install/deps.js:200:16
at /usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js:52:35
at Array.forEach (native)
at /usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js:52:11
at Array.forEach (native)
at asyncMap (/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js:51:8)
at exports.getAllMetadata (/usr/local/lib/node_modules/npm/lib/install/deps.js:199:3)
at Installer.loadArgMetadata (/usr/local/lib/node_modules/npm/lib/install.js:325:3)
at /usr/local/lib/node_modules/npm/lib/install.js:648:16
at BB.join.then (/usr/local/lib/node_modules/npm/lib/install/read-shrinkwrap.js:41:16)
at tryCatcher (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:512:31)
if I install without the tag it seems to go well.
FBJoseph LarraldeJoseph Larraldehttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/12CMake support?2017-11-20T22:32:56ZMichael ZbyszyńskiCMake support?Our tests could build and run with CMake.Our tests could build and run with CMake.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/2Add an overload to TrainingData to accept only 1 argument, the input vector2017-06-15T11:13:48ZFrancisco BernardoAdd an overload to TrainingData to accept only 1 argument, the input vector.use cases GVF and DTW that do not require the vector of outputs or labels
.refactor the clients of the function that are using empty output vectors.use cases GVF and DTW that do not require the vector of outputs or labels
.refactor the clients of the function that are using empty output vectorsMichael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/3Decide: submodule, subtree, read-tree2017-08-30T13:10:42ZMichael ZbyszyńskiDecide: submodule, subtree, read-tree@Joseph @francisco
I think none of us like git submodule for our external repositories. I had been considering git subtree. Francisco used git read-tree. We should come up with one, simple solution for our public repository.@Joseph @francisco
I think none of us like git submodule for our external repositories. I had been considering git subtree. Francisco used git read-tree. We should come up with one, simple solution for our public repository.Francisco BernardoFrancisco Bernardohttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/5trainingData: design concerns around phrases and elements2017-10-31T13:47:30ZMichael ZbyszyńskitrainingData: design concerns around phrases and elementsThe designed relationship between phrases and elements is not ideal:
1) Do users of static classifiers need to know about phrases? Should they start recording/stop? Or can they directly add elements? Is one class confusing?
2) Phrases ...The designed relationship between phrases and elements is not ideal:
1) Do users of static classifiers need to know about phrases? Should they start recording/stop? Or can they directly add elements? Is one class confusing?
2) Phrases have string labels and elements have numeric outputs. This lets users create incompatible data sets
3) Phrases have column_names, elements don't.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/6GVF does not import/export JSON models and breaks the architectural pattern2017-11-27T17:21:56ZFrancisco BernardoGVF does not import/export JSON models and breaks the architectural patternThis could be a "Nice to have" feature
@baptisteThis could be a "Nice to have" feature
@baptistehttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/7Merge 3rd party dependancies (json and catch)2017-08-17T14:30:14ZMichael ZbyszyńskiMerge 3rd party dependancies (json and catch)We have added dependancies to json.cpp and Catch cpp to the rapidmix-api.
These dependancies are also part of XMM and json.cpp is part of RapidLib. How can we resolve these duplicates in this repository?We have added dependancies to json.cpp and Catch cpp to the rapidmix-api.
These dependancies are also part of XMM and json.cpp is part of RapidLib. How can we resolve these duplicates in this repository?https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/8Add GF to Rapid API2017-08-17T14:33:08ZMichael ZbyszyńskiAdd GF to Rapid API@mgill009 @mick
If I can get my hands on the Gesture Follower code, I'll integrate it into the RapidLib.@mgill009 @mick
If I can get my hands on the Gesture Follower code, I'll integrate it into the RapidLib.Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/9Setup forum2017-09-20T11:12:58ZMichael ZbyszyńskiSetup forumWe've talked about having a user forum on the website. We should decide how to do that and implement it.We've talked about having a user forum on the website. We should decide how to do that and implement it.Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/53Put homepage video behind a button2017-12-18T14:42:23ZMichael ZbyszyńskiPut homepage video behind a buttonIt is a little invasive to be hit by the "allow camera" dialog right on the front page of rapidmixapi.com.
Make it so the user has to click a button before the code in that iframe loads. Maybe like this:
```
<iframe src="http://jquery...It is a little invasive to be hit by the "allow camera" dialog right on the front page of rapidmixapi.com.
Make it so the user has to click a button before the code in that iframe loads. Maybe like this:
```
<iframe src="http://jquery.com/" id="myFrame" width="500" marginwidth="0" height="500" marginheight="0" align="middle" scrolling="auto"></iframe>
<button onclick="loadPages()">Click Me</button>
<script>
function loadPages(){
var loc = "http://es.learnlayout.com/display.html";
document.getElementById('myFrame').setAttribute('src', loc);
}
</script>
```Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/49Change GVF return data2017-12-06T16:09:28ZMichael ZbyszyńskiChange GVF return dataRight now, GVF is putting likeliest gesture, likelihoods, and alignments into on flat vector. This is a potentially confusing design that could be improved. Either all of the machine learning algorithms should return a struct (issue #15...Right now, GVF is putting likeliest gesture, likelihoods, and alignments into on flat vector. This is a potentially confusing design that could be improved. Either all of the machine learning algorithms should return a struct (issue #15), or GVF should return the likeliest gesture and the other data could be retrieved with get() functions.Francisco BernardoFrancisco Bernardohttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/11Windows and Linux Builds for examples2017-09-21T13:19:47ZMichael ZbyszyńskiWindows and Linux Builds for examplesWe should setup a windows build system to create windows binaries for C++ examplesWe should setup a windows build system to create windows binaries for C++ examplesMichael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/41Link to Unity wrapper on website2017-11-27T17:59:33ZMichael ZbyszyńskiLink to Unity wrapper on websiteI swear there was a link on the website...I swear there was a link on the website...Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/13Adapt GVF to look at all the phrases2017-09-01T09:05:40ZMichael ZbyszyńskiAdapt GVF to look at all the phrasesMZ removed the "default" phrase from the trainingData object. Then, edited line 49 for h to start from 0, rather than 1. Unfortunately, this breaks the unit tests.
It seems like GVF is returning the wrong result here?MZ removed the "default" phrase from the trainingData object. Then, edited line 49 for h to start from 0, rather than 1. Unfortunately, this breaks the unit tests.
It seems like GVF is returning the wrong result here?Francisco BernardoFrancisco Bernardohttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/10Add SeriesClassification (DTW) to website and documentation2017-09-27T12:03:02ZMichael ZbyszyńskiAdd SeriesClassification (DTW) to website and documentationOnce SeriesClassification has its API in good shape (re: labels and training data), add it to the online documentation.Once SeriesClassification has its API in good shape (re: labels and training data), add it to the online documentation.Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/14release Rapid-Mix 2.2.02017-09-29T09:21:58ZMichael Zbyszyńskirelease Rapid-Mix 2.2.0I made some changes to the API that might make it worth a new release:
Related to #5 , I added a recordSingleElement() function.
I've updated dtwTemporalClassification and staticClassification to take labels. This is a pretty big chang...I made some changes to the API that might make it worth a new release:
Related to #5 , I added a recordSingleElement() function.
I've updated dtwTemporalClassification and staticClassification to take labels. This is a pretty big change for staticClassification. Documenting that is #10 and needs to be finishedMichael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/39Leon's JUCE example to repo2017-10-10T13:33:59ZMichael ZbyszyńskiLeon's JUCE example to repoI should grab a copy of Leon's JUCE example from last year, update it to the current API, and include it in this repository.I should grab a copy of Leon's JUCE example from last year, update it to the current API, and include it in this repository.Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/16Stackoverflow presence2017-09-21T16:16:08ZFrancisco BernardoStackoverflow presenceFrancisco BernardoFrancisco Bernardohttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/17Can't activate community account2017-10-24T10:55:18ZMichael ZbyszyńskiCan't activate community accountI tried to create an account on our new Discourse community.
I was sent a verification email that links me to here:
https://u6051974.ct.sendgrid.net/wf/click?upn=NBw5xJzJAE10dH9kQr0qattSsABL9m1ZCb7oS6Kqcvyrjq5-2BoF5yasGAGKy6JcdebiXVuLvp...I tried to create an account on our new Discourse community.
I was sent a verification email that links me to here:
https://u6051974.ct.sendgrid.net/wf/click?upn=NBw5xJzJAE10dH9kQr0qattSsABL9m1ZCb7oS6Kqcvyrjq5-2BoF5yasGAGKy6JcdebiXVuLvpE7RKUQTJBj18FUGF-2FiLPY81a0Ump3JFtdz-2FFv-2FmCVwp2S6r04Un25eux_J39NHuUDkZJNAcR1SpHFdj9nvrlZWczGVN7nkZJQYFP9tzpy4paojEAVPY9DgODvA-2B40sWpvpK0xH8eJafoIJkEnxivtLstjSz-2BxNckn-2BoqZNubclB3uayeco-2FavSUgDOneIZrpWq3fOqjNdXeoN6w8nTiYbrbCBCpAZjxVPb0LjBfKTxT4NZLXjVrTwCie7m04A2OcdmGq9e2uQWO19SGUB2cMWQtAjIc6bHPpjpFo-3D
Which alleges to be a link to:
http://community.rapidmixapi.com/u/activate-account/d6c24f9cf4910e4b935c3dc03d14d8db
That site does not exist.Francisco BernardoFrancisco Bernardohttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/42Document audio/signal processing on the website2017-10-24T10:55:01ZMichael ZbyszyńskiDocument audio/signal processing on the websiteWe need another page about basic signal processing and feature extraction on incoming audio.
Also, some explanation synthesis and sample playback using MaxiLib.We need another page about basic signal processing and feature extraction on incoming audio.
Also, some explanation synthesis and sample playback using MaxiLib.Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/19Add running JS examples to the website.2017-10-24T10:56:36ZMichael ZbyszyńskiAdd running JS examples to the website.It would be great if we had runnable examples on our website. Even greater if they're interactive.
I think it shouldn't be hard to embed CodeCircle pages into iframes? Or, maybe they're some better tech?
NB: We have to figure out RM AP...It would be great if we had runnable examples on our website. Even greater if they're interactive.
I think it shouldn't be hard to embed CodeCircle pages into iframes? Or, maybe they're some better tech?
NB: We have to figure out RM API vs RapidLib confusion.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/18"Hello World" is lame2017-12-04T16:14:23ZMichael Zbyszyński"Hello World" is lameThe current "hello world" example on the website is not very inspiring. It demonstrates something that is music-centred and esoteric. And, it doesn't work very well. Can this be improved? Or, should we abandon "hello world"?
One big pr...The current "hello world" example on the website is not very inspiring. It demonstrates something that is music-centred and esoteric. And, it doesn't work very well. Can this be improved? Or, should we abandon "hello world"?
One big problem is that this example should run without any 3rd party dependancies. Unfortunately, that means very limited input potential.
Also, how inspiring is "hello world" supposed to be?Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/4Document background classes2017-09-29T09:22:11ZMichael ZbyszyńskiDocument background classesUsers of classifiers (DTW or kNN) want to know when there is no gesture that matches what has been trained. We need to document how the possible use of a "background" class, or rejecting bad matches by thresholding.Users of classifiers (DTW or kNN) want to know when there is no gesture that matches what has been trained. We need to document how the possible use of a "background" class, or rejecting bad matches by thresholding.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/37Design windowed process2017-12-04T16:37:12ZMichael ZbyszyńskiDesign windowed processMZ is about to add a feature to RapidLib to allow users to run "continuous" processing on a window of input frames. In other words, this function gets input data frame-by-frame and buffers it into the right size series and calls dtw.run(...MZ is about to add a feature to RapidLib to allow users to run "continuous" processing on a window of input frames. In other words, this function gets input data frame-by-frame and buffers it into the right size series and calls dtw.run() every n number of frames.
Since this is going to co-exist with similar functions in Rapid-Mix API, we should come up with some general design for this kind of use.
@francisco This is basically what is happening when GVF is in following mode. AFAIK, GVF only does following -- there is no discreet mode for processing a pre-recorded input series.
@Joseph I think that hhmm.filter() is the same type of function as GVF.update() for continuous recognition?
This suggests to me that RapidLib/DTW should handle its own windowing.
I did consider a design that was some kind of windowedML object. That might take a pointer to a specific model and some window parameters. So something like:
```
temporalClassification myModel;
windowedMLObject myWindowThing(*myModel, <window size>, <hopsize>);
myWindowThing.continuousProcessMethod(<new data frame>);
```
That would need better names.
Is there any value in having this kind of object in the RAPID-MIX API?
I'll tag @rebeccaf and @FredB here, too,Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/46Make training API match JS2017-11-27T17:59:50ZMichael ZbyszyńskiMake training API match JSWe've made some changes to the API in JS that are improvements and should be mirrored in JS.
For example:
* trainingData changes to trainingSet
* phrase changes to example
* the recording() methods are replaced by createExample() and a...We've made some changes to the API in JS that are improvements and should be mirrored in JS.
For example:
* trainingData changes to trainingSet
* phrase changes to example
* the recording() methods are replaced by createExample() and addElement()
@MikeZ did a sketch of this that is now in the "next_api" branch:
http://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/tree/next_api
@Joseph Uploaded a .zip here: #44 that addresses some of the same issues.
These two drafts need to be merged into one version on the next_api branch that is as close to the JS api we can make it.Joseph LarraldeJoseph Larraldehttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/38Reconsider trainingData.startRecording()2017-11-27T17:59:51ZMichael ZbyszyńskiReconsider trainingData.startRecording()@fabian Brought up a point about the trainingData class, and its current, stateful API.
It does this:
```cpp
trainingData.startRecording("myLabel");
trainingData.addElement(element);
trainingData.stopRecording();
```
That could ...@fabian Brought up a point about the trainingData class, and its current, stateful API.
It does this:
```cpp
trainingData.startRecording("myLabel");
trainingData.addElement(element);
trainingData.stopRecording();
```
That could cause problems if these functions aren't called in the right order. A safer API would be:
```cpp
trainingData::phrase *myPhrase = trainingData.createPhase(); //returns a pointer to a phrase
myPhrase.addElement(<element>);
```https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/47Make sure everything follows the JSON API2017-11-28T11:17:52ZMichael ZbyszyńskiMake sure everything follows the JSON APIThe JSON API is documented on the website, implemented in C++, and implemented in JS.
We should make sure that all of these places are compatible.
Also, the new JSON API is not compatible with the one @MikeZ implemented in Wekinator....The JSON API is documented on the website, implemented in C++, and implemented in JS.
We should make sure that all of these places are compatible.
Also, the new JSON API is not compatible with the one @MikeZ implemented in Wekinator. So, that needs to be updated (this is probably a separate issue).https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/20Refactor variable names in code snippets of the website2017-11-27T17:21:03ZFrancisco BernardoRefactor variable names in code snippets of the websiteVariable names across code snippets in the documentation should be consistent. This lessens the learning curve and memory workload of users.Variable names across code snippets in the documentation should be consistent. This lessens the learning curve and memory workload of users.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/21Regression requires additional explanation on the website2017-09-21T13:30:55ZFrancisco BernardoRegression requires additional explanation on the websiteRegression requires additional explanation, mainly with regards to :
* why is it different from interpolation
* why it doesn’t converge to the initial values
* ...Regression requires additional explanation, mainly with regards to :
* why is it different from interpolation
* why it doesn’t converge to the initial values
* ...https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/22Documentation should explain the concept of "background class"2017-11-27T17:41:46ZFrancisco BernardoDocumentation should explain the concept of "background class"The use of background classes isn’t mentioned in the documentation. This was one of the strategies that users at eNTERFACE17 used to overcome classification and regression problems.
Recommendation: This is one concept that should be e...The use of background classes isn’t mentioned in the documentation. This was one of the strategies that users at eNTERFACE17 used to overcome classification and regression problems.
Recommendation: This is one concept that should be explained as it has a significant practical impact when setting up the classes and training the model. It would be beneficial to introduce it by using a Venn diagram with the "complement of a set", and relating this to the design space and design language
@rebeccaf Mentioned that Nick Gillian wrote about this, check this out.
https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/23Providing the big picture of ML concepts and how they relate to our API2017-09-21T13:28:11ZFrancisco BernardoProviding the big picture of ML concepts and how they relate to our APIThere is no element in the documentation that provides a broad, encompassing and big picture of ML concepts and how our API provides them. Users at eNTERFACE17 suggested some useful artefacts for help with this, such as mind maps or info...There is no element in the documentation that provides a broad, encompassing and big picture of ML concepts and how our API provides them. Users at eNTERFACE17 suggested some useful artefacts for help with this, such as mind maps or infographics.
This should include terms such as "features", "feature vector", "model", "classifier", "instance", "example", "label", etc.
Recommendation: Provide a mind map embedded in a webpage of the RAPID-MIX API, which relate fundamental ML concepts to what our API offers to end users. There is a glossary of terms by Ron Kohavi (http://robotics.stanford.edu/~ronnyk/glossary.html) that could be mapped to this React MindMap component (https://github.com/learn-anything/react-mindmap). Checkout this example (https://learn-anything.xyz/machine-learning/machine-learning-libraries)https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/24Introduce supporting technologies (git, terminal, node, etc) or link to curat...2017-09-20T12:00:55ZFrancisco BernardoIntroduce supporting technologies (git, terminal, node, etc) or link to curated 3rd party resourcesSupporting technologies such as git, terminal, node, server-side technologies should be explained better.
Recommendation: Either with a very succinct explanation about rational and procedure, and/or a link to a good external resource th...Supporting technologies such as git, terminal, node, server-side technologies should be explained better.
Recommendation: Either with a very succinct explanation about rational and procedure, and/or a link to a good external resource that is compatible with our and language style.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/25Provide further resources for the different underlying algorithms2017-09-20T12:10:27ZFrancisco BernardoProvide further resources for the different underlying algorithmsThe conceptual part about algorithms was considered both important and lacking. Users asked for more insights about how the algorithms worked.
Recommendation: Provide a succinct explanation with links to further resources, links to ext...The conceptual part about algorithms was considered both important and lacking. Users asked for more insights about how the algorithms worked.
Recommendation: Provide a succinct explanation with links to further resources, links to external 3rd party resources, such as videos, papers, etchttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/26Providing an incremental approach for learning how to use the API2017-09-20T12:16:21ZFrancisco BernardoProviding an incremental approach for learning how to use the APIUsers suggested of structuring documentation with an "incremental approach", as "recipes", or short stories. Nature of Code was reference of providing a good incremental approach.
Recommendation: Provide guides grounded on specific u...Users suggested of structuring documentation with an "incremental approach", as "recipes", or short stories. Nature of Code was reference of providing a good incremental approach.
Recommendation: Provide guides grounded on specific use cases that show how to implement an incremental approach. For instance, the mouse examples are good candidates to illustrate how to start how to evolve from a barebones example with pre-defined data, to using real-time data, to mixing classification and regression, through to building up a more compelling use case grounded on real world scenario.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/27Writing the examples code for learning and understanding2017-11-27T18:01:07ZFrancisco BernardoWriting the examples code for learning and understandingSome of the examples in the code are difficult to understand and have some optimisation tricks.
Recommendation: It would be beneficial for users, to have the code from the examples organised in a way that is optimised for understanding,...Some of the examples in the code are difficult to understand and have some optimisation tricks.
Recommendation: It would be beneficial for users, to have the code from the examples organised in a way that is optimised for understanding, instead of using more elegant and “sophisticated" programming techniques (e.g., mixing UI functionalities with data processing). Code should be written in such a way that ML parts are decoupled, and organised in relevant sections.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/28Self-explanatory code and commenting practices2017-09-20T12:31:53ZFrancisco BernardoSelf-explanatory code and commenting practicesUsers considered code comments as important as documentation. Code comments compete with the main documentation, particularly for certain users who bypassed documentation completely, or who prefer to refer to it much later in the explora...Users considered code comments as important as documentation. Code comments compete with the main documentation, particularly for certain users who bypassed documentation completely, or who prefer to refer to it much later in the exploration and development workflow, for troubleshooting for instance.
Recommendations:
* Examples' code should be comprehensively commented in sections with “magic numbers” (e.g. number 5 in RapidStream, number of Gaussians, etc.)"
* Examples such as the RapidStream would benefit from adding the rationale and usefulness for each feature in the UI.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/29Dealing with boilerplate code2018-01-19T14:31:34ZFrancisco BernardoDealing with boilerplate codeExamples in codeCircle have too much boilerplate code, which users considered noisy, difficult to read and to navigate. JSFiddle deals with it using a leaner approach which separates HTML and JS.
Recommendation: In the case of CodeCirc...Examples in codeCircle have too much boilerplate code, which users considered noisy, difficult to read and to navigate. JSFiddle deals with it using a leaner approach which separates HTML and JS.
Recommendation: In the case of CodeCircle, which doesn't separate code, it means isolating functionalities in code sections clearly delimitating them with large comment blocks (e.g., "data acquisition" block, "setting up ML" block, "UI event handling" block, "UI logic" block, "data storage and retrieval" block, etc.)https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/30Design patterns for using the RAPID-MIX API2017-09-20T12:59:27ZFrancisco BernardoDesign patterns for using the RAPID-MIX APIRAPID-MIX API users, as developers, would benefit from design patterns for macro or frequent use operations, that should be consistently implemented across examples.
Recommendations:
* Users would benefit from having the "record"...RAPID-MIX API users, as developers, would benefit from design patterns for macro or frequent use operations, that should be consistently implemented across examples.
Recommendations:
* Users would benefit from having the "record", "train" and "run" controls and modes made as visible and explicit as possible. A design pattern that unifies this kind of usage across examples, would provide a stronger scaffolding for understanding the RAPID-MIX workflow.
* Participants didn’t explore much feature selection in their process, sticking to what was given by default. Participants would benefit from a design pattern, or any scaffolding, that structures feature selection and the features meta-information across the examples.
* There aren’t many examples that save/load the “configuration data” (training data set or model). It would be useful to provide a design pattern for API examples that offers selection between pre-trained models (inputing stored training data, either from local or remote storage) and a new model to be trained from scratch, so that they can explore other features of the pipeline working with data, a feature selection and ML algorithms and parameters tuning.
* A design pattern that makes explicit the fast, realtime, and iterative nature of data streams, could benefit the users in understanding how to design with data. This could be achieved by rendering the feature vector or frame of data that is passed as input for training
https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/31Contrasting examples2017-09-20T12:40:44ZFrancisco BernardoContrasting examplesWe have insufficient examples that contrast how to use different machine learning tasks (classification vs regression).
Recommendation: Create examples that demonstrate how to use classification AND regression, or classification AND DTW"We have insufficient examples that contrast how to use different machine learning tasks (classification vs regression).
Recommendation: Create examples that demonstrate how to use classification AND regression, or classification AND DTW"https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/32Explain the relation between inputs, classes, outputs and mapping2017-09-20T12:47:14ZFrancisco BernardoExplain the relation between inputs, classes, outputs and mappingOn the same note, how the relation between how inputs (or features) and outputs (or labels) is set was cumbersome. Some participants tried to train the same model with a different number of inputs.
Recommendation: In the case of compos...On the same note, how the relation between how inputs (or features) and outputs (or labels) is set was cumbersome. Some participants tried to train the same model with a different number of inputs.
Recommendation: In the case of composite labels (e.g. multiple regression outputs associated to the parameters of a synthesiser), it would be helpful to explain incrementally the rationale behind this, specially given this is one element that originates from our domain of practice and that makes our API highly opinionated.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/33API documentation fragmentation2017-09-20T13:04:40ZFrancisco BernardoAPI documentation fragmentationUsers' feedback reports about how the documentation of the different components is fragmented: different sites; different content, design and user experiences, and potentially, different authors.
Recommendations:
* There should be a ...Users' feedback reports about how the documentation of the different components is fragmented: different sites; different content, design and user experiences, and potentially, different authors.
Recommendations:
* There should be a common medium, method and style for documentation, which will reduce the adoption friction.
* ORM for MySQL, Postgres, loadash, underscore, KNX, and Processing, were given as reference examples of good documentation.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/34Communicating the Interactive Machine Learning workflow to users2017-09-20T13:35:28ZFrancisco BernardoCommunicating the Interactive Machine Learning workflow to usersThe interactive machine learning workflow is difficult to convey with static sources of descriptive knowledge, such as text (documentation, comments, etc.) and even code. This is because of of procedural nature that the workflow entails....The interactive machine learning workflow is difficult to convey with static sources of descriptive knowledge, such as text (documentation, comments, etc.) and even code. This is because of of procedural nature that the workflow entails. Live demonstrations have been working pretty well for us, but were not always there.
Recommendation: We should find way to complement the documentation with richer media. Richer media, such as video and animations, are more effective at communicating the procedural nature of the workflow and yield better adoption.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/35Make server-side technologies robust and resilient, and pack them for local i...2017-12-02T23:09:29ZFrancisco BernardoMake server-side technologies robust and resilient, and pack them for local installationAll technologies should be made cross-platform (windows & linux support), to prevent the risk of the RAPID-MIX API to miss out on a significant share of end-users. This happened recurrently across the many of the UCD sessions.
Recommend...All technologies should be made cross-platform (windows & linux support), to prevent the risk of the RAPID-MIX API to miss out on a significant share of end-users. This happened recurrently across the many of the UCD sessions.
Recommendation: Server-side technologies should be open-sourced, and made robust and resilient for quick set and local installation, specially during UCD and dissemination actions.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/36Writing examples as building blocks2017-09-20T14:03:39ZFrancisco BernardoWriting examples as building blocksExamples were considered “cool", “ea. one useful in its one way", “the whole set providing of building blocks” which can be “borrowed”.
Recommendation:
* Users will benefit from examples become building blocks that they can readily in...Examples were considered “cool", “ea. one useful in its one way", “the whole set providing of building blocks” which can be “borrowed”.
Recommendation:
* Users will benefit from examples become building blocks that they can readily integrate in their code (scaffolding for capturing data, either to local storage or to a service)
* Some of the external libraries like the MYO have hidden global values it makes it difficult to use. The building blocks (i.e., sensor bridges) should have the exposed methods and state carefully designed, just as the API.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/40Composition vs CRTP2017-12-01T08:55:48ZMichael ZbyszyńskiComposition vs CRTPMZ and Fabian discussed that JUCE users would be uncomfortable with the use of templates in the machine learning class.
We could use composition and a factory, which would probably be more familiar C++. Also, we could then do things l...MZ and Fabian discussed that JUCE users would be uncomfortable with the use of templates in the machine learning class.
We could use composition and a factory, which would probably be more familiar C++. Also, we could then do things like ```temporalClassification(HMM)``` rather than ```xmmTemporalClassification()```
It's probably not worth it to rewrite this class right now.Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/43Adopting conventions or standardised ML terms to address types/classes in the...2017-11-01T12:19:09ZFrancisco BernardoAdopting conventions or standardised ML terms to address types/classes in the RAPID-MIX APIOne of the principles established by D. Norman is the importance of establishing standards in order to facilitate adoption. In our case there is an interest to also support a general purpose goal.
"Example", "Feature" have been establis...One of the principles established by D. Norman is the importance of establishing standards in order to facilitate adoption. In our case there is an interest to also support a general purpose goal.
"Example", "Feature" have been established and used for a long time now. Check these:
http://robotics.stanford.edu/~ronnyk/glossary.html
https://cacm.acm.org/magazines/2012/10/155531-a-few-useful-things-to-know-about-machine-learning/fulltexthttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/44User finds functions that won't work2017-12-01T09:02:40ZMichael ZbyszyńskiUser finds functions that won't workThere are multiple unspecialized run methods in machinelearning.h that are potentially confusing to users.
This could be fixed by specialization, or by moving to a different wrapper based on composition.There are multiple unspecialized run methods in machinelearning.h that are potentially confusing to users.
This could be fixed by specialization, or by moving to a different wrapper based on composition.Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/45xmmTool errors when building shared library2017-11-29T14:31:33ZMichael ZbyszyńskixmmTool errors when building shared libraryIf I change line92 of CMakeLists.txt from this
```
add_library(RAPID-MIX_API ${RAPIDMIX_FULL_SRC})
```
to this
```
add_library(RAPID-MIX_API SHARED ${RAPIDMIX_FULL_SRC})
```
then the project should build a shared library.
But, XMM throw...If I change line92 of CMakeLists.txt from this
```
add_library(RAPID-MIX_API ${RAPIDMIX_FULL_SRC})
```
to this
```
add_library(RAPID-MIX_API SHARED ${RAPIDMIX_FULL_SRC})
```
then the project should build a shared library.
But, XMM throws a bunch of linker errors, like this:
`
Undefined symbols for architecture x86_64:
"xmmTool<xmm::GMM, xmm::GMM>::train(rapidmix::trainingData const&)", referenced from:
vtable for xmmTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o
vtable for rapidXmmGmm in rapidMixTest.cpp.o
vtable for xmmStaticTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o
"xmmTool<xmm::GMM, xmm::GMM>::getJSON()", referenced from:
vtable for rapidmix::machineLearning<rapidXmmGmm> in rapidMixTest.cpp.o
vtable for xmmTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o
vtable for rapidXmmGmm in rapidMixTest.cpp.o
vtable for xmmStaticTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o
"xmmTool<xmm::GMM, xmm::GMM>::putJSON(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
vtable for rapidmix::machineLearning<rapidXmmGmm> in rapidMixTest.cpp.o
vtable for xmmTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o
vtable for rapidXmmGmm in rapidMixTest.cpp.o
vtable for xmmStaticTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o
"xmmTool<xmm::GMM, xmm::GMM>::readJSON(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
_main in rapidMixTest.cpp.o
vtable for rapidmix::machineLearning<rapidXmmGmm> in rapidMixTest.cpp.o
vtable for xmmTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o
vtable for rapidXmmGmm in rapidMixTest.cpp.o
vtable for xmmStaticTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o
"xmmTool<xmm::GMM, xmm::GMM>::writeJSON(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
_main in rapidMixTest.cpp.o
vtable for rapidmix::machineLearning<rapidXmmGmm> in rapidMixTest.cpp.o
vtable for xmmTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o
vtable for rapidXmmGmm in rapidMixTest.cpp.o
vtable for xmmStaticTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
`Joseph LarraldeJoseph Larraldehttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/15Have run() return a struct2017-12-01T09:02:41ZMichael ZbyszyńskiHave run() return a struct@Joseph has added a struct to machinelearning.h which could hold many types of possible algorithm outputs. How far to integrate this into the whole API?
``` c++
/** @brief A generic ouptut struct to fit all kinds of models */
t...@Joseph has added a struct to machinelearning.h which could hold many types of possible algorithm outputs. How far to integrate this into the whole API?
``` c++
/** @brief A generic ouptut struct to fit all kinds of models */
typedef struct runResults_t {
std::vector<double> likelihoods;
std::vector<double> regression;
std::vector<double> progressions;
std::string likeliest;
} runResults;
```https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/48template/typedef function calls2017-11-28T14:14:38ZMichael Zbyszyńskitemplate/typedef function callsIt would be nice if RAPID-MIX could work with floats or doubles.
```
typedef float rapidmixValue;
```
??
Or, with templates?It would be nice if RAPID-MIX could work with floats or doubles.
```
typedef float rapidmixValue;
```
??
Or, with templates?https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/50CoMo mouse gestures example on RAPIDMIXAPI.com is failing2017-12-05T21:24:34ZFrancisco BernardoCoMo mouse gestures example on RAPIDMIXAPI.com is failingConsole log
mano-js.min.js Failed to load resource: the server responded with a status of 404 (Not Found)
18:52:04.380 TvxRn6zBXqokfk7jY:6 Uncaught ReferenceError: mano is not defined
at TvxRn6zBXqokfk7jY:6Console log
mano-js.min.js Failed to load resource: the server responded with a status of 404 (Not Found)
18:52:04.380 TvxRn6zBXqokfk7jY:6 Uncaught ReferenceError: mano is not defined
at TvxRn6zBXqokfk7jY:6Joseph LarraldeJoseph Larraldehttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/51Hello world broken on develop2017-12-06T15:03:45ZMichael ZbyszyńskiHello world broken on developNot only is Hello World lame, #18, but it seems broken on develop. It's not finding Pipo.
Maybe we should remake it with CMake and forget about XCode?Not only is Hello World lame, #18, but it seems broken on develop. It's not finding Pipo.
Maybe we should remake it with CMake and forget about XCode?https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/52JUCE example buggy2017-12-13T14:23:03ZMichael ZbyszyńskiJUCE example buggySam has demonstrated on his machine that the JUCE example seems to be failing to record training data. When he goes through the steps of holding the space bar and moving the mouse, it complains that there isn't any data.
I'm not able to...Sam has demonstrated on his machine that the JUCE example seems to be failing to record training data. When he goes through the steps of holding the space bar and moving the mouse, it complains that there isn't any data.
I'm not able to reproduce this on my machine. He's using an older version of JUCE, and I'm using a tablet rather than the trackpad.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/54API methods for training data quantification2018-01-19T14:25:20ZFrancisco BernardoAPI methods for training data quantificationThe quantity of data should be made visible on the high level interfaces — quantity of data can have multiple aspects to it — (e.g., #recorded Rounds, #examples per round, #total memory consumption). In one instance, one participant no...The quantity of data should be made visible on the high level interfaces — quantity of data can have multiple aspects to it — (e.g., #recorded Rounds, #examples per round, #total memory consumption). In one instance, one participant noticed the memory of the browser was reaching 3GB, and found this unusual, and also observed the consequences in training time.
Recommendation: Participants would benefit from API methods (namely in the training data class) that provide metrics about quantity or volume of data. This should help developers in design by making them explicit through the visual interface metaphors they develop. It should also be explained in the documentation the consequences of dealing with large data sets (e.g., training time, impact on the classification results outcomes, etc.)https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/55Won't build on linux2020-05-28T08:41:23ZMatthew Yee-KingWon't build on linuxHi!
Trying to build this on Linux. eventually planning to end up on Raspberry pi.
What I did:
```
git clone http://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API.git
cd RAPID-MIX_API
. rmix_build_test.sh
```
The output:
```
warn...Hi!
Trying to build this on Linux. eventually planning to end up on Raspberry pi.
What I did:
```
git clone http://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API.git
cd RAPID-MIX_API
. rmix_build_test.sh
```
The output:
```
warning: redirecting to https://gitlab.doc.gold.ac.uk:443/rapid-mix/RAPID-MIX_API.git/
Already up-to-date.
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Performing Test COMPILER_SUPPORTS_CXX0X
-- Performing Test COMPILER_SUPPORTS_CXX0X - Success
-- No build type selected, default to Release
-- Configuring done
-- Generating done
-- Build files have been written to: /home/scratch/src/misc/RAPID-MIX_API/build
Scanning dependencies of target RAPID-MIX_API
[ 1%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/src/machineLearning/machineLearning.cpp.o
[ 2%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/src/machineLearning/rapidGVF/rapidGVF.cpp.o
[ 4%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/src/machineLearning/rapidXMM/rapidXMM.cpp.o
[ 5%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/src/machineLearning/trainingData.cpp.o
[ 7%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/src/signalProcessing/rapidPiPoTools/rapidPiPoHost.cpp.o
[ 8%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/dependencies/GVF/GVF.cpp.o
[ 10%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/dependencies/Maximilian/maximilian.cpp.o
[ 11%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/dependencies/Maximilian/libs/maxiFFT.cpp.o
[ 13%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/dependencies/Maximilian/libs/fft.cpp.o
[ 14%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/dependencies/pipo/sdk/src/host/PiPoHost.cpp.o
[ 15%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/dependencies/pipo/modules/bayesfilter/src/BayesianFilter.cpp.o
[ 17%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/dependencies/pipo/modules/bayesfilter/src/filter_utilities.cpp.o
[ 18%] Building CXX object CMakeFiles/RAPID-MIX_API.dir/dependencies/pipo/modules/collection/PiPoCollection.cpp.o
In file included from /home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/collection/PiPoCollection.cpp:42:0:
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/sdk/src/host/PiPoGraph.h: In member function ‘bool PiPoGraph::parse(std::__cxx11::string)’:
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/sdk/src/host/PiPoGraph.h:217:84: error: cannot convert ‘std::__cxx11::basic_string<char>::iterator {aka __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >}’ to ‘const char*’ for argument ‘1’ to ‘int remove(const char*)’
std::remove(this->representation.begin(), this->representation.end(), ' '),
^
In file included from /home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/PiPoBands.h:48:0,
from /home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/collection/PiPoCollection.cpp:45:
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/rta/src/util/rta_complex.h: At global scope:
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/rta/src/util/rta_complex.h:284:29: error: expected initializer before ‘rta_make_complex’
static inline rta_complex_t rta_make_complex(float real, float imag)
^~~~~~~~~~~~~~~~
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/PiPoBands.h: In member function ‘virtual int PiPoBands::frames(double, double, PiPoValue*, unsigned int, unsigned int)’:
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/rta/src/util/rta_complex.h:283:23: error: expected primary-expression before ‘float’
#define rta_complex_t float complex
^
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/PiPoBands.h:261:33: note: in expansion of macro ‘rta_complex_t’
spectrum[i] = cabsf(((rta_complex_t *) values)[i]);
^~~~~~~~~~~~~
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/rta/src/util/rta_complex.h:283:23: error: expected ‘)’ before ‘float’
#define rta_complex_t float complex
^
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/PiPoBands.h:261:33: note: in expansion of macro ‘rta_complex_t’
spectrum[i] = cabsf(((rta_complex_t *) values)[i]);
^~~~~~~~~~~~~
In file included from /home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/collection/PiPoCollection.cpp:45:0:
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/PiPoBands.h:261:61: error: expected ‘)’ before ‘;’ token
spectrum[i] = cabsf(((rta_complex_t *) values)[i]);
^
In file included from /home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/collection/PiPoCollection.cpp:49:0:
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/PiPoConst.h: In constructor ‘PiPoConst::PiPoConst(PiPo::Parent*, PiPo*)’:
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/PiPoConst.h:78:53: warning: passing NULL to non-pointer argument 1 of ‘std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const allocator_type&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<float>]’ [-Wconversion-null]
numCols(0), maxDescrNameLength(64), outValues(NULL)
^
In file included from /home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/PiPoFft.h:47:0,
from /home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/collection/PiPoCollection.cpp:53:
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/rta/src/signal/rta_fft.h: At global scope:
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/rta/src/signal/rta_fft.h:204:33: error: expected ‘,’ or ‘...’ before ‘*’ token
rta_complex_t * input, const unsigned int input_size,
^
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/rta/src/signal/rta_fft.h:250:17: error: expected ‘,’ or ‘...’ before ‘*’ token
rta_complex_t * input, const int i_stride, const unsigned int input_size,
^
In file included from /home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/PiPoBiquad.h:54:0,
from /home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/collection/PiPoCollection.cpp:47:
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/rta/src/signal/rta_biquad.h:575:26: warning: inline function ‘float rta_biquad_df1_stride(float, const float*, int, const float*, int, float*, int)’ used but never defined
extern inline rta_real_t rta_biquad_df1_stride(
^~~~~~~~~~~~~~~~~~~~~
/home/scratch/src/misc/RAPID-MIX_API/dependencies/pipo/modules/rta/src/signal/rta_biquad.h:614:26: warning: inline function ‘float rta_biquad_df2t_stride(float, const float*, int, const float*, int, float*, int)’ used but never defined
extern inline rta_real_t rta_biquad_df2t_stride(
^~~~~~~~~~~~~~~~~~~~~~
CMakeFiles/RAPID-MIX_API.dir/build.make:350: recipe for target 'CMakeFiles/RAPID-MIX_API.dir/dependencies/pipo/modules/collection/PiPoCollection.cpp.o' failed
make[2]: *** [CMakeFiles/RAPID-MIX_API.dir/dependencies/pipo/modules/collection/PiPoCollection.cpp.o] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/RAPID-MIX_API.dir/all' failed
make[1]: *** [CMakeFiles/RAPID-MIX_API.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
bash: ./rapidmixTest: No such file or directory
cp: cannot stat './helloRapidMix': No such file or directory
```Matthew Yee-KingMatthew Yee-King