Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2633638.2633645acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Functional generation of harmony and melody

Published: 03 September 2014 Publication History

Abstract

We present FComp, a system for automatic generation of harmony and accompanying melody. Building on previous work on functional modelling of musical harmony, FComp first creates a foundational harmony by generating random (but user-guided) values of a datatype that encodes the rules of tonal harmony. Then, a melody that fits to the harmony is generated in a compositional sequence: generate all "possible" melodies, filter them to remove obvious bad choices, pick one candidate note per chord, and then embellish the resulting melodic line.
At this very early stage, we aim to define a solid system as a foundation that can be used to further improve upon. We care especially about modularity, so that each individual part of the pipeline can be easily improved, and ease of adaptation, so that users can quickly adapt the generated music to their liking. The resulting system generates simple but harmonious music, and serves as a good case study on how functional programming enables quick and clean prototyping of new ideas, even in the realm of automatic music composition.

Supplementary Material

ZIP File (farm01.zip)
This file contains auxiliary material for the paper "Functional Generation of Harmony and Melody". It consists of PDF and MIDI renderings of figures 4, 5, 7, and 9 of the paper. They can be viewed or played back with any standard PDF viewer and MIDI player.

References

[1]
Moray Allan and Christopher K. I. Williams. Harmonising chorales by probabilistic inference. In Advances in Neural Information Processing Systems 17, pages 25--32, 2005. ISBN 9780262195348.
[2]
Koen Claessen and John Hughes. Quickcheck: A lightweight tool for random testing of haskell programs. In Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming, ICFP '00, pages 268--279. ACM, 2000. 10.1145/351240.351266.
[3]
David Cope. Experiments in musical intelligence, volume 12. AR Editions Madison, WI, 1996.
[4]
Guido D'Arezzo. Micrologus. Rome: Desclee, Lefebvre et S. Edit. Pont., 1904, 1026. URL http://imslp.org/wiki/Micrologus_(D'Arezzo,_Guido).
[5]
Kemal Ebcioğlu. An expert system for harmonizing four-part chorales. Computer Music Journal, pages 43--51, 1988.
[6]
Richard A. Eisenberg and Stephanie Weirich. Dependently typed programming with singletons. In Proceedings of the 2012 Haskell Symposium, Haskell '12, pages 117--130. ACM, 2012. 10.1145/2364506.2364522.
[7]
W. Bas de Haas, José Pedro Magalhães, Frans Wiering, and Remco C. Veltkamp. HarmTrace: Automatic functional harmonic analysis. Computer Music Journal, 37:4: 37--53, 2013. 10.1162/COMJ_a_00209.
[8]
Christopher Harte, Mark B. Sandler, Samer A. Abdallah, and Emilia Gómez. Symbolic representation of musical chords: A proposed syntax for text annotations. In Proceedings of the 6th International Society for Music Information Retrieval Conference, pages 66--71, 2005.
[9]
Lejaren Arthur Hiller and Leonard Maxwell Isaacson. Experimental music: composition with an electronic computer. McGraw-Hill, 1959.
[10]
Hendrik Vincent Koops, José Pedro Magalhães, and W. Bas de Haas. A functional approach to automatic melody harmonisation. In Proceedings of the First ACM SIGPLAN Workshop on Functional Art, Music, Modeling & Design, FARM '13, pages 47--58. ACM, 2013. 10.1145/2505341.2505343.
[11]
Jean-Benjamin de La Borde. Essai sur la musique ancienne et moderne. Tome premier. Essai Sur La Musique Ancienne Et Moderne. A Paris: de l'imprimerie de Ph. D. Pierres; et se vend chez Eugène Onfroy, MDCCLXXX, 1780. URL https://archive.org/details/essaisurlamusiv100labo.
[12]
Steven G. Laitz. The complete musician: an integrated approach to tonal theory, analysis, and listening. Oxford University Press, 2008. ISBN 9780195301083.
[13]
Aristid Lindenmayer. Mathematical models for cellular interactions in development I. filaments with one-sided inputs. Journal of theoretical biology, 18 (3): 280--299, 1968.
[14]
José Pedro Magalhães and W. Bas de Haas. Functional modelling of musical harmony: an experience report. In Proceeding of the 16th ACM SIGPLAN International Conference on Functional Programming, ICFP '11, pages 156--162. ACM, 2011. 10.1145/2034773.2034797.
[15]
José Pedro Magalhães and Johan Jeuring. Generic programming for indexed datatypes. In Proceedings of the 7th ACM SIGPLAN Workshop on Generic Programming, WGP '11, pages 37--46. ACM, 2011. 10.1145/2036918.2036924.
[16]
Elizabeth Hellmuth Margulis. On Repeat: How Music Plays the Mind. Oxford University Press, 2014. ISBN 9780199990825.
[17]
Francois Pachet. The continuator: Musical interaction with style. Journal of New Music Research, 32 (3): 333--341, 2003.
[18]
Simon Peyton Jones, editor. Haskell 98, Language and Libraries. The Revised Report. Cambridge University Press, 2003. Journal of Functional Programming Special Issue 13(1).
[19]
Przemyslaw Prusinkiewicz. Score generation with L-systems. In Proceedings of the 1986 International Computer Music Conference, pages 455--457. Ann Arbor, MI: MPublishing, University of Michigan Library, 1986.
[20]
Donya Quick and Paul Hudak. Grammar-based automated music composition in Haskell. In Proceedings of the first ACM SIGPLAN workshop on Functional art, music, modeling & design, FARM '13, pages 59--70. ACM, 2013. 10.1145/2505341.2505345.
[21]
Hugo Riemann. Vereinfachte Harmonielehre; oder, die Lehre von den tonalen Funktionen der Akkorde. Augener, 1893.
[22]
John Roeder. Pitch class. In Oxford Music Online. Oxford University Press, 2013. URL http://www.oxfordmusiconline.com/subscriber/article/grove/music/21855. Accessed May 22.
[23]
Martin Rohrmeier. A generative grammar approach to diatonic harmonic structure. In Proceedings of the 4th Sound and Music Computing Conference, pages 97--100, 2007.
[24]
Martin Rohrmeier. Towards a generative syntax of tonal harmony. Journal of Mathematics and Music, 5 (1): 35--53, 2011.
[25]
Arnold Schönberg. Fundamentals of Musical Composition. Faber & Faber, Incorporated, 1967. ISBN 9780571196586. URL http://books.google.co.uk/books?id=N-lCPgAACAAJ.
[26]
Tom Schrijvers, Simon Peyton Jones, Martin Sulzmann, and Dimitrios Vytiniotis. Complete and decidable type inference for GADTs. In Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming, ICFP '09, pages 341--352. ACM, 2009. 10.1145/1596550.1596599.
[27]
Tim Sheard and Simon Peyton Jones. Template meta-programming for Haskell. In Proceedings of the 2002 ACM SIGPLAN workshop on Haskell, volume 37 of Haskell '02, pages 1--16. ACM, December 2002. 10.1145/581690.581691.
[28]
Mark J. Steedman. A generative grammar for jazz chord sequences. Music Perception, pages 52--77, 1984.
[29]
Arnold Whittall. Functional harmony. In The Oxford Companion to Music. Oxford University Press, 2013. URL http://www.oxfordmusiconline.com/subscriber/article/opr/t114/e2730. Accessed May 22.
[30]
Brent A. Yorgey, Stephanie Weirich, Julien Cretin, Simon Peyton Jones, Dimitrios Vytiniotis, and José Pedro Magalhĕes. Giving Haskell a promotion. In Proceedings of the 8th ACM SIGPLAN Workshop on Types in Language Design and Implementation, pages 53--66. ACM, 2012. 10.1145/2103786.2103795.

