179 research outputs found

    Generation of Two-Voice Imitative Counterpoint from Statistical Models

    Get PDF
    Generating new music based on rules of counterpoint has been deeply studied in music informatics. In this article, we try to go further, exploring a method for generating new music based on the style of Palestrina, based on combining statistical generation and pattern discovery. A template piece is used for pattern discovery, and the patterns are selected and organized according to a probabilistic distribution, using horizontal viewpoints to describe melodic properties of events. Once the template is covered with patterns, two-voice counterpoint in a florid style is generated into those patterns using a first-order Markov model. The template method solves the problem of coherence and imitation never addressed before in previous research in counterpoint music generation. For constructing the Markov model, vertical slices of pitch and rhythm are compiled over a large corpus of dyads from Palestrina masses. The template enforces different restrictions that filter the possible paths through the generation process. A double backtracking algorithm is implemented to handle cases where no solutions are found at some point within a generation path. Results are evaluated by both information content and listener evaluation, and the paper concludes with a proposed relationship between musical quality and information content. Part of this research has been presented at SMC 2016 in Hamburg, Germany

    A Model for Scale-Degree Reinterpretation: Melodic Structure, Modulation, and Cadence Choice in the Chorale Harmonizations of J. S. Bach

    Get PDF
    This paper reports a corpus study of the 371 chorale harmonizations by J. S. Bach. Specifically, this study investigates what kinds of events are typical at phrase endings given various melodic conditions, i.e., how well melodic structure is a predictor of modulation and cadence choices. Each fermata event was analyzed by ear and encoded with regard to the local key area and the cadence type. The frequency of each cadence type was then tabulated with respect to categorizations of the melodic structure (in terms of the intervallic pattern and scale degree content) prior to the fermata. It is shown that most fermata events can be categorized by a small collection of event types. As a result, a simplified conceptual model of cadence choice is posited. This model proposes that a basic harmonization default is to (re-)interpret the soprano note at the fermata as scale-degree 1, 2, or 3 in some closely-related key area via an authentic or half cadence. The efficacy of this model is found to be very good, especially given certain conditions. Moreover, an overall success rate above 90% can be achieved through only four additional concepts

    Chord-Conditioned Melody Choralization with Controllable Harmonicity and Polyphonicity

    Full text link
    Melody choralization, i.e. generating a four-part chorale based on a user-given melody, has long been closely associated with J.S. Bach chorales. Previous neural network-based systems rarely focus on chorale generation conditioned on a chord progression, and none of them realised controllable melody choralization. To enable neural networks to learn the general principles of counterpoint from Bach's chorales, we first design a music representation that encoded chord symbols for chord conditioning. We then propose DeepChoir, a melody choralization system, which can generate a four-part chorale for a given melody conditioned on a chord progression. Furthermore, with the improved density sampling, a user can control the extent of harmonicity and polyphonicity for the chorale generated by DeepChoir. Experimental results reveal the effectiveness of our data representation and the controllability of DeepChoir over harmonicity and polyphonicity. The code and generated samples (chorales, folk songs and a symphony) of DeepChoir, and the dataset we use now are available at https://github.com/sander-wood/deepchoir.Comment: 7 pages, 4 figures, 2 table
    • …
    corecore