locked
Bias in the chord transitions model? RRS feed

  • Question

  • In addition to the preprocessing issue I mentioned in the other thread, I also had a question about the chord transitions matrix. Since the Songsmith data model treats a "measure" as the duration associated with a single sonority, and lead sheets only indicate where the chords change, I'm wondering if the chord transitions model doesn't account at all for chords continuing for multiple measures, in the traditional sense of the word. (I do realize that the user can add "chordless" measures.) What might happen if the model defined a (MySong) measure as never spanning multiple (traditional) measures, such that it handled the continuation of a chord across the bar line as a separate "transition?" (Maybe it would just spit out long strings of the tonic chord?)

    Edit: This project seems to do that.

    • Edited by xhevahir78 Thursday, December 19, 2019 9:11 AM
    Thursday, December 19, 2019 7:43 AM

Answers

  • You're absolutely right that this is a shortcoming in Songsmith, and you've hit the nail on the head with "spit out long strings of the tonic".  If you allow for "self-transitions" (repeated chords), you have to do a bunch of tricks to make sure you don't fall back on the tonic all the time, and we didn't have time to do those tricks when we were developing Songsmith.  As you suggested, you can achieve this manually by changing and locking chords, or by locking a chordless measure.


    • Marked as answer by xhevahir78 Wednesday, February 26, 2020 9:06 PM
    Thursday, December 19, 2019 1:58 PM
    Owner

All replies

  • You're absolutely right that this is a shortcoming in Songsmith, and you've hit the nail on the head with "spit out long strings of the tonic".  If you allow for "self-transitions" (repeated chords), you have to do a bunch of tricks to make sure you don't fall back on the tonic all the time, and we didn't have time to do those tricks when we were developing Songsmith.  As you suggested, you can achieve this manually by changing and locking chords, or by locking a chordless measure.


    • Marked as answer by xhevahir78 Wednesday, February 26, 2020 9:06 PM
    Thursday, December 19, 2019 1:58 PM
    Owner
  • Does the "bag of tricks" include techniques like the one in this paper? Bayesian Nonparametric Hidden Semi-Markov Models . It seems like it's relevant to the problem; I almost failed Statistics and Probability in high school, though, so maybe I'm wrong.
    Thursday, July 9, 2020 1:12 AM
  • Nope, everything Songsmith does algorithmically is described in our two papers:

    Simon, I., Morris, D., & Basu, S. (2008, April). MySong: automatic accompaniment generation for vocal melodies. In Proceedings of the SIGCHI conference on human factors in computing systems (pp. 725-734).

    Morris, D., Simon, I., & Basu, S. (2008). Exposing parameters of a trained dynamic model for interactive music creation.

    ...and we used pretty vanilla Markov models.  It's our un-scientific and un-tested opinion that we were at the limit of our training data volume, so fancier models were only going to complicate things.

    But it's 10+ years later now, and maybe there's more training data out there now, so definitely give it a shot!


    Thursday, July 9, 2020 3:37 PM
    Owner
  • Oh, I know Songsmith didn't use that algorithm. Believe me, I've read the MySong papers! And if I'm not mistaken, the technique in the linked article didn't exist at the time you made the program. Anyhow, some of the terminology the authors use--"self-transitions," "explicit durations," "rapid switching," "sticky" states, and, elsewhere, "sojourn time"--suggested to me that it might be one of the tricks people use to overcome a problem like the repeating-tonic one you had in Songsmith.

    I'll keep reading about it. I can only grasp this stuff at a very high level, though, at least at the moment.




    • Edited by xhevahir78 Monday, July 13, 2020 9:27 PM
    Thursday, July 9, 2020 7:12 PM