Cited By

View all
  • (2019)Demo: counterpoint by constructionProceedings of the 7th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design10.1145/3331543.3342578(22-24)Online publication date: 23-Aug-2019
  • (2018)Intelligent composition method for the prairie-song melodies of northern ChinaJournal of Intelligent & Fuzzy Systems10.3233/JIFS-1892035:5(5557-5571)Online publication date: 20-Nov-2018

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
FARM '14: Proceedings of the 2nd ACM SIGPLAN international workshop on Functional art, music, modeling & design
September 2014
80 pages
ISBN:9781450330398
DOI:10.1145/2633638
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 September 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. automatic composition
  2. automatic harmonisation
  3. harmony
  4. harmtrace
  5. haskell
  6. melody

Qualifiers

  • Research-article

Funding Sources

Conference

ICFP'14
Sponsor:

Acceptance Rates

FARM '14 Paper Acceptance Rate 12 of 15 submissions, 80%;
Overall Acceptance Rate 19 of 23 submissions, 83%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)28
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Demo: counterpoint by constructionProceedings of the 7th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design10.1145/3331543.3342578(22-24)Online publication date: 23-Aug-2019
  • (2018)Intelligent composition method for the prairie-song melodies of northern ChinaJournal of Intelligent & Fuzzy Systems10.3233/JIFS-1892035:5(5557-5571)Online publication date: 20-Nov-2018

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media