Presentation is loading. Please wait.

Presentation is loading. Please wait.

Songsmith: Dan Morris, Ian Simon, Sumit Basu, and the MSR Advanced Development Team Microsoft Research Using Machine Learning to Help People Make Music.

Similar presentations


Presentation on theme: "Songsmith: Dan Morris, Ian Simon, Sumit Basu, and the MSR Advanced Development Team Microsoft Research Using Machine Learning to Help People Make Music."— Presentation transcript:

1 Songsmith: Dan Morris, Ian Simon, Sumit Basu, and the MSR Advanced Development Team Microsoft Research Using Machine Learning to Help People Make Music

2 Songsmith: Dan Morris, Ian Simon, Sumit Basu, and the MSR Advanced Development Team Microsoft Research Using Machine Learning to Help People Make Music

3 Computational User Experiences (CUE) group In general: HCI + (sensors, devices, machine learning, health, physiology)

4 Computational User Experiences (CUE) group  Using physiological signals for input

5 Computational User Experiences (CUE) group  Using physiological signals for input  Health and wellness

6 Computational User Experiences (CUE) group  Using physiological signals for input  Health and wellness  Creativity support tools

7 Songsmith: Dan Morris, Ian Simon, Sumit Basu, and the MSR Advanced Development Team Microsoft Research Using Machine Learning to Help People Make Music

8 What is Songsmith? Songsmith Your music You, singing... “Automatic accompaniment generation for vocal melodies”

9 High-Risk Live Demo (What other kind of live demo is there?)

10 Who is Songsmith for?

11 Today’s Talk  Overview and demo  How Songsmith works  Exposing machine learning parameters  What are people doing with Songsmith?  Creativity support tools @ Microsoft Research

12

13 Songsmith: 5000’ Overview G Amin C Daug

14 Chords from Melody  Songsmith’s core: Hidden Markov Model Song start Chord 1 Chord 2 Chord 3 Chord 4 Song end Hidden states (chords) Observations (note vectors)

15 States Observations What does an HMM do for me? What does an HMM want from me? HMMs in 5 Minutes or Less

