System for indexing full enumeration of counterpoint melodies, method for indexing full enumeration of counterpoint melodies, program, learning support system, method for displaying musical notation and automatic composition system
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-03-24
- Publication Date
- 2026-03-25
AI Technical Summary
Existing learning support systems for counterpoint in music composition struggle to generate and index melodies that include various note values, rests, and accidentals, and lack intuitive displays for pitch relationships, making it difficult for users to understand and learn counterpoint effectively.
A complete enumeration and indexing system using zero-suppressed binary decision diagrams (ZDD) to represent contrapuntal melodies, allowing for the inclusion of various note values, rests, and accidentals, and providing an intuitive note input interface that visualizes pitch relationships.
Enables the enumeration and indexing of all possible melodies according to counterpoint rules, allowing learners to easily explore alternative solutions and facilitating practical automatic composition for canons, while offering an intuitive display method that enhances understanding of pitch relationships.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a system for enumerating and indexing all contrapuntal melodies, a method for enumerating and indexing all contrapuntal melodies, a program, a learning support system, a method for displaying musical scores, and an automatic composition system. [Background technology]
[0002] Counterpoint refers to a compositional technique that puts into practice the aesthetics of melody in polyphonic music, a musical style with multiple melodies sounding simultaneously, and a method for learning it. The term comes from the Latin punctus contra punctus, which means "point, counterpoint, point," or "note, counterpoint, note." A course that shows a systematic way to learn counterpoint is called a counterpoint course. Species counterpoint (also called generic counterpoint) refers to a counterpoint course that is designed to allow students to learn counterpoint in stages, from easier to more difficult, in each learning stage called a species. In the course of species counterpoint (excluding applied exercises), students are given a cantus melody of about 8-13 bars, and practice by creating a melody (called a countermelody) that runs simultaneously with the cantus melody. There are five types of countermelody, based on note value and rhythm, and in order from easiest (simple) to most difficult (complex), there are five types (also called types 1-5): whole note, half note, quarter note, transitional, and flourish. Event counterpoint is divided into 15 learning stages, consisting of three combinations of voices (from two to four) and five events, as shown in Figure 56. Tasks for three or more voices are classified based on the melodic type of the most complex melody used in the task. Some textbooks have additional tasks without a fixed melody, called free and imitation (or pursuit or canon).
[0003] As shown in Figure 57, there are two types of genre counterpoint: the Palestrina style and the French style (herein referred to as the "French style"). The Palestrina style is the most representative style with the longest history in genre counterpoint, and there are many textbooks on it, such as those by Fuchs (see Non-Patent Document 1) and Ieppesen (see Non-Patent Document 2). There are many textbooks on the French style, such as those by Kergeni, Dubois, and Yamaguchi (see Non-Patent Document 3).
[0004] Due to its systematic nature, discipline counterpoint can be considered as a kind of algorithm for composition or as a kind of puzzle game. In other words, by understanding discipline counterpoint from a computational science perspective, we can consider the computability and computational complexity of discipline counterpoint. For example, the probability that a randomly created melody follows the rules of discipline counterpoint is considered to be useful quantitative information for estimating the difficulty of a contrapuntal task.
[0005] Examples of previous research on learning support systems for the genre counterpoint include "Lines of the Earth" (see Non-Patent Document 4), which targets the French style, and "Counterpointer" (see Non-Patent Document 5), which targets both the French style and the Palestrina style. However, these learning support systems have a function to evaluate solutions, but not a function to generate solutions. Although these learning support systems use a staff notation method for the note input screen, learning on a learning support system does not necessarily require a staff notation method like traditional counterpoint education. In addition, the use of staff notation has the disadvantage that it requires a certain level of solfege (music reading) ability, making it difficult for users to understand. In addition, on staff notation, the same notes (seven types of notes: do, re, mi, fa, so, la, and si) with different octave relationships are displayed inconsistently, on the lines or in the spaces (between the lines on the staff) depending on the octave position, making it difficult to grasp the relationship between octaves. In the field of counterpoint, the relationship between pitches is very important, and it is important to understand the relationship between octaves. In addition, solving problems in field counterpoint requires high concentration, so a display method that allows students to grasp the relationship between pitches more intuitively is desirable. Furthermore, in actual learning by a teacher, there is a process in which the teacher suggests to the student how to choose better notes when correcting the work, or shows the student good alternative solutions that have already been solved, allowing the student to appreciate the alternative solutions and learn the depth of counterpoint. However, these learning support systems only judge whether the input solution is correct or incorrect, and point out errors and points to note, and do not have a function to show alternative solutions. Therefore, it was not possible to use the system in a way that allows the student to appreciate the alternative solutions and learn the depth of counterpoint.
[0006] Attempts to automatically generate counterpoint solutions have long been attracting attention as research related to automatic composition, and there are already studies that generate Bach-style chorales (a form of counterpoint music) (see non-patent documents 6 and 7). However, these are based on training data rather than learning rules, and so there is a problem that the output contains errors in the learning rules.
[0007] The inventor previously conducted a basic study of a method for enumerating all allowable solutions in the learning rules of class counterpoint (synonymous with event counterpoint) using ZDD (Zero-suppressed Binary Decision Diagrams), a data structure suitable for expressing a set of combinations, and a calculation method for the ZDD (Zero-suppressed Binary Decision Diagrams) (see Non-Patent Document 8). This method is a method for enumerating and indexing all allowable solutions by limiting the style of class counterpoint to the Palestrina style and the range of the target contrapuntal tasks to the range without displaced symbols in the most basic two-voice whole note event. However, this method for enumerating and indexing all melodies has a narrow scope of application because the target melodies are limited to the range without displaced symbols in the two-voice whole note event.
[0008] On the other hand, counterpoint textbooks often include an additional exercise of canon (chasing piece: a musical style in which multiple voices play the same melody simultaneously, starting at different times) (see Figure 57). Canon is also a type of counterpoint, and computational science research into the possibilities of canons is also important for the application of canon to automatic composition and research into music theory. Non-Patent Document 9 proposes a method for counting (enumerating) rhythm canons. However, this method for counting rhythm canons is for rhythms that do not have pitches, and does not target general canons with melodies that have pitches. In addition, the purpose is to count from a more mathematical perspective, and no actual musical examples were shown. Since canons are special melodies that can be composed as a piece of music with only one melody, if the method can be enumerated, it can be said that the method is a computational science research result into the possibilities of canons and a practical method for automatic composition. However, since canons are melodies that meet the strict rules prescribed in counterpoint, it is difficult to enumerate them.
[0009] An automatic composition system using counterpoint has been proposed (see Patent Documents 1 and 2). [Prior art documents] [Patent documents]
[0010] [Patent Document 1] JP 2021-135335 A [Patent Document 2] JP 2014-170146 A [Non-patent literature]
[0011] [Non-Patent Document 1] JJFux. Gradus Ad Parnassum (Johann Peter van Ghelen, Vienna, 1725). [Translated by Yoshitaka Sakamoto. Classical Counterpoint (Ongaku No Tomosha, Tokyo, 1950) pp.1-17] [Non-Patent Document 2] K. Jeppesen. Kontrapunkt: Lehrbuch der classic vocal polyphonie. (Wilhelm Hansen, Denmark, 1931). [Translated by Minao Shibata and Tatsuo Minagawa, 2013, "Counterpoint", Ongaku no Tomosha, pp.107-117] [Non-Patent Document 3] Hiroshi Yamaguchi. Strict counterpoint according to the method of the Paris Conservatoire. (Ongakunotomosha, Tokyo, 2012) pp.4-13. [Non-Patent Document 4] [Retrieved October 21, 2022], Internet〈URL:https: / / www.senzoku-online.jp / CP〉 [Non-Patent Document 5] [Retrieved February 16, 2023], Internet〈URL:https: / / www.ars-nova.com / counterpointer3.html 〉 [Non-Patent Document 6] G.Hadjeres, F.Pachet and F.Nielsen. Deepbach: a steerable model for bachchorales generation. In International Conference on Machine Learning(pp.1362-1371).OMLR.(2017). [Non-Patent Document 7] CZAHuang, T. Cooijmans, A. Roberts, A. Courville and D. Eck. Counterpoint by convolution.arXiv preprint arXiv:1903.07227. (2019). [Non-Patent Document 8] Noriyuki Tsuchiya, Masanobu Miura, Music Acoustics Research Association Materials Vol. 40, No. 1, MA2021-02, pp. 7-12, "A basic study on a method for enumerating all admissible solutions in class counterpoint using ZDD" [Non-Patent Document 9] Fripertinger, H. Enumeration of non-isomorphic canons. Tatra Mt. Math. Publ, 23(47), 47-57. (2001). [Non-Patent Document 10] Jose Tejon. Counterpoint in the Style of Palestrina. (Ongaku No Tomo Sha, Tokyo, 1971, revised edition 1985) pp.12-31. [Non-Patent Document 11] Kozo Masuda. Renaissance Counterpoint: In the Palestrina Style. (Kunitachi College of Music, Tokyo, 1984) pp.1-7. [Non-Patent Document 12] Kiyotomi Yoshizaki. The Fountain of Counterpoint. (Tokyo Ongaku Shoin, Tokyo, 1987) pp.8-16. [Non-Patent Document 13] Nicolosi, Salvatore. Classical pure counterpoint. Japanese edition by Eichi Shidehara. (Ongaku no Tomosha, Tokyo, 1977) pp.79-86. [Non-Patent Document 14] S.Minato.Zero-suppressed BDDs for set manipulation in combinatorial problems.In Proceedings of the 30th International Design Automation Conference pp.272-277.(1993) [Non-Patent Document 15] DEKnuth.The art of computer programming,volume 4A:combinatorial algorithms,part 1.(Pearson Education,London,2011) [Translated by Makoto Arisawa and Eiichi Wada, translated by Kazuhiko Kakei and Hiroshi Koide (KADOKAWA, Tokyo,2017)pp.246-247] [Non-Patent Document 16] T.Inoue, H.Iwashita, J.Kawahara and S.Minato. Graphillion:software library for very large sets of labeled graphs.International Journal onSoftware Tools for Technology Transfer,18(1),pp.57-66.(2016) [Non-Patent Document 17] [Accessed March 23, 2023], Internet <URL: https: / / networkx.org / > "NetworkX" [Non-Patent Document 18] ERATO Minato Discrete Structure Processing System Project, Shinichi Minato (ed.). Ultra-fast graph enumeration algorithms. (Morikita Shuppan, Tokyo, 2015) pp.25-27.127-130 [Non-Patent Document 19] Kawahara, J., Inoue, T., Iwashita, H., & Minato, SI (2017). Frontier-based search for enumerating all constrained subgraphs with compressed representation. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences,100(9), 1773-1784. [Non-Patent Document 20] [Accessed March 12, 2023], Internet <URL: https: / / www.vector.co.jp / soft / win95 / art / se093598.html > "Random Sequencer" [Non-Patent Document 21] Yuzuru Shimaoka, Music Theory and Practice I (Ongaku No Tomosha, Tokyo, 1982) Summary of the Invention [Problem to be solved by the invention]
[0012] The problem to be solved by this invention is to provide a system for enumerating and indexing contrapuntal melodies that can enumerate and index general melodies including various note values, rests, and accidentals in accordance with the learning rules of genre counterpoint.
[0013] Another problem to be solved by the present invention is to provide a method and program for completely enumerating and indexing contrapuntal melodies, which is capable of completely enumerating and indexing general melodies including various note values, rests, and accidentals in accordance with the learning rules of genre counterpoint.
[0014] Still another problem to be solved by the present invention is to provide a learning support system that enables a learner to easily learn counterpoint by being able to search for alternative solutions.
[0015] Another problem that the present invention aims to solve is to provide a method for displaying musical scores that can realize a note input interface using a display method that is in line with the intention of learning counterpoint, such as in a learning support system for counterpoint.
[0016] A further object of the present invention is to provide an automatic composition system capable of practical automatic composition of music in a style called canon, which uses melodies including pitches. [Means for solving the problem]
[0017] In order to solve the above problems, the present invention provides: A system for enumerating and indexing all contrapuntal melodies that are possible according to the learning rules in the genre of counterpoint, comprising: Enter the melody type, mode, voice type, key signature, and number of bars. A melody map is created based on the melody type, mode, voice type, key signature, number of bars, and counterpoint rules. A set of melodies including all melodies included in the melody overall diagram is represented in the form of a zero-suppressed binary decision diagram; removing from said set of melodies all melodies that violate said learning rules; This is a complete enumeration and indexing system for contrapuntal melodies, characterized in that it is configured to perform a complete enumeration of melodies by calculating the number of elements in the set of melodies after removing all melodies that violate the learning rules from the set of melodies.
[0018] In this invention, after enumerating all melodies as necessary, the input information on melody type, mode, voice type, key signature, and number of bars is paired with the set of melodies after removing melodies that violate the learning rules and saved.
[0019] The genre counterpoint includes both the Palestrina style and the French style. In this invention, the Palestrina style is referred to mainly by Fuchs (see Non-Patent Document 1), Ieppesen (see Non-Patent Document 2), as well as by Tejon (see Non-Patent Document 10), Masuda (see Non-Patent Document 11), Yoshizaki (see Non-Patent Document 12), and Nicolosi (see Non-Patent Document 13), while the French style is referred to only by Yamaguchi (see Non-Patent Document 3). The learning rules are determined according to the style of genre counterpoint and the type of melody to be adopted.
[0020] A melody is a sequence of notes and rests. Each note has time (defined as time = measure number - 1) and pitch information, and pitch has two pieces of information: degree and displacement. Rests are considered as notes with special values as degrees.
[0021] The melody map is a melody diagram that shows all possible choices for notes and melodic progressions. If all legally usable notes and melodic progressions are represented as nodes and directed edges, respectively, the melody map can be expressed as a directed acyclic graph (a closed path is a path with the same start and end points). In the melody map, each note is represented as a node located in a coordinate system whose axes are time and degree, and these nodes are always connected by directed edges in the time direction. Displacement information for each note is represented by edges connecting it to nodes representing displacements located in a separate area from the coordinate system.
[0022] Zero-suppressed binary decision diagrams (ZDDs or zero-suppressed binary decision diagrams) are a type of binary decision diagrams (BDDs) proposed by Minato in 1993 (see Non-Patent Document 14). ZDDs are suitable for expressing sets of combinations, and their structure itself is said to have properties as an index of sets of combinations. Here, we apply the ZDD technique to efficiently enumerate and index melodies. Representing a set of melodies that conform to the rules of genre counterpoint is, in other words, creating a concise diagram that can determine whether any melody conforms to the rules of genre counterpoint based on its characteristics.
[0023] A set of melodies (melody set) including all melodies included in the melody overall diagram is represented as a ZDD. The melody overall diagram is an acyclic directed graph, and the set of paths from the entrance to the exit in the acyclic directed graph corresponds to a ZDD that has "essentially the same shape as the original directed graph" (see Non-Patent Document 15). Each melody can be expressed as a subgraph for the melody overall diagram, and the subgraph can be expressed as a combination for the set of all edges in the melody overall diagram. Since a melody can be expressed as a combination of edges in the melody overall diagram, the melody set can be expressed as a combination set of edges in the melody overall diagram. Here, this combination set is treated in the form of a ZDD. In the melody set, the ZDD is a simplified binary tree. Each node in the ZDD corresponds to each element of the combination in the combination set, and the solid and dashed branches extending from each node indicate the presence or absence of selection for the element indicated by the node.
[0024] Because a ZDD functions as an index of the elements it contains, the indexing of melodies is already complete at the time the ZDD is created. Here, indexing melodies means converting a collection of melodies into a format suitable for searching. In other words, by indexing all melodies in advance, it is thought that melodies that are answers to assignments can be searched for quickly. One possible application would be to quickly find solutions that are close to the learner's answer and present them as model answers.
[0025] In order to remove all melodies that violate the learning rules from the set of melodies, the following steps are carried out in any order: calculate a set containing usages of displacement symbols that are unusable using the restrict operation; calculate a set containing note shapes that are unusable using the restrict operation; and calculate a set containing usages of the highest note of melodies that are unusable using the restrict operation and the frontier method. The set of unusable melodies thus calculated is then subtracted from the melody set, i.e., a difference operation is performed.
[0026] Indexing is also performed at the point where all melodies are enumerated by calculating the number of elements in the melody set after removing all melodies that violate the learning rules from the melody set.
[0027] The present invention also provides A method for enumerating and indexing all contrapuntal melodies that are possible according to the learning rules in the genre of counterpoint, comprising the steps of: A step of inputting information on the melody type, mode, voice type, key signature, and number of bars; A step of creating an overall melody diagram based on the inputted melody type, mode, voice type, key signature, number of bars, and counterpoint rules; expressing a set of melodies including all melodies present in the melody overall diagram in the form of a zero-suppressed binary decision diagram; removing from said set of melodies all melodies that violate said learning rules; and a step of calculating the number of elements in the set of melodies after removing all melodies that violate the learning rules from the set of melodies, thereby enumerating all the melodies.
[0028] In this invention, the step of removing all melodies that violate the learning rules from the set of melodies includes, in any order, a step of calculating a set including usages of displacement symbols that are to be made unusable by a restrict operation, a step of calculating a set including note shapes that are to be made unusable by a restrict operation, and a step of calculating a set including usages of the highest note of melodies that are to be made unusable by using the restrict operation and the frontier method, and a step of subtracting the set of unusable melodies calculated by executing these steps from the set of melodies.
[0029] The present invention also provides A program for causing a computer to execute the above-mentioned method for enumerating and indexing all contrapuntal melodies.
[0030] In the invention of the method for enumerating and indexing all contrapuntal melodies and the invention of the program thereof, what has been explained in relation to the invention of the system for enumerating and indexing all contrapuntal melodies described above is valid, unless it is contrary to the nature of the invention.
[0031] The present invention also provides A learning support system for learning counterpoint, comprising: This is a learning support system characterized by having a function for searching for alternative solutions using the methods shown in (1) to (11) below. (1) Input the information about the counterpoint assignment, search criteria, the number of items to be displayed, and the countermelody as the answer. (2) Check whether there is a solution set that has already been calculated based on the information entered above. If there is no solution set calculated above, proceed to (3). If there is a solution set already calculated, proceed to (10). (3) Check whether there is a set of pre-calculated melodies that meet the counter-melody criteria; If there is no set of pre-calculated melodies that meet the above counter melody conditions, proceed to (4); If there is a set of pre-calculated melodies that meet the above counter melody conditions, proceed to (5). (4) Input the conditions of countermelody into a program for comprehensively enumerating and indexing contrapuntal melodies, and calculate a set of melodies that meet the conditions of the countermelody that have been input. (5) A set of melodies that meet the above counter-melody conditions is read. (6) For the set of melodies read in, a set of melodies that violate the rules of contrapuntal music in relation to the fixed melody is calculated. (7) A solution set is calculated by removing from the set of melodies read in the above described set of melodies that violate the learning rules with respect to their relationship with the above described fixed melody. (8) Calculate the number of elements in the solution set. (9) Save the pair of the input problem information and the solution set, and proceed to (11). (10) If the calculated solution set is available, read the calculated solution set. (11) The solution melody is displayed according to the search criteria, the number of results to be displayed, and the counter melody as the answer entered above. Here, the program for enumerating and indexing all contrapuntal melodies in (4) is as follows: inputting information on the counter melody type, the mode, the counter voice type, the key signature, and the number of bars; a step of creating an overall melody map based on the input countermelody type, melody, countermelody voice type, key signature, number of bars, and counterpoint rules; expressing a set of melodies including all melodies present in the melody overall diagram in the form of a zero-suppressed binary decision diagram; removing from said set of melodies all melodies that violate said learning rules; a step of performing a complete enumeration of melodies by calculating the number of elements in the set of melodies after removing all melodies that violate the learning rules from the set of melodies; and storing the calculated set of melodies.
[0032] In the note input interface of this learning support system, the following methods (1) to (7) can be used to represent pitches in a musical score. (1) Create a diagram where the horizontal axis represents time, the vertical axis represents pitch, and the vertical lines represent bar lines. (2) The display shall have seven scales per octave, similar to that of a musical staff (display based on musical degrees). (3) The method of drawing the lines to indicate the position of pitches should be chosen from four methods: sansen notation, tonic sansen notation, grand staff, and five-line notation, according to the learner's preference. (4) Sansen notation is a system in which a thick line is drawn at the C of each octave and a thin line is drawn at the E and G (absolute pitch) of each octave. (5) Tonic-centered sansevier notation is a system in which a thick line is drawn on the tonic note of each octave and thin lines are drawn on the middle note (the third note of the scale) and dominant note (the fifth note of the scale) of each octave. (6) The grand staff is a system in which ten lines are drawn: five for the treble clef and five for the bass clef. (7) Staff notation is a system in which five lines representing clefs are drawn, each corresponding to a voice.
[0033] Furthermore, in the note input interface of this learning support system, the following methods (1) to (2) can be used as a method for displaying each note in a musical score. (1) Shape of the note The note with the smallest note value (unit note value) in the staff is represented as a diamond. -Align the centre of the diamond with the time and pitch. The width of the diamond is twice the length of the actual note value. The vertical width of the diamond is two graduations when the width of an octave on the musical score is seven graduations long. Also, the vertical width of the diamond is two graduations long no matter what the width of an octave on the musical score is. Notes with longer durations are displayed as elongated hexagons, created by stacking diamonds horizontally to fill in the vertical gaps. The sound of repeated hits of the same note is represented by a pentagon or square, which is a divided hexagon based on the hexagon that would form if the repeated hits of the same note were connected with a tie to form one sound. (2) Musical note design Each shape representing a note is outlined in black or dark grey. Fill the horizontal width of the shape that corresponds to the note value with a dark color, and fill the remaining triangular parts on both the left and right sides with a light color. For notes with displacement (sharp or flat) information, if it is a sharp, the upper half of the area corresponding to the horizontal width of the shape corresponding to the note value is filled in black or dark gray, and if it is a flat, the lower half of the area corresponding to the horizontal width of the shape corresponding to the note value is filled in black or dark gray.
[0034] In addition, in the note input interface of this learning support system, the method shown in (1) below can be used as a method for displaying the range of notes. (1) When a specific voice is selected as the voice to be input, the area corresponding to the range of that voice is filled with a translucent light color.
[0035] In this learning support system invention, what has been explained in relation to the invention of the complete enumeration and indexing system for contrapuntal melodies described above is valid, so long as it is not contrary to the nature of the invention.
[0036] The present invention also provides A method for displaying music score information using a computer, comprising the steps of: This is a method for displaying musical score information, characterized in that the following methods (1) to (7) are used to represent pitches in musical scores. (1) Create a diagram where the horizontal axis represents time, the vertical axis represents pitch, and the vertical lines represent bar lines. (2) The display shall have seven scales per octave, similar to that of a musical staff (display based on musical degrees). (3) The method of drawing the lines to indicate the position of pitches should be chosen from four methods according to the student's preference: sansen notation, tonic sansen notation, grand staff, and five-line notation. (4) Sansen notation is a system in which a thick line is drawn at the C of each octave and a thin line is drawn at the E and G (absolute pitch) of each octave. (5) Tonic-centered sansevier notation is a system in which a thick line is drawn on the tonic note of each octave and thin lines are drawn on the middle note (the third note of the scale) and dominant note (the fifth note of the scale) of each octave. (6) The grand staff is a system in which ten lines are drawn: five for the treble clef and five for the bass clef. (7) Staff notation is a system in which five lines representing clefs are drawn, each corresponding to a voice.
[0037] The present invention also provides A method for displaying music score information using a computer, comprising the steps of: This is a method for displaying musical score information, characterized in that the following methods (1) to (2) are used as a method for displaying each note in a musical score. (1) Shape of the note The note with the smallest note value (unit note value) in the staff is represented as a diamond. -Align the centre of the diamond with the time and pitch. The width of the diamond is twice the length of the actual note value. The vertical width of the diamond is two graduations when the width of an octave on the musical score is seven graduations long. Also, the vertical width of the diamond is two graduations long no matter what the width of an octave on the musical score is. Notes with longer durations are displayed as elongated hexagons, created by stacking diamonds horizontally to fill in the vertical gaps. The sound of repeated hits of the same note is represented by a pentagon or square, which is a divided hexagon based on the hexagon that would form if the repeated hits of the same note were connected with a tie to form one sound. (2) Musical note design Each shape representing a note is outlined in black or dark grey. Fill the horizontal width of the shape that corresponds to the note value with a dark color, and fill the remaining triangular parts on both the left and right sides with a light color. For notes with displacement (sharp or flat) information, if it is a sharp, the upper half of the area corresponding to the horizontal width of the shape corresponding to the note value is filled in black or dark gray, and if it is a flat, the lower half of the area corresponding to the horizontal width of the shape corresponding to the note value is filled in black or dark gray.
[0038] The present invention also provides An automatic composition system for automatically composing music in a style called canon, Enter the melody set and note values; From the set of melodies inputted, a first set is calculated that includes melodies in which two notes that are generated simultaneously when played simultaneously with a shift of the note value are included in a dissonant interval; A second set of melodies is calculated from the set of melodies inputted by the above, the second set being a collection of melodies that contain consecutive fifths or consecutive octaves when played simultaneously with the above note values shifted therebetween; From the set of melodies inputted, a third set is calculated that includes melodies that violate the handling of dissonant intervals for extended notes when they are simultaneously played back while shifted by the note value. A fourth set of melodies is calculated from the set of input melodies, the fourth set being a collection of melodies including a portion that forms an augmented interval with respect to the sustained note when the melodies are simultaneously played back while being shifted by the note value. removing all melodies included in the first set, the second set, the third set and the fourth set from the set of melodies input; calculating the number of elements for a set of melodies remaining after removing all melodies included in the first set, the second set, the third set and the fourth set from the set of melodies input; The automatic composition system is characterized in that it is configured to save a pair of the input set of melodies and note values, and a set of melodies obtained by removing all melodies included in the first set, the second set, the third set and the fourth set from the input set of melodies. Effect of the Invention
[0039] According to this invention, a melody map is created based on the information on the melody type, melody, voice type, key signature, and number of bars, and the rules of counterpoint, a set of melodies including all the melodies included in this melody map is expressed in the form of a zero-suppressed binary decision diagram, all melodies that violate the learning rules are removed from this set of melodies, and the number of elements of the set of melodies after all the melodies that violate the learning rules are removed from this set of melodies are calculated, thereby performing a complete enumeration of melodies. Therefore, it is possible to completely enumerate and index general melodies including various note values, rests, and accidentals in accordance with the learning rules of event counterpoint, not limited to the range without displacement symbols in the two-voice whole note event as in Non-Patent Document 8. In addition, a learning support system that allows learners to easily learn event counterpoint by searching for alternative solutions using this method of complete enumeration and indexing can be realized. In addition, a note input interface using a display method that conforms to the intention of learning counterpoint can be realized in an event counterpoint learning support system or the like. It is also possible to realize an automatic composition system for music in a style called canon, using melodies including pitches that enable practical automatic composition. [Brief description of the drawings]
[0040] [Figure 1] 1 is a schematic diagram showing a processing flow of a complete melody enumeration and indexing system according to a first embodiment of the present invention; [Diagram 2] 1 is a schematic diagram for explaining the structure of an overall melody map in the complete melody enumeration and indexing system according to the first embodiment of the present invention; [Diagram 3] 3 is a schematic diagram for explaining a method of expressing the overall melody diagram shown in FIG. 2 in ZDD. FIG. [Figure 4] 3 is a schematic diagram showing a ZDD representing all paths from "∥→" to "→∥" in the overall melody diagram shown in FIG. 2. [Diagram 5] 3 is a schematic diagram showing a ZDD representing a set of all subgraphs corresponding to melodies including displacements in the overall melody diagram shown in FIG. 2. [Figure 6]1 is a schematic diagram showing the ranges of each voice part that can be used in a specific example of a complete melody enumeration and indexing system according to a first embodiment of the present invention. FIG. [Figure 7] 1 is a schematic diagram showing an example of an overall melody diagram in a specific example of a complete melody enumeration and indexing system according to a first embodiment of the present invention; [Figure 8] 1 is a schematic diagram illustrating the application of rule 17 to a melody set P. [Figure 9] 1 is a schematic diagram illustrating the application of rule 18 to a melody set P. [Figure 10] This is a simplified diagram in which the values recorded at each node during the full enumeration calculation process for the ZDD shown on the right side of Figure 3 are added. [Figure 11] 13 is a schematic diagram showing the execution time and execution results for each bar number in a complete enumeration of flourishes with the conditions of the Aeolian mode, no key signature, and alto voice part. FIG. [Figure 12A] FIG. 1 is a schematic diagram showing a random selection of melodies from a collection of 13-bar flourishes. [Figure 12B] FIG. 1 is a schematic diagram showing a random selection of melodies from a collection of 13-bar flourishes. [Figure 12C] FIG. 1 is a schematic diagram showing a random selection of melodies from a collection of 13-bar flourishes. [Figure 12D] FIG. 1 is a schematic diagram showing a random selection of melodies from a collection of 13-bar flourishes. [Figure 12E] FIG. 1 is a schematic diagram showing a random selection of melodies from a collection of 13-bar flourishes. [Figure 13] FIG. 13 is a schematic diagram showing an example of an overall melody diagram in the technique of Non-Patent Document 8. [Figure 14] FIG. 13 is a schematic diagram showing an example of a method for expressing a melody set in the method of Non-Patent Document 8. [Figure 15] 11 is a schematic diagram showing a processing flow of a learning support system according to a second embodiment of the present invention. [Figure 16] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 17]This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 18] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 19] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 20] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 21] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 22] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 23] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 24] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 25] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 26] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 27] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 28] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 29] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 30] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 31] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 32] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 33]This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 34] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 35] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 36] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 37] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 38] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 39] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 40] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 41] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 42] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 43] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 44] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Diagram 45] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 46] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 47] This is a schematic diagram showing canons of the same degree randomly enumerated from a set of canons of the same degree of four bars. [Figure 48] 1 is a schematic diagram showing the first-listed canon of the same degree when a set of canons of the same degree in four bars is listed in order of the time occupied by the sequential progression. [Figure 49] 13 is a schematic diagram for explaining a method of displaying a musical score on a musical note input interface in the learning support system according to the second embodiment of the present invention. [Figure 50] 13 is a schematic diagram for explaining a method of displaying a musical score on a musical note input interface in the learning support system according to the second embodiment of the present invention. [Figure 51] FIG. 13 is a schematic diagram showing a processing flow of a canon automatic composition system according to a third embodiment of the present invention. [Figure 52] 52 is a schematic diagram showing details of a calculation method in step U2 of the processing flow shown in FIG. 51. [Diagram 53] FIG. 52 is a schematic diagram showing details of a calculation method in step U3 of the processing flow shown in FIG. 51. [Figure 54] FIG. 52 is a schematic diagram showing details of a calculation method in step U4 of the processing flow shown in FIG. 51. [Figure 55] FIG. 52 is a schematic diagram showing details of a calculation method in step U5 of the processing flow shown in FIG. 51. [Figure 56] FIG. 2 is a schematic diagram showing the stages of learning the event counterpoint. [Figure 57] FIG. 1 is a schematic diagram showing a classification of contrapuntal exercises. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0041] Hereinafter, a mode for carrying out the invention (hereinafter referred to as "embodiment") will be described.
[0042] First Embodiment [Complete enumeration and indexing system for contrapuntal melodies] Figure 1 shows the process flow of the complete contrapuntal melody enumeration and indexing system (hereinafter referred to as the "melody complete enumeration and indexing system") according to the first embodiment. This melody complete enumeration and indexing system is for enumerating and indexing all melodies that are possible in the discipline of counterpoint according to the learning rules. A program following the process flow shown in Figure 1 is created and executed by a computer.
[0043] As shown in Figure 1, in this melody complete enumeration and indexing system, after starting the process, first, in step S1, information on the melody type, mode, voice type, key signature, and number of bars is input. For example, the information to be input is "Bordeaux type, Aeolian mode, alto voice, no key signature, 13 bars."
[0044] In step S2, an overall melody map is created based on the information on the melody type, mode, voice type, key signature, and number of bars input in step S1, as well as the rules of counterpoint. Specifically, the rules of counterpoint are rules that limit the range, onset times, rests, melody progressions, and displacements that can be used in a melody.
[0045] Figure 2 shows a schematic diagram for explaining the structure of the melody map. The melody map is a map that shows all the information about notes, rests, melodic progressions, and displacement symbols for notes that may be used in the enumerated melodies. The melody map includes a two-dimensional Cartesian coordinate system, whose vertical axis represents the degree and whose horizontal axis represents time. The area surrounded by a square frame in Figure 2 is the coordinate system (points marked with a "·" symbol are in special positions with no ordinate scale, but are considered to be within the coordinates because the value of the horizontal axis is valid). In the melody map, each point placed inside the coordinate system has onset time and degree information, and represents a combination of onset time and degree that may be used in the notes and rests included in the enumerated melodies. Although they are strictly different from notes and rests on a musical score because they lack note value information, they are called "note points" here. A point marked with a "·" symbol represents an onset time that may be used in a rest, and is a special note point with a time of 0 and a value of no degree, and is placed in a special position with no scale on the ordinate. In FIG. 2, points marked with "♯", "♭", "∥→", and "→∥" that are located outside the coordinate system represent sharp (♯, sharp), flat (♭, flat), start, and end, respectively. In FIG. 2, numbers attached to edges indicate identification numbers. In the melody overall diagram, edges connected from note points to note points represent transitions from notes or rests to notes or rests, that is, represent information corresponding to melody progression. Here, the time difference between the start point and the end point of an edge represents the note value of the note or rest represented by the start point. In the melody overall diagram, edges connected from note points to sharp or flat are edges that represent sharp or flat that may be used in notes and rests included in the enumerated melody.
[0046] In step S3, a set of melodies including all the melodies included in the melody map created in step S2 is represented in the form of a ZDD. In other words, the melody map is converted into a melody set format. At this point, the melodies included in the melody set are indexed.
[0047] Figure 3 is a conceptual diagram of how a melody set is represented in a ZDD. As an example, Figure 3 shows how a set of nine verses arbitrarily selected from the melodies included in Figure 2 is represented in a ZDD. The leftmost diagram in Figure 3 shows the representation in musical notation, the second diagram from the left shows a set of subgraphs, and the third diagram from the left shows a set of combinations. The symbol "T" in the ZDD in Figure 3 indicates a true value. To show the correspondence with the overall melody map, nodes that correspond to branches in the overall melody map are arranged horizontally.
[0048] Figure 4 is a ZDD converted from Figure 2 according to the correspondence between digraphs and ZDDs. This ZDD corresponds to all paths from "∥→" to "→∥" in Figure 2, i.e., the set representing all melodies that do not contain displacement symbols. The multiple nodes connected by dashed lines arranged horizontally in Figure 4 correspond to the branching edges in the original digraph. A false (⊥) node is a node that explicitly indicates that a combination (subgraph) does not exist. In this example, the solid-line branches extending from 7, 11, and 15 connect to the false node, so it can be interpreted that the subgraph containing any of 7, 11, and 15 is not included in the set.
[0049] In converting a directed acyclic graph to a ZDD, in order to maintain the correspondence between the edges in the original graph and the nodes in the ZDD, the edges in the original graph must be numbered in order of shallowest depth from the starting point and in order of adjacent branches from the same node (the order of edges traversed in a typical breadth-first search, the topological order). The edge identification numbers in Figure 4 are numbered in advance in that order.
[0050] Figure 5 shows a ZDD representing the set of all subgraphs corresponding to the melodies with displacements in Figure 2, and is obtained by connecting the solid-lined edges extending from nodes 8, 12, and 14 representing displacements in Figure 4 to subsequent nodes instead of to false nodes. By connecting the dashed and solid-lined edges extending from all nodes representing displacements to the same node, the choice of the displacement element is always arbitrary in the combination selection, that is, the melodies included in this ZDD can be interpreted as including all combinations with and without displacements. However, in order to obtain this figure, an additional condition is required regarding the order of edge numbering in the original graph, that is, edges representing displacements must come before edges connecting notes in the branches from the same node. The edge identification numbers in Figure 2 are pre-ordered to satisfy this condition as well.
[0051] In steps S4, S5, and S6, a set of melodies including the use of displacement symbols that cannot be used is calculated by the restrict operation, a set of melodies including the use of note figures (fragments of melodies) that cannot be used is calculated by the restrict operation, and a set of melodies including the use of the highest note in the melody (the rules of counterpoint) is calculated using the restrict operation and the frontier method. The order of executing steps S4, S5, and S6 is arbitrary and may be any order.
[0052] In step S7, the set of unusable melodies calculated in steps S4, S5, and S6 is removed from the set of all melodies in step S3 by a difference operation. At this point, indexing is completed.
[0053] In step S8, all melodies are enumerated by calculating the number of elements in the set of melodies obtained after removing the melodies that violate the learning rules from the set of melodies in step S7. Because the melodies have already been indexed, all melodies are enumerated and indexed.
[0054] In step S9, the input information in step S1 and the set of melodies obtained after removing the melodies that violate the learning rules are paired and stored, thus completing the process.
[0055] (Example of a complete melody enumeration and indexing system) A specific example of this melody complete enumeration and indexing system will be described. If it is possible to enumerate the most complex types of melodies in genre counterpoint, it is believed that it will also be possible to enumerate simpler types of melodies. Therefore, here, the enumeration targets melodies of the ornate type, which is considered to be the most complex melodic type in genre counterpoint. Melodies that follow the rules of the ornate type are called ornate melodies. In addition, the genre counterpoint targeted is the Palestrina style. Therefore, here, ornate melodies in the Palestrina style are selected as the enumeration targets.
[0056] This defines a florid melody in the Palestrina style. In defining it strictly, there are problems with the fact that the learning rules (definitions) differ depending on the textbook, and there are rules based on vague standards. However, in order to enumerate, it is necessary to clarify the objects of enumeration. Therefore, melodies whose judgment of whether they are acceptable or not is unclear will be defined as acceptable as much as possible. Note that this definition is only one example of a method for defining a florid melody. However, the method for defining the learning rules is the same in that it defines the relationship between each note in a melody, regardless of the style. Therefore, the method described below is considered to be effective regardless of the style or textbook of the event counterpoint.
[0057] The definition of the melody is based on rules common to many textbooks dealing with the Palestrina style. Furthermore, in the Palestrina style, many improvements made to the learning rules by Jeppesen were widely accepted, and the learning rules before and after Jeppesen are significantly different. Therefore, the learning rules after Jeppesen are emphasized as the improved rule system. The definition showing the Palestrina style flamboyant melodies to be enumerated in this specific example is as follows. However, the counterpoint rules to be considered are not limited to the rule system in this example, and can be any. In other words, the rule system (definition of the melody) can be determined by arbitrarily selecting rules according to the characteristics of the melody to be enumerated depending on the purpose of implementing the method of this invention.
[0058] Rule 1: The voice part must be soprano, alto, tenor, or bass, and the range that can be used is as shown in Figure 6. Rule 2: The time signature should be 2 / 2. Rule 3: The minimum note value is an eighth note, and tuplets are not permitted. Rule 4: The only rests permitted are the half or quarter rest at the beginning. Rule 5: The mode must be one of the following: Ionian, Mixolydian, Dorian, Aeolian, or Phrygian. Rule 6: The starting note shall be one of the constituent notes of the tonic chord. If the tonic chord is a minor triad, the third note of the tonic chord shall be placed after a rest. Rule 7: The ending note shall be one of the constituent notes of the tonic chord. If the tonic chord is a minor triad, the third note of the tonic chord shall be displaced upwards. Rule 8: The ending note must be a whole note or a note greater than or equal to the duration of the note. Rule 9: Lame rhythms (the joining of one note value to a longer note value) are not allowed. Rule 10: Combining note values (tying or dotting) beginning with a quarter note is not allowed. Rule 11: Melodic progressions may be one of the following: perfect fourth, fifth, or eighth; ascending or descending major or minor second or third; ascending minor sixth; retention by ties; or repeated hitting of the same note. Rule 12: Repeated notes are only allowed in two cases: the first beat of the last measure and the take-ahead quarter note pattern. The take-ahead quarter note pattern refers to a three-note pattern in which the first note is joined to a quarter note across measures and descends by a second, the second note is a quarter note repeated with the same note, and the third note is a half note or greater in value. Rule 13: For two consecutive three-note leaps in the same direction, the first and third of the three are not allowed to have an interval of seventh or ninth or more. Also, the degree of the lower leap of the two leaps must not be smaller than the degree of the higher leap. Rule 14: Immediately after an octave progression, the progression must go in the opposite direction. Rule 15: Downward displacement by accidentals is only permitted for the lower middle note of the Dorian mode (the sixth note of the mode), the upper tonic note of the Aeolian mode (the second note), the upper middle note of the Mixolydian mode (the third note), and the subtonic note of the Ionian mode (the seventh note). Rule 16: In Dorian, Mixolydian and Aeolian cadences, the subtonic in the "measure" immediately preceding the tonic final note must be upshifted. Upshifted subtonics must progress sequentially, and if they descend, they must ascend the next time. In the Aeolian mode, the lower middle note immediately preceding an upshifted subtonic must be upshifted. Also, the subtonic immediately preceding an upshifted lower middle note must be upshifted. Upshifting is only permitted in the context of this rule and rule 7. Rule 17: The interval between the highest and lowest notes in a melody should not exceed 12 degrees. Rule 18: The note with the highest pitch in a melody is called the apex, and the apex can only exist in one place in the middle of the melody. Rule 19: No upward leaps are allowed from a quarter note on a beat. Rule 20: After a jump to a quarter note, it is not permitted to jump in the same direction. Rule 21: After a leap descent from a quarter note, it is not possible to make another leap descent. Rule 22: After a leap of more than a fourth from a quarter note or eighth note, no further leap is permitted. Rule 23: Four quarter notes starting on a beat cannot form a leap downward, an ascending, or a leap downward pattern. Rule 24: Four quarter notes starting from a beat cannot form a second ascending, second descending, or second ascending pattern. Rule 25: Eighth notes are used two in a row in the third and fourth periods of a beat when it is divided into four, in a sequential progression. Rule 26: The progression leading to the eighth note is a sequential progression. Rule 27: Any eighth note that goes two steps above an eighth note is considered to go two steps above it. Rule 28: An eighth note that descends two steps from an eighth note must not be a leap downward. Rule 29: It is not possible to have four notes of the same value, with the first and third notes being the same pitch, and the second and fourth notes being the same pitch, and with only a leap. (Example: Do-Fa-Do-Fa is not allowed.)
[0059] The information on the melody type, mode, voice type, key signature, and number of bars input in step S1 will be explained. The melody type is one of the five types: whole note, half note, quarter note, transition, and flourish. The mode is one of Ionian, Mixolydian, Dorian, Aeolian, and Phrygian according to rule 5. The voice type is one of soprano, alto, tenor, and bass according to rule 1. Any key signature can be specified. However, according to the convention in counterpoint learning, either no key signature or one flat is usually used. The number of bars is assumed to be a natural number between 8 and 13, since the length of a cantus melody in a counterpoint assignment is between 8 and 13 bars. The information input in step S1 is used to determine each condition that can be used in the melody required to construct the overall melody diagram in step S2.
[0060] Step S2 will now be described. When the melody type input in step S1 is treated as a flourish type and an overall melody diagram is created based on the above rule system, the rules that limit the range, onset time, notes, rests, melody progression, and displacement symbols that are allowed to be used in the melody and that are taken into consideration in step S2 are the above rules 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 19, 25, and 26.
[0061] Figure 7 shows an example of the overall melody diagram created based on the above rule system with the input being "Gorgeous species, Aeolian mode, alto voice, no key signature, 3 measures". The number of measures is usually from 8 to 13, but it becomes too complex to display as a figure, so it is set to 3 measures here for illustrative purposes. The scale on the vertical axis of Figure 7 represents each available pitch degree. Here, the pitch degree of the tonic within the pitch range from one C to one B is set to 0. In the example of this figure, the tonic within that pitch range is one D, and when calculated based on Rule 1 with this as 0, the available pitch range is from -8 to 4. That is, 13 integers from -8 to 4 become the available pitch degrees.
[0062] The scale on the vertical axis of Figure 7 represents each available time as the pronunciation time. The time is expressed as a real number, where the integer part represents the measure and the decimal part represents the pronunciation time within the measure. The available pronunciation time is determined by the melody species and the number of measures. In the case of the whole-note species, which is the simplest melody species, only whole notes can be used. Thus, it becomes a set of integers equal to the number of measures. For example, if the number of measures is 8 measures, it is {0, 1, 2, 3, 4, 5, 6, 7}. In the case of the gorgeous melody, which is the most complex melody species, according to Rules 2, 3, and 25, the decimal parts available as the pronunciation time within the measure are 0, 1 / 4, 3 / 8, 1 / 2, 3 / 4, 7 / 8. Also, according to Rule 8, decimals can only be used in the last measure. Therefore, for the number of measures n, a(m - 2)+1 real numbers included in {m + a, n - 1|m ∈ N ∧ 0 ≤ m < n - 1 ∧ a ∈ {0, 1 / 4, 3 / 8, 1 / 2, 3 / 4, 7 / 8}} become the available times as the pronunciation time. In the example of Figure 7, 13 numbers {0, 1 / 4, 3 / 8, 1 / 2, 3 / 4, 7 / 8, 1 + 1 / 4, 1 + 3 / 8, 1 + 1 / 2, 1 + 3 / 4, 1 + 7 / 8, 2} are the available times. However, in Figure 7, the display of the scale numbers other than integers is omitted.
[0063] All nodes representing notes, rests, and displacement symbols that may be used based on each rule are placed. For example, rules 6 and 7 prohibit degrees other than the tonic chord from being used at times 0 and n-1. Therefore, in Figure 7, we can see that degrees other than the tonic chord are not placed at times 0 and n-1.
[0064] All edges representing melodic progressions and information that may be used are also placed based on each rule. First, all pairs of onset and offset times that are possible for a melodic progression are calculated based on rules 9 and 10. Next, for all pairs, directed edges corresponding to all usable melodic progressions are drawn based on rules 11, 19, 25, and 12. Next, based on rule 4, edges are drawn from the rest placed at time 0 to the nodes of each note that can progress. Finally, based on rules 5, 15, and 16, edges are drawn from the nodes of notes that may be displaced to the nodes that represent the displacement.
[0065] In step S3, a melody set including all melodies present in the melody overall map created in step S2 is represented in the form of a ZDD.
[0066] In this example, we use Graphillion (see Non-Patent Document 16), a library that handles ZDDs in the Python programming language. Therefore, we convert the overall melody diagram, which is expressed in the form of an acyclic directed graph, into a ZDD in a format that conforms to the Graphillion specifications.
[0067] Specifically, by giving each argument to the Python program function "ZDD statement" shown below, It can be converted into a ZDD in a format conforming to the specifications of Lion, and a string representing the ZDD is obtained as a return value. In order to conform to the specifications of Graphillion, the program code itself is described here, rather than the calculation method. The type of the first argument, "whole melody map", is the networkx.DiGraph type, which represents a directed graph in NetworkX (see Non-Patent Document 17), a library for handling graphs in Python. The second, third, and fourth arguments, "end point", "inflection point", and "sharp point", are respectively the end node (the node marked with "→∥" in Figure 2), the node representing a flat, and the node representing a sharp, and are objects of any type included as nodes in the first argument, "whole melody map".
[0068] def ZDD statement( melody map: networkx.DiGraph, end point, inflection point, sharp point): def time-ordered displacement point-priority global edge sequence ( global melody diagram ): All points in time order = sorted(list(melody map.nodes)) Time-ordered displacement point priority edge sequence = [(point,j) for point in time-ordered all points for j in sorted(list(melody_map.neighbors(points)))[::-1] ] return Time-ordered displacement point priority edge sequence Time-ordered displacement point priority edge sequence dictionary = {number + 1: edge for number, edge in enumerate (time-ordered displacement point priority melody overall diagram edge sequence (melody overall diagram))} Time-ordered displacement point-priority edge sequence reverse dictionary = {j:i for i,j in time-ordered displacement point-priority edge sequence dictionary.items()} ZDD node sequence=[] for key, edge in time-ordered displacement point-priority edge sequence dictionary.items(): # False branch if key == len(time-ordered-displacement-point-priority-edge-sequence-dictionary):# if it is the last edge Fake branch = "B" #Connect the fake branch to the fake elif edge[0] == time-ordered displacement point priority edge sequence dictionary[key+1][0]:#If the next edge starts with the same note point False branch = key + 1 #Connect the false branch to the next edge else: # If the next edge is a different note-point starting edge Fake branch = "B" #Connect the fake branch to the fake # True if edge[1] == end point: Mae = "T" elif edge[1] in{inflection point, sharp point}: # If it is connected to an inflection point (an end point other than the end point) True branch = key + 1 #Connect the true branch to the next edge else: Runner-up = sorted(list(melody_map.neighbors(edge[1])))[::-1][0] True branch = time-ordered displacement point-priority edge sequence reverse dictionary [(edge [1], next point)] ZDD node sequence.append(f"{key}{key}{false branch}{true branch}") return "\n".join(ZDD node sequence [::-1])
[0069] The string representing the ZDD obtained as a return value by the function "ZDD_expression" can be read into Graphillion using the following Python code, making it possible to handle ZDDs within a Python program.
[0070] graphillion.GraphSet.set_universe( edge sequence of the melody universe, traversal="as-is") Melody set ZDD=graphillion.GraphSet.loads( string)
[0071] From the set of melodies represented in the form of a ZDD, remove all melodies that violate the rules. Here, removing all melodies that violate a particular rule from the set of melodies is referred to as "applying" the rule to the set of melodies.
[0072] The restrict operations and the set difference operations in steps S4, S5, S6, and S7 are performed as follows.
[0073] The rules that have already been applied at the time of constructing the melody map (and the melody set) are rules 1, 2, 3, 4, 5, 6, 8, 9, 10, 15, 19, and 25. The other rules, even if they have been considered in the construction procedure, cannot be fully applied (because melodies that violate the rules are included in the melody set), so they must be fully applied in this procedure (by removing the violating melodies from the melody set).
[0074] (Application of rules that prohibit certain musical forms) Rules 12, 13, 14, 20, 21, 22, 23, 24, 26, 27, and 28 prohibit the use of musical forms that satisfy certain conditions. Each musical form corresponds to a subgraph in the overall melody map. Thus, these rules are applied by removing from the melody set all melodies that contain subgraphs that violate the rules. To remove melodies that contain specific subgraphs, the difference and restrict operations implemented in Graphillion are used. All of these operations are combinatorial set operations whose terms are combination sets in the form of ZDDs. The difference operation is similar to conventional set operations, in that:
number
[0075] For a certain set of melodies P, let Q be a ZDD that contains all parts that are forbidden by each rule. The set of melodies that violate any rule can be obtained by the following formula (1). Therefore, each rule can be applied by removing the violating melodies using the difference operation as shown in the following formula (2).
[0076] restrict(P,Q) (1) P\restrict(P,Q) (2)
[0077] (Application of rules with displacement constraints) Rules 7, 11, and 16 are rules regarding displacement (♯ and ♭). In the overall melody diagram, the displacement of each note is represented by an edge representing the displacement (an edge connecting a node representing a note with a node representing a displacement symbol). Therefore, these rules are applied by removing from the melody set all melodies that do not satisfy the condition of the presence or absence of an edge representing displacement for each restricted note. Rules 7 and 11 include both restrictions on displacement and restrictions on specific note shapes, so they can be applied by combining the calculations described here with the calculations regarding note shapes described above.
[0078] When displacement is not allowed for a certain note, the graphs representing melodies that do not satisfy the condition are all graphs that contain the edge representing that displacement of that note (the edge connecting the node representing that note and the node representing that displacement), so if the set of melodies is P and the edge is a, it can be obtained by the restrict operation restrict(P,{{a}}) similar to equation (1). Therefore, the set of melodies that satisfies the condition can be obtained by the difference operation P\restrict(P,{{a}}) similar to equation (2). The rule can be applied by repeating this process for all notes included in the overall diagram.
[0079] If the use of a displacement is required for a certain note, then graphs representing melodies that do not satisfy the condition are all graphs that contain a node representing that note and do not contain an edge representing that displacement for that note. For any set of melodies P, a set of melodies that meets the condition of including a certain node can be obtained by restrict(P,S), where S is a set of combinations whose elements are the combinations of edges connecting to that node. Thus, if the edge of the required displacement is a, a set of melodies that does not satisfy the condition can be obtained by the difference operation restrict(P,S)\restrict(restrict(P,S),{{a}}), which is the same as in equation (2). A set of melodies that satisfies the condition can be obtained by the same difference operation P\restrict(P,S)\restrict(restrict(P,S),{{a}}).
[0080] (Application of rules regarding the highest and lowest notes of a melody) Rules 17 and 18 concern the highest and lowest notes in a melody.
[0081] Rule 17 is a rule that prohibits the interval between the highest and lowest notes of a melody from being greater than a certain value (13 degrees or more). Figure 8 shows a calculation method (calculation method 1) for removing melodies that violate rule 17 from an arbitrary melody set (applying the rule). The combination set {{x,y,z}:s} does not include any of the edges in the edge set s, and the frontier method is used for this calculation. The frontier method is an algorithm that efficiently calculates a ZDD whose elements are all combinations that meet given conditions on nodes and edges, and is a type of dynamic programming (see Non-Patent Document 18).
[0082] Rule 18 is a rule that restricts the time position and frequency of the highest note. Figure 9 shows a calculation method (calculation method 2) for removing melodies that violate rule 18 from an arbitrary melody set (applying the rule).
[0083] (Complete enumeration of melodies) In step S8, the number of elements in the melody set to which all rules have been applied is calculated to perform a complete enumeration (counting). Here, the counting is performed using the functions of Graphillion, but in order to understand the calculation time required for the counting, we will explain the mechanism of counting using ZDD.
[0084] The calculation of complete enumeration (counting) can be performed in the following way. That is, starting from the nodes connected to the true node, the number of paths leading to the true node is recorded for each node. Figure 10 shows the ZDD shown on the right side of Figure 3 with the values recorded for each node during the process of complete enumeration of elements. At this time, the value recorded for each node is the sum of the values recorded for at most two nodes at the ends of the branches extending from that node. The value finally recorded for the node representing the first element is the number of elements. Complete enumeration of elements (counting the number of elements) requires the same number of additions as the number of nodes contained in the ZDD, and if the number of nodes in the ZDD is sufficiently small, the calculation can be performed in a short time.
[0085] (Execution results and execution time) For the ornate melodies based on the definition in this specific example, we succeeded in enumerating and indexing all melodies up to n ≦ 13, with the conditions of Aeolian mode, no key signature, and alto voice, and the number of bars being n. The execution time from inputting the melody conditions to enumerating and indexing all melodies was 14792 seconds, and the total number of melodies enumerated and indexed was 74 undecillions (7.4 × 10 37 ) verses. The longest melody in a genre counterpoint is 13 bars, and the fact that we succeeded in enumerating and indexing all 13 bars shows that this invention is practical as a method for enumerating and indexing all genre counterpoint. Figure 11 shows the execution time required for indexing, the execution results, and the results of the regression analysis. The execution environment used for the calculations is as follows. In Figure 11, e is the base of the natural logarithm.
[0086] Execution environment Calculator MacBook pro (M1,2020) Apple Processing equipment M1Max Storage capacity: 64 giga octets Programming language Python 3.10.5 Library Graphillion 1.5
[0087] The time required to enumerate all melodies from the index is 23.9 ± 3.94 milliseconds for an index of 13 bars.
[0088] (Discussion on the results) In Figure 11, the number of melodies that conform to the rules divided by the number of melodies included in the overall melody map can be said to be the probability that a melody created by randomly selecting selectable notes and progressions will be a melody that conforms to the rules. Even in the definition of this paper, which allows a relatively large number of melodies to be judged as acceptable, the probability is about one in a trillion for n=8, the smallest number of bars in a typical task in discipline counterpoint, and it decreases exponentially with the number of bars. Since this is different from the case of selecting notes intentionally, this does not directly relate to the difficulty of discipline counterpoint, but it is thought to quantitatively indicate the difficulty of creating a melody that conforms to the rules by randomly selecting notes.
[0089] Figures 12A, 12B, 12C, 12D, and 12E show five melodies randomly listed from the 13-bar index. All melodies conform to the rules defined in this paper. However, they also contain parts that are not suitable for use as solutions in actual discipline counterpoint, such as parts with too many eighth notes and parts with too many leaps. This is because the definition of the solution used in this paper is only an acceptable solution in discipline counterpoint, not a good solution. To use it more practically, it is necessary to narrow down the melodies in more detail from a more aesthetic point of view, or to list melodies with good elements in priority and melodies with bad elements in subordinate order based on evaluation criteria.
[0090] As described above, the melody complete enumeration and indexing system according to the first embodiment creates a melody overall map based on the conditions of onset time, range, rest, melody progression, and displacement symbols that can be used in a melody, expresses a melody set including all melodies present in the melody overall map in the form of a zero-suppressed binary decision diagram, removes all melodies that violate the learning rules from the melody set, and calculates the number of elements of the melody set after removing all melodies that violate the learning rules from the melody set, thereby making it possible to completely enumerate and index general melodies that include various note values, rests, and accidentals in accordance with the learning rules of event counterpoint, without being limited to the range without displacement symbols in the two-voice whole note event as in Non-Patent Document 4. This melody complete enumeration and indexing system is suitable for use in building a learning support system for event counterpoint, or even an automatic composition system.
[0091] As mentioned above, the melody complete enumeration and indexing system according to the first embodiment has a wider range of application than the method of Non-Patent Document 8, but it also has the following advantages:
[0092] An example of the overall melody diagram in the method of Non-Patent Document 8 is shown in Figure 13. In the method of Non-Patent Document 8, the edges in the overall melody diagram are always connected only to adjacent times. On the other hand, in this first embodiment, the edges in the overall melody diagram are also connected to non-adjacent times, and the structure of the overall melody diagram is essentially different. As a result, various note values of notes and rests can be expressed depending on the times to which the edges are connected.
[0093] Fig. 14 shows a method of expressing a melody in the method of Non-Patent Document 8. In the method of Non-Patent Document 8, a melody is expressed as a single path (a type of graph that does not include branches) on an overall melody diagram. In contrast, in this first embodiment, if a melody includes a displacement symbol, the melody is expressed as a graph that includes branches to nodes that represent the displacement symbol. This makes it possible to express melody information as a graph in a form close to the information on the actual musical score.
[0094] Non-Patent Document 15 shows the relationship between an acyclic directed graph and a ZDD that represents all paths contained in the graph. In the method of Non-Patent Document 8, the entire melody diagram, which is an acyclic directed graph, is converted into a ZDD according to this relationship. However, in this first embodiment, since a melody may be represented by a graph that includes branches to nodes that represent displacement symbols, the conversion method of Non-Patent Document 8 cannot be applied as is. Therefore, in this first embodiment, a new method is devised to convert into a ZDD including a graph that includes branches to nodes that represent displacement symbols.
[0095] In the method of Non-Patent Document 8, when enumerating solutions for genre counterpoint, the cantus melody is included as a condition at the time of constructing the overall melody map. Therefore, it was necessary to perform calculations from constructing the overall melody map to enumerating the solutions for each cantus melody (and other conditions). In contrast, in this embodiment, the overall melody map is created without specifying the cantus melody, and further, the counterpoint melody is indexed, and then the melodies (solutions) are narrowed down using the cantus melody as a condition. In this way, even if the cantus melody is different, if the other five conditions related to the countermelody (melody type, melody, voice type, key signature, number of bars) are the same, if there is an index of the melody that has already been calculated, it is possible to omit calculations from constructing the overall melody map to applying the contrapuntal rules to the melody (removing melodies that violate the rules) by reading the index. After reading, a set of solutions can be obtained by applying the rules related to the relationship with the cantus melody.
[0096] In the method of Non-Patent Document 8, the frontier method proposed in Non-Patent Document 19 was used for the calculations corresponding to steps S4, S5, and S6 in FIG. 1. The frontier method is a calculation method for efficiently constructing ZDDs. However, since it was found that the exact same calculation can be performed faster using the restrict operation, this embodiment employs a method using the restrict operation. By changing the operation used, the calculation can be performed faster than the method of Non-Patent Document 8 for the same calculation.
[0097] Second embodiment [Learning Support System] Figure 15 shows the process flow of the learning support system according to the second embodiment. This learning support system is for supporting learners in learning the genre of counterpoint. In this case, it includes the complete enumeration and indexing of the solutions of two-voice tasks. A program following the process flow shown in Figure 15 is created and executed by a computer.
[0098] (Enumerating and indexing all solutions to two-voice problems using a melody index) By inputting information about the cantus melody and narrowing down the melodies based on conditions related to their relationship to the cantus melody using the index of contrapuntal melodies obtained using the above method, it is possible to obtain an index (set) of countermelodies in the form of a ZDD that are suitable for playing simultaneously with the cantus melody, that is, solutions to the two-voice problem, and then to enumerate all of these solutions.
[0099] For more practical purposes, such as searching for answers in a learning support system, reducing the display wait time is effective in reducing the burden on users. Melody indexes can be calculated in advance and saved in storage, so that search results can be obtained quickly by loading and using the saved answers.
[0100] Even for tasks with different cantus melodies, if the conditions for the countermelody are the same, the process of indexing the countermelody can be omitted by loading an index (set) of countermelody melodies calculated in advance based on those conditions. After loading the index of countermelody melodies, melodies that violate the contrapuntal rules in relation to the cantus melodies can be removed to obtain a set of solutions.
[0101] As shown in Fig. 15, in this learning support system, after starting the process, first, in step T1, information on the counterpoint assignment (two voices) (melody type of countermelody, cantus melody, voice type of cantus melody, voice type of countermelody, key signature), search conditions, number of items to be displayed, and countermelody (optional) as an answer are input. The cantus melody also includes information on melody and number of bars. The search conditions will be described later.
[0102] In step T2, it is determined whether or not a calculated solution set exists in the storage based on the information input in step T1.
[0103] If it is determined in step T2 that there is no calculated solution set in the storage, then in step T3 it is checked whether there is a calculated melody set in the storage that meets the countermelody conditions (countermelody type, melody, countermelody voice type, key signature, and number of bars).
[0104] If it is determined in step T3 that there is no calculated melody set that meets the countermelody conditions, in step T4, the countermelody conditions (countermelody type, melody, countermelody voice type, key signature, number of bars) are input into the contrapuntal melody complete enumeration indexing program of the melody complete enumeration indexing system of the first embodiment, and the calculation is awaited to be completed.
[0105] In step T5, the set of melodies that meet the countermelody conditions calculated in step T4 is loaded into memory. If it is determined in step T3 that a calculated set of melodies that meet the countermelody conditions exists, the process proceeds directly to step T5, where the set of melodies that meet the countermelody conditions is loaded into memory. In this way, in step T3, it is confirmed whether or not there is a pre-indexed contrapuntal melody that meets the same countermelody conditions, and if there is, it is loaded, thereby omitting the calculation in step T4.
[0106] In step T6, a set of melodies that violate the rules of counterpoint in relation to the cantus melody is calculated based on the set of melodies that meet the conditions of countermelody read in step T5.
[0107] The set of melodies calculated in step T6 that violate the rules of counterpoint in relation to the cantus melody is removed by a subtraction operation from the set of melodies that meet the countermelody conditions read in step T5. At this point, the indexing of the solution is completed.
[0108] In step T8, the number of elements in the solution set obtained by the set difference operation in step T7 is calculated. At this point, all enumeration of solutions is completed.
[0109] In step T9, the set of the task information and the set of solutions input in step T1 is stored in a storage.
[0110] In step T10, the solutions are displayed from the pairs of assignment information and solution sets saved in step T9 according to three pieces of information: search conditions, number of items to display, and counter melody as the answer. If it is determined in step T2 that a calculated solution set exists in the storage, in step T3b the calculated solution set is read, and the process proceeds directly to step T10 to display the solutions. This makes it possible to omit the calculations from step T3 to step T9. This ends the process.
[0111] (Search using melody index) When enumerating melodies, an analytical method that assigns weights to each node of the ZDD (see Non-Patent Document 18) is used, which allows corresponding melodies to be enumerated in order of the total weight. Each node corresponds to an edge on the overall melody diagram, and edges represent melodic progressions or displacements, so this method allows for preferential enumeration of melodies that contain specific melodic progressions or displacements. By assigning weights according to the quality of the melodic progression, it is possible to apply this to a solution search function.
[0112] The contents of the search conditions input in step T1 will now be described.
[0113] The following six elements can be specified as specific search conditions, and a weighting can be set for each. ·Sequential progress (progress twice) Antithetical (one voice ascends while the other descends) -Common melody progression with entered answers ·on hold Displacement ·Jumping in the same direction simultaneously
[0114] These elements are the musical characteristics of each edge in the overall melody diagram. The sum of the values set for each element is the weight value of each edge. For example, if you set sequential progression to 1 and retrograde progression to 2, the weight of an edge that represents a melody progression that is both sequential and retrograde is calculated as 1+2=3.
[0115] Of the above elements, two, sequential progression and retrograde progression, are considered good elements in counterpoint, while three, reservation, displacement, and simultaneous leaps in the same direction, are considered to be elements that should be avoided as much as possible. By setting positive numbers for good elements and negative numbers for elements that should be avoided, it is possible to weight the elements to prioritize better melodies. In addition, the "Common melodic progression with the input answer" element is related to the similarity with the input answer, and is useful for searching for solutions similar to the input answer. Setting this value high allows you to search for similar solutions, setting it to 0 allows you to search all solutions equally regardless of the input answer, and setting it to a negative value allows you to search for solutions that are far from the input answer.
[0116] An example of weighting settings for prioritizing the listing of better melodies is shown below. ·Sequential progression: 1 ·Regression: 1 - Melodic progressions common to the entered answer: 0 or 4 ·Pending:-3 Displacement: -1 ·Same direction simultaneous jump: -2
[0117] The note input interface in this learning support system will now be described.
[0118] (How to display the score) As an alternative to the display methods of musical notation such as staff notation and conventional sequencer software, a display method having the following characteristics can be used.
[0119] A display example of the musical score information on the musical note input screen of the learning support system according to the second embodiment and the correspondence with the same melody represented in staff notation are shown in Figures 49 and 50 (melody display example). The upper part of each figure is an example using the method of displaying musical scores using three-line notation, and the lower part is the musical score of the same melody represented in staff notation.
[0120] The horizontal axis represents time, the vertical axis represents pitch, and the vertical lines represent bar lines. This is the same as the characteristics of conventional sequencer software (music notation input software) and musical scores. Instead of the 12 scales per octave (based on musical scale) common in sequencers, the display has 7 scales per octave (based on musical scale) similar to a musical staff. This is an existing feature that can also be seen in non-patent document 20 (Random Sequencer). -Learners will be able to choose from four methods for drawing the lines to indicate the pitches: triline notation, tonic triline notation, grand staff, and five-line notation, according to their preference. Sanshin notation is a system in which a thick line is drawn at the C of each octave and a thin line is drawn at the E and G (absolute pitch) of each octave. Tonic-centered trilinear notation is a method of drawing a thick line on the tonic note of each octave and a thin line on the middle note (the third note of the scale) and dominant note (the fifth note of the scale) of each octave. For example, in the Dorian mode, in which D is the tonic note, a thick line is drawn on D and thin lines are drawn on F and A. The grand staff has 10 lines in total: 5 for the treble clef and 5 for the bass clef. -The staff notation is a method of drawing five lines of a clef corresponding to the voice. For example, if you select soprano as the voice to input, five lines of the soprano clef will be drawn. The sanshin notation is based on the relative staff (sanshin notation) proposed in Non-Patent Document 21.
[0121] (How to display musical notes graphically) A display example of the musical score information on the musical note input screen of the learning support system according to the second embodiment and the correspondence with the same melody expressed in staff notation are shown in Figures 49 and 50 (melody display example). As a method of displaying musical notes instead of the five-line staff or the display method of conventional sequencer software, a display method having the following characteristics can be used. (1) Shape of the note The note with the smallest note value (unit note value) in the staff is represented as a diamond. -Align the centre of the diamond with the time and pitch. The width of the diamond is twice the length of the actual note value. The vertical width of the diamond is two graduations when the width of an octave on a musical score is seven graduations long. Notes with longer durations are shown as elongated hexagons, created by stacking diamonds horizontally to fill in the vertical gaps. The sound of repeated hits of the same note is represented by a pentagon or square, which is a divided hexagon based on the hexagon that would form if the repeated hits of the same note were connected with a tie to form one note. (2) Musical note design Each shape representing a note is outlined in black or dark grey. The horizontal width of the shape that corresponds to the note value (the shaded area in Figure 50) is filled in with a dark color, and the remaining triangular areas on both the left and right sides are filled in with a light color. For notes with displacement (sharp or flat) information, if it is a sharp, the upper half of the area corresponding to the horizontal width of the shape corresponding to the note value is filled in black or dark gray, and if it is a flat, the lower half of the area corresponding to the horizontal width of the shape corresponding to the note value is filled in black or dark gray.
[0122] (Characteristics of this display method) Sequential progression (double progression) is represented as if the shapes are adjacent. The shape of a note is determined by the note with the smallest note value, so even if the note value is the same, the shape does not change depending on the case. The first note in Figure 49 and the first note in Figure 50 are both the same note value (whole note), but are displayed as a diamond in Figure 49 and a hexagon in Figure 50. The method of expressing notes as shapes such as diamonds and hexagons is a unique invention that cannot be found anywhere else in sequencers, musical notation, or music playback software.
[0123] (Display of range) When a specific voice is selected as the voice to be input, the area corresponding to the range of that voice is filled with a translucent light color.
[0124] (The effect of the way lines are drawn on the music sheet) - For trilinear notation, the ability to select a display method with octave cyclicity allows students to learn while paying closer attention to intervals, which are important in counterpoint, than when using 5-line notation. By providing several methods for drawing lines, students can choose the method they prefer, making the text easier to use.
[0125] (The effect of graphically displaying musical notes) · By showing the progressions (second progressions) adjacent to the note shapes, the difference between leap progressions (progressions of thirds or more) and progressions (second progressions) can be visually grasped. The difference between progressions (second progressions) and leap progressions is particularly important in the study of counterpoint. By adopting a graphical display method that differs from the way notes are displayed on a musical staff, the relationship between sounds can be understood more visually and intuitively. By providing light-colored triangular areas on both the left and right sides of the shape representing the note, the area representing the note value on the horizontal (time) axis that the shape represents becomes clear, making it possible to graphically recognize the note value. -The visual ease of understanding makes it easy to learn counterpoint in a fun and familiar way, just like playing a game.
[0126] (Effect of displaying the range) By displaying the range in a light color, you can input notes carefully to avoid accidentally placing notes outside the range.
[0127] According to the second embodiment, a learning support system can be realized that allows learners to easily learn counterpoint by searching for alternative solutions using the method of indexing all contrapuntal melodies according to the first embodiment. Also, a note input interface can be realized with a display method that is in line with the intention of learning counterpoint.
[0128] Third embodiment [Canon automatic composition system] (Complete indexing of the canon using a melody index) A canon (chasing piece, round piece) is a musical style in which an initial melody is followed by a delayed identical melody and then played simultaneously. A canon of the same degree is one in which the chasing melody starts at exactly the same pitch. For the index of contrapuntal melodies obtained by the above method, the restrict operation can be further used to exclude melodies that are narrowed down to conditions related to simultaneous pronunciation for all two notes that are a certain time apart in the melody, to obtain, for example, an index (set) of contrapuntal canons, and all canons that satisfy certain conditions can be enumerated.
[0129] As an example, let us assume that the relationships between voices in a canon satisfy the following conditions: - The simultaneous notes must not be dissonant intervals (here dissonant intervals are defined as 2nds, 4ths, 7ths and their compound intervals). -Do not pronounce a note that is an augmented interval (including compound intervals) to the held note. Consecutive fifths (two voices progressing in parallel from a fifth to a perfect fifth at the same time) and consecutive octave (two voices progressing in parallel from a perfect eighth or a perfect first at the same time) are forbidden. For a sustained note, you may not reach a dissonant interval in any other way than a progression, nor may you jump from a dissonant interval reached in a progression.
[0130] Just as when calculating the set of melodies, we use set operations to eliminate melodies that do not satisfy the conditions, and obtain a set of melodies that do. If the delay time of the canon is one measure, we narrow down all the notes so that they are one measure apart and satisfy this condition. In other words, we remove melodies that do not satisfy the condition.
[0131] Fig. 51 shows the process flow of the canon automatic composition system according to the third embodiment. A program following the process flow shown in Fig. 51 is created and executed by a computer.
[0132] As shown in FIG. 51, in this automatic canon composition system, after the process starts, first in step U1, a set of melodies and note values are input.
[0133] In step U2, a first set of melodies is calculated from the set of melodies input in step U1, the first set being a collection of melodies whose two notes that are sounded simultaneously and contain dissonant intervals when played simultaneously with a note value lag of t. For any set of melodies Q, the details of a calculation method for calculating set R of melodies whose two notes that are sounded simultaneously and contain dissonant intervals (2nd, 4th, 7th and their compound intervals) when played simultaneously with a note value t lag are shown in Figure 52. The set of melodies input in step U1 is Q, and the first set is obtained by executing this calculation.
[0134] In step U3, a second set of melodies that contain consecutive fifths or consecutive octaves when played simultaneously with a shift of the note value input in step U1 is calculated from the set of melodies input in step U1. For any set of melodies Q, the details of the calculation method for calculating set R of melodies that contain consecutive fifths or consecutive octaves when played simultaneously with a shift of the note value t are shown in Figure 53. The set of melodies input in step U1 is Q, and the second set is obtained by executing this calculation.
[0135] In step U4, a third set of melodies that violate the rules for handling dissonant intervals for sustained notes when played simultaneously with a shift of the note value input in step U1 is calculated from the set of melodies input in step U1. For any set of melodies Q, details of the calculation method for calculating set R of melodies that violate the rules for handling dissonant intervals for sustained notes when played simultaneously with a shift of note value t are shown in Figure 54. The set of melodies input in step U1 is Q, and the third set is obtained by executing this calculation.
[0136] In step U5, a fourth set of melodies including a part that forms an augmented interval with respect to a sustained note when they are simultaneously played back with a shift of the note value input in step U1 is calculated from the set of melodies input in step U1. Details of a calculation method for calculating, for an arbitrary set of melodies Q, set of melodies including a part that forms an augmented interval with respect to a sustained note when they are simultaneously played back with a shift of the note value t are shown in FIG. The set of melodies input in step U1 is Q, and the fourth set is obtained by executing this calculation. The order in which steps U2, U3, U4, and U5 are executed is arbitrary and may be any order.
[0137] In step U6, all melodies included in the first set, the second set, the third set and the fourth set calculated in steps U2, U3, U4 and U5 are removed from the set of melodies input in step U1. In other words, a difference operation is performed on the set of melodies input in step U1 and the union of the first set, the second set, the third set and the fourth set calculated in steps U2, U3, U4 and U5. At this point, indexing of the solutions is completed.
[0138] In step U7, the number of elements is calculated for the set of melodies remaining after removing all the melodies contained in the first set, the second set, the third set, and the fourth set calculated in steps U2, U3, U4, and U5 from the set of melodies input in step U1. At this point, the enumeration of solutions is completed.
[0139] In step U8, a set of the set of melodies and note values input in step U1 and the set of melodies obtained by removing all the melodies included in the first set, the second set, the third set and the fourth set calculated in steps U2, U3, U4 and U5 from the set of melodies input in step U1 is saved, and the process ends.
[0140] Here, an example of the implementation result is shown. The execution environment is the same as that of the first embodiment.
[0141] Using the method for enumerating and indexing all melodies explained in the specific example of the first embodiment, "brilliant type, Aeolian mode, alto voice, no key signature, 4 bars" is input, and a melody set created based on a rule system similar to that of the first embodiment is used as input. The execution time required to calculate the set of canons with the same degree delayed by one bar from this melody set (to enumerate all canons) was 368 seconds. The total number of canons was 3,455,458 verses. 32 canons randomly enumerated from the set of canons with the same degree are shown in Figures 16 to 47.
[0142] These are just prototypes, and do not meet all the requirements for the relationships between voices required in counterpoint textbooks, so there are some unnatural parts in the simultaneous relationships between voices. However, most of the canons obtained seem to be satisfactory to a certain extent as music. The fact that a large number of them, 3,455,458 in number, were obtained is a groundbreaking technological advance.
[0143] Also, when I write a four-bar contrapuntal melody, I find that the probability that the melody is a canon of the same degree that satisfies the above conditions is 3455458 / 3030441370=0.00114.
[0144] Here is an example of how to search using the Canon index and the results of that search:
[0145] For example, in genre counterpoint, melodies that are mainly sequential progressions are considered to be good. Therefore, by weighting the edges that represent sequential progressions with values proportional to the time they represent, melodies can be listed in order of the amount of time that sequential progressions occupy. It took 9 seconds to list 100 canons in order of the amount of time that sequential progressions occupy from a set of 4-bar canons. The first piece randomly listed from a 13-bar index (set) is shown in Figure 48.
[0146] According to the third embodiment, it is possible to realize an automatic canon composition system using melodies including pitches, which enables practical automatic composition.
[0147] Although the embodiment of the present invention has been specifically described above, the present invention is not limited to the above-mentioned embodiment, and various modifications based on the technical concept of the present invention are possible.
Claims
1. A system for enumerating and indexing all melodies that are possible according to the learning rules in counterpoint, Enter the following information: melody type, mode, voice type, key signature, and number of measures. Based on the above-entered information regarding melody type, mode, voice type, key signature, number of measures, and counterpoint rules, a complete melody diagram will be created. The set of melodies, including all the melodies shown in the overall melody diagram above, is represented in the form of a zero-suppressed binary decision graph. Remove all melodies that violate the above learning rules from the above set of melodies. A system for enumerating and indexing all contrapuntal melodies, characterized by being configured to enumerate all melodies by calculating the number of elements in the set of melodies after removing all melodies that violate the above learning rules from the above set of melodies.
2. A contrapuntal melody enumeration indexing system according to claim 1, wherein, in order to remove all melodies that violate the above learning rules from the above set of melodies, the system subtracts the set of unusable melodies calculated by performing the following steps in any order: calculating a set containing usages of disqualification marks to be unusable using a restrict operation; calculating a set containing note shapes to be unusable using a restrict operation; and calculating a set containing usages of the highest note of an unusable melody using a restrict operation and the frontier method.
3. A method for enumerating and indexing all melodies that are possible according to the learning rules in counterpoint, The process involves entering information such as melody type, mode, voice type, key signature, and number of measures. The first step is to create a complete melody diagram based on the above-entered information regarding melody type, mode, voice type, key signature, number of measures, and counterpoint rules. The first step is to represent the set of melodies, including all the melodies present in the overall melody diagram above, in the form of a zero-suppressed binary decision graph. The steps include removing all melodies that violate the above learning rules from the above set of melodies, A method for enumerating and indexing all contrapuntal melodies, characterized by comprising the step of calculating the number of elements in the set of melodies after removing all melodies that violate the above learning rules from the above set of melodies, thereby enumerating all melodies.
4. A method for enumerating and indexing all contrapuntal melodies according to claim 3, the step of removing all melodies that violate the above learning rules from the above set of melodies is to be performed in any order, the step of calculating a set of disabling marking usages to be unusable using a restrict operation, the step of calculating a set of disabling musical shapes using a restrict operation, and the step of calculating a set of disabling highest note usages of melodies to be unusable using a restrict operation and the frontier method, and the step of subtracting the set of unusable melodies calculated by performing these steps from the above set of melodies.
5. A program for causing a computer to perform the method of enumerating and indexing all contrapuntal melodies according to claim 3 or 4.
6. A learning support system for learning counterpoint, A learning support system characterized by having a function to search for alternative solutions using the methods shown in (1) to (11) below. (1) Input information on the counterpoint assignment, search criteria, number of items to display, and counter-melody information as the answer. (2) Check if there is a solution set that has been calculated based on the information entered above. If the calculated solution set is none, proceed to (3). If the above calculated solution set exists, proceed to (10). (3) Check if there is a set of pre-calculated melodies that meet the conditions for counter-melodies, If there is no set of calculated melodies that meet the above counter-melody conditions, proceed to (4). If there is a set of calculated melodies that meet the above counter-melody conditions, proceed to (5). (4) Input the conditions for counter-melodies into a program that enumerates and indexes all contrapuntal melodies, and calculate the set of melodies that meet the input conditions for counter-melodies. (5) Load a set of melodies that meet the above conditions for counter-melodies. (6) For the set of melodies read above, calculate the set of melodies that violate the rules of counterpoint in relation to the cantus firmus. (7) The solution set is calculated by removing the set of melodies that violate the learning rules in relation to the above-calculated cantus firmus from the set of melodies that have been read. (8) Calculate the number of elements in the above solution set. (9) Save the pair of the input task information and the solution set, and proceed to (11). (10) If the above calculated solution set exists, load the above calculated solution set. (11) The system displays the melody that is the solution according to the search conditions entered above, the number of results to display, and the information of the counter-melody as the answer. Here, the program for enumerating and indexing all contrapuntal melodies in (4) is: The process involves entering information such as the type of melody, mode, voice type, key signature, and number of measures for the counter-melody, The steps include creating a complete melodic diagram based on the above-entered information regarding the counter-melody's melody type, mode, voice type, key signature, and number of measures, as well as the rules of counterpoint. The first step is to represent the set of melodies, including all the melodies present in the overall melody diagram above, in the form of a zero-suppressed binary decision graph. The steps include removing all melodies that violate the above learning rules from the above set of melodies, The steps include: enumerating all melodies by calculating the number of elements in the set of melodies after removing all melodies that violate the learning rules from the set of melodies mentioned above; The process includes the step of saving the set of melodies calculated above.
7. A learning support system according to claim 6, which uses the methods shown in (1) to (7) below as a way of representing pitch in musical notation. (1) Create a diagram in which the horizontal axis represents time, the vertical axis represents pitch, and the vertical lines represent bar lines. (2) The notation will have seven markings per octave, similar to that of a musical staff (notation based on pitch). (3) The method of drawing lines to indicate pitch positions will be limited to four methods: sanshin notation, tonic-centered sanshin notation, grand staff, and five-line notation, which learners can choose according to their preference. (4) The sanshin notation is a system in which a thick line is drawn on the C of each octave, and thin lines are drawn on the E and G (absolute pitch) of each octave. (5) The tonic-centered sanshin notation is a system in which a thick line is drawn on the tonic of each octave, and thin lines are drawn on the middle note (the third note of the scale) and the dominant note (the fifth note of the scale) of each octave. (6) The grand staff is a system of drawing a total of 10 lines: 5 for the treble clef and 5 for the bass clef. (7) The musical staff is a system in which five lines are drawn with clef symbols corresponding to the voice parts.
8. The learning support system according to claim 6, which uses the methods shown in (1) to (2) below as a method for displaying each note in a musical score. (1) The shape of the musical note - The note with the smallest note value (unit note value) in the musical score is represented by a diamond shape. - Position the center of the rhombus according to the time and pitch. The width of the rhombus is twice the length corresponding to the actual note value. The vertical width of the diamond is equal to two divisions when the length of an octave on the musical score is set to seven divisions. Furthermore, the vertical width of the diamond remains equal to two divisions regardless of the length of the octave on the musical score. - Notes with longer note values are represented as horizontally elongated hexagons, obtained by filling in the vertical undulations when diamonds are stacked horizontally. - The sound of repeated notes is represented by a pentagon or square, which is a division of the hexagon that represents the repeated notes connected by a tie as a single sound. (2) Design of musical notes Each graphic representing a musical note is outlined in black or dark gray. - Fill in the horizontal width corresponding to the note value in the shape with a dark color, and fill in the remaining triangular areas on both the left and right sides with a light color. - For notes with displacement information (sharp or flat), if it's a sharp, the upper half of the area corresponding to the horizontal width of the note value in the figure is filled with black or dark gray; if it's a flat, the lower half of the area corresponding to the horizontal width of the note value in the figure is filled with black or dark gray.
9. The learning support system according to claim 6, which uses the method shown in (1) below as a method for displaying the range of pitches. (1) When a specific voice part is selected as the input voice part, the area corresponding to the pitch range of that voice part is filled with a semi-transparent light color.