ml.lib NIME 2015 slides

19
ml.lib: Robust, Cross-platform, Open-source Machine Learning for Max and Pure Data Jamie Bullock Associate Professor of Music Technology Birmingham City University Ali Momeni Associate Professor of Art Carnegie Mellon University

Transcript of ml.lib NIME 2015 slides

Page 1: ml.lib NIME 2015 slides

ml.lib: Robust, Cross-platform, Open-source Machine Learning for Max and Pure Data

Jamie Bullock Associate Professor of Music Technology

Birmingham City University

Ali Momeni Associate Professor of Art Carnegie Mellon University

Page 2: ml.lib NIME 2015 slides

Cont, A. (2008). Antescofo: Anticipatory Synchronization and Control of Interactive Parameters in Computer Music (pp. 33–40). Presented at the International Computer Music Conference, Belfast, Ireland: Ann Arbor, MI: Scholarly Publishing Office, University of Michigan Library.

Page 3: ml.lib NIME 2015 slides

Deyle, T., Palinko, S., & Poole, E. S. (2007). Hambone: A bio-acoustic gesture interface. … Computers. http://doi.org/10.1109/ISWC.2007.4373768

Page 4: ml.lib NIME 2015 slides

Sato, M., Poupyrev, I., & Harrison, C. (2012). Touché: enhancing touch interaction on humans, screens, liquids, and everyday objects. Chi, 483–492. http://doi.org/10.1145/2207676.2207743

Page 5: ml.lib NIME 2015 slides

Ono, M., Shizuki, B., & Tanaka, J. (2013). Touch & activate (pp. 31–40). Presented at the the 26th annual ACM symposium, New York, New York, USA: ACM Press. http://doi.org/10.1145/2501988.2501989

Page 6: ml.lib NIME 2015 slides

Poupyrev, Ivan, et al. "Botanicus Interacticus: interactive plants technology." ACM SIGGRAPH 2012 Emerging Technologies. ACM, 2012.

Page 7: ml.lib NIME 2015 slides

Nielsen,Usability Engineering (1993)

Syst

em a

ccep

tabi

lity

Social acceptability

Cost Compa-

tibility

Relia-bility

Etc.

Utility

Easy to learn

Efficient to use

Easy to remember

Few errors

Subjectively pleasing

Practical accepta-bility

Usefulness

Usability

Page 8: ml.lib NIME 2015 slides

. Raskin, The Humane Interface (2000)

• modeless: user actions should have the same effect regardless of the application’s state

Page 9: ml.lib NIME 2015 slides

addtrainmap

<class> <values …>3 .1 .4 .1 .5 .9 .2 .6

<values …>.1 .4 .1 .5 .9 .2 .6 3

Page 10: ml.lib NIME 2015 slides

recordManually segment time-varying input vectors

Page 11: ml.lib NIME 2015 slides

Dlibmlpack

Shark

• Efficient • Wide range of algorithms • Well supported • Good documentation

GRT

libsvm + others

Page 12: ml.lib NIME 2015 slides

GRT + FLEXT

=ml.lib

+ UCD

Page 13: ml.lib NIME 2015 slides

ClassificationAdaptive Boosting

Adaptive Naive BayesBootstrap Aggregator

Decision Trees Dynamic Time Warping

Finite State Machine Gaussian Mixture ModelHidden Markov Modelk-Nearest Neighbour

Linear Discriminant AnalysisMinimum DistanceParticle Classifier Random Forests

Support Vector Machines

Regression

Artificial Neural NetworkLinear Regression

Logistic RegressionMultidimensional Regression

Regression Tree

Feature Extraction

Peak DetectionMin / Max

Zero Crossings

Page 14: ml.lib NIME 2015 slides

Architecture

live

offline

algorithmtrainingvector

in-memorymodel

“add”

storedmodel

“train”

storeddata

“map”

“read / write”

in-memorydata

inputvector

outputvalue

Page 15: ml.lib NIME 2015 slides

Common Attributesprobs <0/1>

scaling <0/1>

Object-specific Attributesrandomize_training_order <0/1>

mode <0/1>

num_outputs <1..N>

Page 16: ml.lib NIME 2015 slides

Live Demo

Page 17: ml.lib NIME 2015 slides

Swept Frequency Sensing

Page 18: ml.lib NIME 2015 slides

Future Work

• Documentation!!! • Sort out HMMs • Implement GRT clustering algorithms • Possible threaded “train” • Maybe more feature extraction, LibXtract?

Page 19: ml.lib NIME 2015 slides

Thank You!