16 States Observations HMMs in 5 Minutes or Less Possible states: C major C minor C diminished … … Transition probabilities: P(C Major | A Minor)? P(C Major | D Major)? P(F# Major | F# Major)? Observation probabilities: P( | A Minor)? P( | D Major)?

17 Building our HMM  Things my HMM wants from me: Possible states Transition probabilities Observation probabilities Observations

18  Data-driven  Not heuristic-driven Finding the Probabilities

19 Training Data ~300 lead sheets (vocal melodies with chords)

20 C MajorC MinorC# MajorC# MinorD MajorD Minor… C Major47222355076189 C Minor93140443971 C# Major……………… C# Minor……………… D Major……………… D Minor……………… …………………  Convert all chords to five basic triads  Transpose every song into the same key  Count the number of transitions from every chord to every other chord (transition probabilities):  Count the total duration of each melody note occurring while each chord is playing (observation probabilities): Processing the Database Notes played over C Major:

21 Building our HMM  Things my HMM wants from me: Possible states Transition probabilities Observation probabilities Observations

22 Observations: what did the user sing? Input: Hard!

23 Building a Pitch Histogram FFT

24 Building our HMM  Things my HMM wants from me: Possible states Transition probabilities Observation probabilities Observations  Run Viterbi algorithm, get “best” sequence of chords… thank you, HMM!  One hitch: key determination…

25

26 Today’s Talk  Overview and demo  How Songsmith works  Exposing machine learning parameters  What are people doing with Songsmith?  Creativity support tools @ Microsoft Research

27 So we can choose optimal chords... so what?  My demo took 10 seconds… is that fun?  What would a songwriter do next?  How can we build creative exploration into a learning-driven system?

28  There are always hard-coded “magic numbers” in machine learning  Machine learning also use lots of learned parameters  Can we let users control those numbers? UI: Exposing Learning Parameters

29 A Bad User Interface Songsmith: A fun way to make music (if you have a PhD in math and/or computer science) Observation weight: Transition matrix (edit me!) CC#DD#E C0.20.90.10.20.4 C#0.10.60.40.60.2 D0.50.60.40.70.5 D#0.10.30.90.10.7 E0.40.1 0.3 Expected pitch histograms (edit me!) C 0.30.51.00.00.7 C# 0.90.30.10.80.0 D 0.40.80.50.60.1 D# 1.00.90.20.70.2 E 0.80.4 0.21.0 F 0.90.10.6 0.4 Frequency smoothing: Conjugate prior:

30  Can we let users control those numbers? UI: Exposing Learning Parameters  Can we let users intuitively control those numbers?

31 Exposing Model Parameters in Songsmith

32 The “Happy Factor”

33  Partition database into two databases (major and minor songs) using clustering  Build separate transition probability matrix for each database  When we actually run our HMM, blend the two transition matrices together according to user input… Happy Factor: Implementation

34 The “Happy Factor” Bonus question: what’s wrong with this equation?

35 Another “Happy Factor” Example Happy Sad

36 The “Jazz Factor”

37  When running our HMM, we need to make chords match the voice and each other  Computing how well each chord fits at a given position: k log( P(this chord | what the user sang) ) + (1-k) log( P(this chord | the previous chord) )  Just put k on a slider! Jazz Factor: Implementation

38 Chord Locking  Global sliders are very coarse  Chords can be “locked” by the user

39 “Suggested Chords”  Songwriters will often explore “chord substitutions”…  …but we’re assuming our audience doesn’t know that much music theory…  Expose suboptimal marginal probabilities at each node as “suggestions”

40 Interactive Machine Learning  Songsmith is one example of IML Roughly: moving what used to be in the domain of ML experts into users’ hands  Related work: image classification Fogarty et al, CHI 2008: CueFlik Fails and Olsen, IUI 2003: Crayons  Why? Harness end-user knowledge Use ML as a tool for data exploration Use ML as a tool for creative expression

41 Today’s Talk  Overview and demo  How Songsmith works  Exposing machine learning parameters  What are people doing with Songsmith?  Creativity support tools @ Microsoft Research

42 Today’s Talk  Overview and demo  How Songsmith works  Exposing machine learning parameters  What are people doing with Songsmith?  Creativity support tools @ Microsoft Research

43 Dynamic Mapping of Physical Controls for Tabletop Groupware (Fiebrink, CHI 2009) One project, two problems: 1.Direct-touch, tabletop input is great for collaboration… …but suffers from serious precision issues. 2.Working on music alone is boring.

44  Incorporate high-precision controllers into a tabletop environment  Evaluate in a collaborative audio-editing app Dynamic Mapping of Physical Controls for Tabletop Groupware (Fiebrink, CHI 2009)

45 Data-Driven Exploration of Musical Chord Sequences (Nichols, IUI 2009)  Problem: let people create and explore music by moving around in a reduced- dimensionality space  Genres, artists make for intuitive labels

46  Why isn’t this easy?  Solution(s): Divergence-maximizing clustering, PCA Data-Driven Exploration of Musical Chord Sequences (Nichols, IUI 2009)

47 Future work  Make Songsmith freakin’ amazing, and port it to a bajillion platforms, and make an amazing community Web site, and build it into audio hosts… etc…  Other applications of machine learning in creativity support tools… Writing? Painting? Web Design? CAD? Music? Future work?

48 Songsmith Dan Morris, Ian Simon, Sumit Basu, and the MSR Advanced Development Team Microsoft Research research.microsoft.com/songsmith dan@microsoft.com Live/Google: songsmith


Download ppt "Songsmith: Dan Morris, Ian Simon, Sumit Basu, and the MSR Advanced Development Team Microsoft Research Using Machine Learning to Help People Make Music."

Similar presentations


Ads by Google