FI84670C - FOERFARANDE FOER BILDANDE AV DIGITALKODSEKVENS, SAERSKILT EN NOTKODSEKVENS. - Google Patents
FOERFARANDE FOER BILDANDE AV DIGITALKODSEKVENS, SAERSKILT EN NOTKODSEKVENS. Download PDFInfo
- Publication number
- FI84670C FI84670C FI892764A FI892764A FI84670C FI 84670 C FI84670 C FI 84670C FI 892764 A FI892764 A FI 892764A FI 892764 A FI892764 A FI 892764A FI 84670 C FI84670 C FI 84670C
- Authority
- FI
- Finland
- Prior art keywords
- code
- sequence
- key
- codes
- rule
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
- G10H1/0025—Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/101—Music Composition or musical creation; Tools or processes therefor
- G10H2210/111—Automatic composing, i.e. using predefined musical rules
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/101—Music Composition or musical creation; Tools or processes therefor
- G10H2210/145—Composing rules, e.g. harmonic or musical rules, for use in automatic composition; Rule generation algorithms therefor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/005—Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
- G10H2250/015—Markov chains, e.g. hidden Markov models [HMM], for musical processing, e.g. musical analysis or musical composition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Auxiliary Devices For Music (AREA)
Description
1 846701 84670
Menetelmä digitaalisen koodisekvenssin, erityisesti nuot-tikoodisekvenssin, muodostamiseksiA method for generating a digital code sequence, in particular a note code sequence
Keksinnön kohteena on yleisesti menetelmä digitaa-5 lisen koodisekvenssin muodostamiseksi äärellisestä määrästä erilaisia koodityyppejä, jossa menetelmässä koodisekvenssin perään generoidaan yksi kerrallaan uusia koodeja sekvenssissä jo olevien koodien perusteella. Erityisesti menetelmä on tarkoitettu tietokonemusiikin automaattiseen 10 säveltämiseen, jolloin kukin koodi edustaa tietyn nuotin yhtä tai useampaa kvantisoitua ominaisuutta,The invention generally relates to a method for generating a digital code sequence from a finite number of different code types, in which method new codes are generated one by one after the code sequence on the basis of the codes already in the sequence. In particular, the method is intended for the automatic composition of computer music, each code representing one or more quantized properties of a particular note,
Musiikillisia tuotoksia, jotka kuulostavat miellyttäviltä, mutta joilla ei ole itsenäisen taideteoksen muotoa, käytetään usein filmien, näytelmien ja muiden esitys-15 ten taustamusiikkina. Tällaisen musiikin määrällinen tarve voi olla huomattava. Myös liikkeissä ja muissa julkisissa tiloissa käytetään paljon rauhallista taustamusiikkia asiakkaiden viihdyttämiseen ja sopivan tunnelman luomiseen. Eräs tapa tuottaa tällaista taustamusiikkia on käyt-20 tää ns. synteettistä musiikkia tuottavaa elektronista konetta, joka käsittää yhden tai useamman elektronisen musiikki-instrumentin tai -syntetisaattorin sekä näille ohjaussignaalit automaattisesti tuottavan laitteen.Musical productions that sound pleasant but do not have the form of an independent work of art are often used as background music for films, plays, and other performances. The quantitative need for such music can be considerable. Also in shops and other public spaces, a lot of calm background music is used to entertain customers and create a suitable atmosphere. One way to produce such background music is to use the so-called an electronic machine for producing synthetic music, comprising one or more electronic musical instruments or synthesizers and a device for automatically generating control signals therefor.
Eräs tapa tuottaa näitä ohjauskoodisekvenssejä ja 25 signaaleja olisivat ns. tekoälyohjelmat, joissa käytetään hyväksi heuristisesti musiikilliseen asiantuntemukseen perustuen tuotettuja sääntöjä. Esillä oleva keksintö ei kuitenkaan liity tällaisiin asiantuntijamenetelmiin, vaan laitteeseen, joka automaattisesti esimerkkimateriaalin pe-30 rusteella muodostaa tarvittavat säännöt ja automaattisesti tuottaa uutta koodisekvenssiä näiden sääntöjen avulla.One way to produce these control code sequences and signals would be the so-called artificial intelligence programs that exploit rules produced heuristically based on musical expertise. However, the present invention does not relate to such expert methods, but to an apparatus which automatically, on the basis of the example material, generates the necessary rules and automatically generates a new code sequence by means of these rules.
Eräs tällainen tunnettu ohjaussignaaleja tuottava laite perustuu Markovin prosesseihin, jossa kutakin nuottia (korkeus, pituus) käsitellään yhtenä stokastisena ti-35 lana tilojen muodostamassa jonossa. Annetun esimerkkima- 2 84670 teriaalin, nuottimateriaalin, perusteella määritetään jonossa olevalle tilalle todennäköisyys Pr = PriSj |S1_1, St_ 2, ... ), kun edeltävät tilat jonossa ovat Sj _1, St. 2 , jne. Markovin prosesseihin perustuvassa musiikissa riittää 5 tyydyttävään tulokseen pääsemiseksi usein kolme edeltävää tilaa. Uusi musiikki generoidaan muistiin tallennettujen todennäköisyysfunktioiden avulla aloittaen avainsekvens-sistä, johon lisätään todennäköisyysfuntion Pr ja esimerkiksi kolmen sekvenssissä viimeisenä olevan nuotin tai 10 tilan perusteella todennäköisin seuraajatila. Näin kasvatettua sekvenssiä käytetään uutena avainsekvenssinä ja näin prosessi loputtomasti kehittää nuottikoodimateriaalia ja ohjaussignaaleja elektronisille musiikki-instrumenteille tai -syntetisaattoreille. Lisäksi tarvitaan lisäoperaati-15 oita tai sääntöjä tuottamaan tyypillisiä musiikkirakenteita melodian osista.One such known device for generating control signals is based on Markov processes, in which each note (height, length) is treated as one stochastic ti-35 line in a queue formed by spaces. Based on the given example country, 2 84670 material, sheet material, the probability Pr = PriSj | S1_1, St_ 2, ...) is determined for the state in the queue, when the previous states in the queue are Sj _1, St. 2, etc. In music based on Markov processes, 5 satisfactory often the three preceding states to reach a result. New music is generated by means of probability functions stored in memory, starting with a key sequence to which is added the probability function Pr and, for example, the most probable follower mode based on the last three notes or 10 states in the sequence. The sequence thus grown is used as a new key sequence and thus the process of endlessly generating note code material and control signals for electronic musical instruments or synthesizers. In addition, additional operations or rules are needed to produce typical musical structures from parts of the melody.
Tässä tunnetussa nuottikoodien generointismenetelmäs-sä tarvitaan hyvin paljon opetusmateriaalia ehdollisten todennäköisyystiheysfunktioiden muodostamiseksi. Lisäksi 20 edellä mainitulla tavalla tuotettu synteettinen musiikki on tavallisesti yllätyksetöntä ja monotonista, mikä johtuu siitä, että stokastisessa prosessissa kutakin nuottia käsitellään samanarvoisena, mikä ei vastaa luonnollisen musiikin ominaisuuksia.This known method of generating note codes requires a great deal of teaching material to generate conditional probability density functions. In addition, the synthetic music produced in the above-mentioned manner is usually unsurprising and monotonous, due to the fact that in the stochastic process each note is treated as equivalent, which does not correspond to the characteristics of natural music.
25 Esillä olevan keksinnön päämääränä on menetelmä, jolla lisätään melodista vaihtelua ja vältetään tai lievennetään eräitä tekniikan tason ongelmia.It is an object of the present invention to provide a method for increasing melodic variation and avoiding or alleviating some of the problems of the prior art.
Tämä saavutetaan patenttivaatimuksen 1 mukaisella menetelmällä.This is achieved by the method according to claim 1.
30 Keksinnön mukaisessa menetelmässä jatkuvan koodisek- venssin tuottamiseen käytetään dynaamisesti laajenevan kontekstin periaatetta, jota on aikaisemmin sovellettu puheen tunnistuksessa ja joka on selostettu artikkelissa [1] "Dynamically expanding context, with application to the cor-35 reetion of symbol strings in the recognition of continuous 3 84670 speech”, Teuvo Kohonen, Proceedings of the Eigth International Conference on Pattern Recognition, October 27-31, 1986, Paris, France (IEEE Computer society) ss. 1148-1151. Oleellisena erona puheentunnistussovellukseen nähden on 5 se, että kun viimeksi mainitussa menetelmää käytetään vain virheellisten koodien korjaamiseen, niin esiteltävässä menetelmässä luodaan jatkuvasti uusia stokastisia koodi-sekvenssejä.The method according to the invention for producing a continuous code sequence uses the principle of a dynamically expanding context previously applied in speech recognition and described in [1] "Dynamically expanding context, with application to the cor-35 retention of symbol strings in the recognition of continuous 3 84670 speech ”, Teuvo Kohonen, Proceedings of the Eigth International Conference on Pattern Recognition, October 27-31, 1986, Paris, France (IEEE Computer Society) pp. 1148-1151. The essential difference from a speech recognition application is that when the last said method is used only to correct erroneous codes, so that new stochastic code sequences are continuously created in the presented method.
Kuten Markovin prosessissakin, esillä olevassa roe-10 netelmässä määritetään koodisekvenssissä oleva koodi sitä välittömästi edeltävien koodien perusteella. Esillä olevassa keksinnössä käytetään kuitenkin diskreettejä "kieliopillisia” sääntöjä, joissa sääntölausekkeiden ehto-osan sisällön pituus, eli tarvittavien edeltävien koodien luku-15 määrä, on dynaaminen muuttuja, joka määritellään sääntö-lausekkeita esimerkkisekvensseistä muodostettaessa näissä esimerkeissä esiintyvien ristiriitaisuuksien pohjalta. Toisin sanoen, jos sääntölausekkeita muodostettaessa kahdella tai useammalla sääntölausekkeella on sama ehto-osa 20 mutta erilainen seurausosa, ts. uusi koodi, nämä sääntö-lausekkeet merkitään epäpäteviksi, ja niiden ehto-osan pituutta kasvatetaan kunnes aikaansaadaan yksikäsitteisiä eli päteviä sääntölausekkeita. Kuitenkin myös kaikki tällaiset lyhyemmät, keskenään ristiriitaiset epäpätevät 25 sääntölausekkeet säilytetään ja niistä muodostetaan puurakenne alla selostettavalla tavalla; dynaamisesti laajenevan kontekstin menetelmä perustuu keskeisesti tämän rakenteen hyväksikäyttöön. Koska edellä mainitut säännöt tuotetaan mekaanisesti esimerkkimateriaalissa esiintyvien sym-30 boleiden keskinäisten paikallisten riippuvuussuhteiden perusteella, sääntöjen muodostaminen ei esimerkiksi vaadi esimerkkimusiikkimateriaalin asiantuntemukseen perustuvaa musiikkiteoreettista analyysiä.As in the Markov process, the present roe-10 method determines the code in a code sequence based on the codes immediately preceding it. However, the present invention uses discrete "grammatical" rules in which the length of the conditional content of the rule expressions, i.e., the number of preceding 15 codes required, is a dynamic variable defined by generating rule expressions from example sequences based on the inconsistencies in these examples. when two or more rule clauses are formed, the same condition part 20 but a different consequence part, i.e. the new code, these rule clauses are marked as invalid and their condition part length is increased until unambiguous, ie valid rule clauses are obtained. 25 rule clauses are retained and formed into a tree structure as described below, the dynamically expanding context method being central to this structure Since the above rules are mechanically generated on the basis of the local interdependencies of the symbols present in the sample material, the formation of the rules does not require, for example, a musical theoretical analysis based on the expertise of the sample music material.
Vastaavasti kun koodisekvenssin perään generoidaan 35 uusi koodi näitä sääntölausekkeita hyväksikäyttäen, ver- 4 84670 rataan hakutaulukon sääntölausekkeisiin ensin koodisekvenssin viimeksituotettua koodia, sitten kahta viimeksituotet-tua, jne. kunnes löydetään vastaavuus jonkin pätevän sään-tölausekkeen ehto-osan kanssa, jolloin koodisekvenssin 5 viimeiseksi koodiksi voidaan lisätä tämän sääntölausekkeen seurausosan osoittama koodi. Mainittu puurakenne mahdollistaa vertailujen järjestelmällisen suorittamisen. Näin aikaansaadaan "optimaalinen" koodisekvenssi, joka "tyylillisesti" pyrkii seuraamaan esimerkkisekvenssien perusteella 10 muodostettuja sääntöjä. Kun menetelmää sovelletaan sellaisenaan nuottikoodisekvenssin tuottamiseen, tuotettu musiikki seuraa hyvin haluttua tyyliä, mutta saattaa vielä tuottaa pitkähköjä kopioita esimerkkimateriaalin osista.Similarly, when 35 new codes are generated after the code sequence utilizing these rule expressions, the last generated code of the code sequence is then compared to the rule expressions of the lookup table, then the two last generated codes, etc. until a match is found with the condition of the last 5 code sequences. the code indicated in the consequence of this rule clause may be added. Said tree structure allows comparisons to be made systematically. This provides an "optimal" code sequence that "stylistically" tends to follow the rules formed from the example sequences. When the method is applied as such to the production of a sheet code sequence, the music produced follows a well-desired style, but may still produce long copies of parts of the sample material.
Vaihtelevuutta ja yllättäviä muutoksia koodisek-15 venssiin voidaan aikaansaada käyttämällä ainakin välillä satunnaisvalintaa, joka perustuu siihen, että pätevän sääntölausekkeen löydyttyä se korvataan satunnaisesti jollakin siihen liittyvällä epäpätevällä sääntölausekkeella, jonka ehto-osa on sama kuin löytyneen sääntölausekkeen ehto-osa 20 lyhennettynä satunnaisella määrällä koodeja.Variability and surprising changes in the code sequence can be achieved by using, at least occasionally, random selection based on the fact that when a valid rule expression is found, it is randomly replaced with an associated invalid rule expression whose condition is the same as the condition of the found rule expression.
Keksinnön mukaisen menetelmän avulla automaattisesti tuotettua koodia voidaan käyttää elektronisten musiikki-instrumenttien tai -syntetisaattoreiden ohjaamiseen joko suoraan tai muunnettuina sopiviksi, esimerkiksi MIDI-stan-25 dardin mukaisiksi ohjaussignaaleiksi.The code automatically generated by the method according to the invention can be used to control electronic musical instruments or synthesizers, either directly or converted into suitable control signals, for example according to the MIDI standard.
Keksintöä selitetään nyt yksityiskohtaisemmin suo-ritusesimerkkien avulla viitaten oheiseen piirrokseen, jossa kuvio 1 havainnollistaa erästä koodirakennetta, jota 30 voidaan käyttää esillä olevassa menetelmässä, kuvio 2 havainnollistaa keksinnön mukaisessa menetelmässä käytettävää hakutaulukkoa, ja kuvio 3 havainnollistaa toisiinsa liittyvien sään-tölausekkeiden muodostamaa puumaista rakennetta.The invention will now be described in more detail by means of exemplary embodiments with reference to the accompanying drawing, in which Figure 1 illustrates a code structure that may be used in the present method, Figure 2 illustrates a lookup table used in the method of the invention, and Figure 3 illustrates related rule expressions.
35 Keksinnön mukaisen menetelmän ensisijaisessa suori- 5 84670 tusmuodossa yksittäiset koodityypit edustavat nuotteja, jotka on tässä tapauksessa valittu pienimmiksi käytetyiksi musikaalisiksi yksiköiksi, mutta vaihtoehtoisesti koodit voivat edustaa muitakin suureita, jotka on esitettävissä 5 kvantittuneilla tiloilla. Esillä olevan keksinnön yhteydessä nuottia kuvataan kahdella tai useammalla sävelen kvantittuneella ominaisuudella, joita ovat esimerkiksi sävelen korkeus ja pituus. Kuviossa 1 on havainnollistettu erästä edullista 16-bittistä koodirakennetta, jossa seit-10 semän vähiten merkitsevää bittiä edustavat sävelen korkeutta k, jolla voi siten olla 128 erilaista arvoa ja joista yksi voi merkitä taukoa, seitsemän seuraavaa bittiä edustavat sävelen pituutta p, jolla voi myös olla 128 erilaista arvoa, ja kaksi eniten merkitsevää bittiä edustavat nuotin 15 iskualan vaihetta i, ts. nuotin sijaintia tahdissa tai tahdin osassa, ja esimerkissä käytetyssä nelijakoisessa musiikissa sillä voi siis olla neljä erilaista tilaa.In a preferred embodiment of the method according to the invention, the individual code types represent notes which in this case have been selected as the smallest musical units used, but alternatively the codes may represent other quantities which can be represented by quantized states. In the context of the present invention, a note is described by two or more quantized properties of the note, such as the pitch and length of the note. Figure 1 illustrates a preferred 16-bit code structure in which the seven least significant bits represent the pitch k, which may thus have 128 different values and one of which may indicate a pause, the next seven bits represent the pitch p, which may also have 128 different values, and the two most significant bits represent stage i of the stroke field of the note 15, i.e. the position of the note in the beat or part of the beat, and thus in the quadratic music used in the example, it can have four different states.
Keksinnön mukaisessa menetelmässä käytetyn, muistiin tallennetun hakutaulukon rakennetta on havainnollistettu 20 kuviossa 2. Hakutaulukko koostuu sääntölausekkeista, joista kukin käsittää ehto-osan X, seurausosan Y ja ristiriitali-pun Z. Lipun Z tila 0 tarkoittaa pätevää lauseketta ja tila 1 tarkoittaa epäpätevää lauseketta.The structure of the stored look-up table used in the method according to the invention is illustrated in Figure 2. The look-up table consists of rule expressions each comprising a conditional part X, a consequential part Y and a conflicting point Z. Flag Z state 0 is a valid expression and state 1 is an invalid expression.
Keksinnön mukaisen hakutaulukon sääntölausekkeiden 25 muodostamisen perusperiaatteet on esitetty yleisesti edellä mainitussa artikkelissa [1]. Keksinnössä sovelletaan artikkelissa esitetyn proseduurin erikoistapausta, jossa sään-tölausekkeita muodostettaessa huomioidaan vain tarkasteltavana olevan koodin vasemmalla puolella olevat edeltävät 30 koodit.The basic principles for generating rule expressions 25 of a look-up table according to the invention are generally set out in the above-mentioned article [1]. The invention applies a special case of the procedure presented in the article, in which only the preceding codes to the left of the code under consideration are taken into account when forming rule expressions.
Proseduuria voidaan tarkastella yksinkertaisella esimerkkisekvenssillä, jossa kirjaimet edustavat koodityyppejä: ABCDEFG...IKFH...LEFJ...The procedure can be viewed with a simple example sequence where the letters represent code types: ABCDEFG ... IKFH ... LEFJ ...
35 Jos nyt yrittäisimme johtaa seuraavan koodin esi- 6 84670 merkiksi pelkän koodin F pohjalta (joka esiintyy useita kertoja), syntyisi kolminkertainen ristiriita. Koodia F voisi seurata mikä tahansa koodeista G, H tai J. Jos pyritään kasvattamaan koodikuvioiden täsmällisyyttä ottamalla 5 ehto-osan sisältöön mukaan koodin F edessä oleva symboli, olisi jäljellä vielä kaksinkertainen ristiriita: yhdistelmän EF seuraaja voisi olla G tai J. Yhdistelmä KF muodostaa kohdallaan kuitenkin jo pätevän sääntölausekkeen, joka siis antaa tulokseksi yksikäsitteisen koodin H. Tapauksissa, 10 joissa F:ää edeltää E, voidaan ehto-osaan ottaa mukaan koodin F edestä kaksi symbolia, jolloin voidaan ratkaista kaikki ristiriitatilanteet. Näihin kohtiin liittyen voidaan siis muodostaa kaksi pätevää sääntölauseketta, joista toisessa ehto-osa on DEF ja seurausosa on G ja joista toisessa 15 ehto-osa on LEF ja seurausosa on J.35 Now, if we were to try to derive the following code as an example of 6 84670 on the basis of code F alone (which occurs several times), a triple contradiction would arise. Code F could be followed by any of the codes G, H or J. If an attempt is made to increase the accuracy of the code patterns by including the symbol in front of code F in the content of condition 5, there would still be a double contradiction: EF could be followed by G or J. however, an already valid rule expression, which thus results in an unambiguous code H. In cases where F is preceded by E, two symbols in front of the code F may be included in the conditional part, in which case all conflicting situations can be resolved. Thus, two valid rule clauses can be formed in relation to these points, one of which is a conditional part DEF and the consequence part is G and the other 15 conditional part LEF and the consequence part J.
Sääntölausekkeiden muodostamisen aikana syntyneitä epäpäteviä sääntöjä ei kuitenkaan tuhota, koska niitä tarvitaan sekä seuraavassa selostettavaa sääntöpuuta muodostettaessa että käytettäessä sitä tuotettaessa uusia koo-20 deja koodisekvenssiin. Sen sijaan kukin muodostettu sääntö merkitään päteväksi tai epäpäteväksi edellä mainitulla ristiriitalipulla Z. Samalla tavoin etsitään jokaiselle esimerkkisekvenssissä olevalle koodille erikseen sääntö-lausekkeet. Näin muodostuu hakutaulukko, joka sisältää 25 päteviä ja epäpäteviä sääntölausekkeita, joiden ehto-osan pituus vaihtelee.However, invalid rules created during the generation of rule expressions are not destroyed because they are needed both when creating the rule tree described below and when using it to generate new codes for the code sequence. Instead, each generated rule is marked as valid or invalid by the aforementioned conflict flag Z. Similarly, rule expressions are searched separately for each code in the example sequence. This creates a Lookup Table that contains 25 valid and invalid rule expressions with varying lengths of conditionals.
Hakutaulukkoon tallennettujen sääntölausekkeiden informaatiorakennetta voidaan havainnollistaa kuvion 3 tapaisella graafisella esityksellä, joka liittää säännöt 30 toisiinsa. Jokaista tiettyä koodia varten (kuten F) on olemassa puu, jonka juuren muodostaa sääntölauseke, jossa ehto-osa sisältää vain tämän koodin. Jos esimerkkisekvensseissä oli ristiriitoja, tästä juuresta haarautuu ainakin kaksi haaraa, jotka johtavat solmuihin, joissa sääntölau-35 sekkeen ehto-osassa on koodin F lisäksi jokin muu koodi.The information structure of the rule expressions stored in the look-up table can be illustrated by a graphical representation similar to Fig. 3, which connects the rules 30 to each other. For each particular code (such as F), there is a tree rooted by a rule expression in which the condition part contains only this code. If there were conflicts in the example sequences, at least two branches branch from this root, leading to nodes with a code other than code F in the conditional part of rule rule 35.
1 846701 84670
Haarojen seurausosat on kirjoitettu haarojen viereen. Puun viimeiset solmupisteet, jotka edustavat lehtiä, vastaavat lopullisia päteviä sääntöjä, kun taas kaikki muut solmukohdat vastaavat epäpäteviä sääntöjä.The consequence sections of the branches are written next to the branches. The last nodes in the tree that represent the leaves correspond to the final valid rules, while all other nodes correspond to the invalid rules.
5 Seuraavaksi tarkastellaan uuden symbolin generoimis ta koodisekvenssiin. Oletetaan, että alkusekvenssi on CDEF. Uutta koodia etsittäessä käytetään hyväksi asteittaisesti kasvavaa avainsekvenssiä, joka on muodostettu alkusekvens-sin yhden tai useamman viimeksituotetun koodin perusteella. 10 Avainsekvenssin muodostaa aina aluksi alkusekvenssin viimeinen koodi, tässä tapauksessa F. Kun alkusekvenssiä nyt verrataan kuvion 2 hakutaulukkoon havaitaan, että tällaisen ehto-osan käsittävällä sääntölausekkeella on ristiriitali-pun tila 1, joten se on epäpätevä. Tämän jälkeen avainsek-15 venssin alkuun lisätään alkusekvenssistä viimeistä koodia F edeltävä koodi E, jolloin avainsekvenssi kasvaa kahden koodin mittaiseksi ja on EF. Kuvion 2 hakutaulukkoon verrattaessa tämäkin haku johtaa epäpätevään sääntöön. Tämän jälkeen avainsekvenssiin lisätään alkusekvenssin kolmannek-20 si viimeinen koodi eli D, jolloin avainsekvenssiksi muodostuu DEF. Tällä avainsekvenssillä suoritetulla haulla päädytään muistipaikassa 13 olevaan pätevään sääntöön, jolloin alkusekvenssin loppuun lisätään tämän säännön seurausosan osoittama koodi G. Tätä kasvatettua koodisekvenssiä käyte-25 tään nyt uutena alkusekvenssinä, jolloin uutta koodia generoitaessa ensimmäinen avainsekvenssi sisältää koodin G. Avainsekvenssin pituutta kasvatetaan jälleen kunnes löydetään pätevä sääntö.5 Next, consider generating a new symbol for the code sequence. Assume that the starting sequence is CDEF. When searching for a new code, a progressively increasing key sequence formed on the basis of one or more recently generated codes of the initial sequence is utilized. 10 The key sequence is always initially formed by the last code of the start sequence, in this case F. When the start sequence is now compared with the look-up table of Figure 2, it is found that a rule expression with such a condition has a conflicting state of 1, so it is invalid. Then, the code E preceding the last code F of the initial sequence is added to the beginning of the key sequence, whereby the key sequence increases to two codes in length and is EF. Comparing the look-up table in Figure 2, this look also results in an invalid rule. The last code of the third to the last sequence of the initial sequence, i.e. D, is then added to the key sequence, whereby the DEF is formed as the key sequence. This search with the key sequence results in a valid rule in memory location 13, in which case the code G indicated by the consequence of this rule is added to the end of the initial sequence. This incremental code sequence is now used as a new increment, the first key sequence containing the code G. rule.
Edellä selostettu perusmenetelmä johtaa helposti 30 koodisekvenssiin, joka muodostaa kopioita esimerkkimate-riaalin osista ja saattaa jopa alkaa toistaa itseään.The basic method described above easily results in a 30 code sequence that makes copies of parts of the example material and may even begin to reproduce itself.
Tämän vuoksi esillä olevan keksinnön ensisijaisessa suoritusmuodossa ei aina valitakaan uudeksi koodiksi löydetyn pätevän sääntölausekkeen osoittamaa koodia, vaan 35 käytetään eräänlaista satunnaisvalintaa, jossa vaihtelujen 8 84670 voimakkuutta voidaan säätää. Tällaista uusien, osittain satunnaisten sekvenssien generointia voidaan havainnollistaa äskeisen esimerkin ja kuvion 3 avulla. Oletetaan jälleen, että alkusekvenssi on CDEF, ja etsitään pätevä sään-5 tölauseke edellisen esimerkin mukaisesti. Tällöin etsintä alkaa kuvion 3 juuresta F ja seuraa haaroja kunnes vastaava lehti, tässä tapauksessa DEF, löytyy. Äskeisessä esimerkissä uudeksi koodiksi valittiin löydetyn lehden DEF osoittama koodi G. Reitillä juuresta lehteen on kuitenkin mah-10 dollisesti useita solmuja, joissa on erilaisia vaihtoehtoisia uusia koodeja antavia epäpäteviä lausekkeita. Esillä olevassa menetelmässä viimeistä avainsekvenssiä, joka johti pätevän sääntölausekkeen löytymiseen, lyhennetään satunnaisesti enintään ennalta määrätyn koodimäärän verran ja 15 uudeksi koodiksi valitaan satunnaisesti jokin epäpätevä sääntölauseke, jonka ehto-osa vastaa tätä lyhennettyä avainsekvenssiä. Toisin sanoen palataan satunnaisesti, korkeintaan rajoitettu määrä askelia sääntöpuun lehdestä takaisinpäin. Tällä tavoin aikaansaadaan tuotettuun koodi-20 sekvenssiin satunnaisuutta, joka esimerkiksi nuottikoodi- sekvenssin tapauksessa johtaa vaihtelevuuteen ja yllättäviin muutoksiin tuotetussa musiikissa mutta noudattaa vielä tiettyä säännönmukaisuutta.Therefore, in the preferred embodiment of the present invention, the code indicated by the valid rule expression found is not always selected as the new code, but a kind of random selection is used in which the intensity of the variations 8,84670 can be adjusted. Such generation of new, partially random sequences can be illustrated by the recent example and Figure 3. Assume again that the initial sequence is CDEF, and search for a valid rule-5 expression according to the previous example. In this case, the search begins at the root F of Figure 3 and follows the branches until a corresponding leaf, in this case DEF, is found. In a recent example, the code G indicated by the found leaf DEF was selected as the new code. However, there are possibly several nodes in the route from root to leaf with different invalid expressions giving alternative new codes. In the present method, the last key sequence that resulted in finding a valid rule expression is randomly truncated by up to a predetermined number of codes, and an invalid rule expression whose conditional part corresponds to this truncated key sequence is randomly selected as the 15 new codes. In other words, we return randomly, at most a limited number of steps back from the rule tree leaf. In this way, randomness is provided in the generated code-20 sequence, which, for example in the case of a note code sequence, leads to variability and surprising changes in the music produced, but still follows a certain regularity.
Edellä keksinnön ensisijaisessa suoritusmuodossa 25 sekä avainsekvenssi että sääntölausekkeiden ehto-osat muo dostuivat pelkästään peruskoodeista. Vaikka tällaista menetelmää nuottikoodisekvenssien tuottamiseen käytettäessä tuotettu musiikki antaa tunteen musiikillisesta jatkuvuudesta, tyypillisessä länsimaisessa musiikissa suositaan 30 harmonisesti vieläkin säännöllisempiä melodisia kehitelmiä.In the above preferred embodiment 25 of the invention, both the key sequence and the conditional parts of the rule expressions consisted of basic codes only. While the music produced using such a method to produce note code sequences gives a sense of musical continuity, even more harmoniously more regular melodic developments are favored in typical Western music.
Tämä päämäärä saavutetaan esimerkiksi keksinnön toisella suoritusmuodolla, jossa esimerkiksi vain kaksi viimeistä symbolia avainsekvenssissä ja sääntölausekkeen ehto-osassa muodostuu absoluuttisista koodeista ja niitä 35 edeltävät symbolit edustavat korkeamman tason informaa- 9 84670 tiota, joista kukin kuvaa erilaista kahden tai useamman koodin ryhmän muodostamaa yhdistelmää. Musiikkitermein ilmaistuna korkeamman tason symbolit voivat edustaa esimerkiksi melodiasekvenssejä parhaiten kuvaavia sointuja, 5 jotka edellisten tahtien, puolitahtien, neljännestahtien, jne. nuotit muodostavat ja joissa yhdistelmään kuuluvien nuottien järjestys voi olla mielivaltainen. Musiikkiopil-listen sointujen asemesta voidaan käyttää myös muita esi-merkkimateriaalissa esiintyviä nuottikombinaatioiden (his-10 togrammien) kasautumia. Tässä toisessa suoritusmuodossa muodostetaan sääntölausekkeen ehto-osa esimerkiksi kahdesta viimeisestä nuottikoodista kuten edellä selostettiin, mutta niitä edeltävää esimerkkisekvenssiä tarkastellaan kahden tai useamman koodin ryhmissä, joita verrataan ennalta ποιοι 5 dostettuun korkeamman tason symboleiden kirjastoon, ja kun jokin koodiyhdistelmä tunnistetaan joksikin tietyksi symboliksi, tämä symboli sijoitetaan sääntölausekkeen ehto-osaan kahden ensimmäisen koodin vasemmalle puolelle. Samalla tavalla voidaan jatkaa korkeamman tason symbolien lisää-20 mistä ehto-osan vasempaan päähän. Sääntölausekkeissa voi olla siis yksi tai useampi tällainen korkean tason symboli tai ei yhtään. Koska melodiassa voi olla sointuun tai kasautumia vastaaviin histogrammeihin kuulumattomia nuotteja, symbolien tunnistamisen lyhyestä koodijonosta täytyy 25 perustua likimääräisiin kuviontunnistustekniikkoihin.This object is achieved, for example, by another embodiment of the invention, in which, for example, only the last two symbols in the key sequence and the conditional part of the rule expression consist of absolute codes and the preceding symbols represent higher level information, each representing a different combination of two or more code groups. Expressed in musical terms, higher level symbols may represent, for example, the chords that best describe melody sequences, 5 formed by notes of previous beats, half beats, quarter beats, etc., and in which the order of the notes in the combination may be arbitrary. Instead of musical chords, other accumulations of note combinations (his-10 tograms) present in the example material can also be used. In this second embodiment, a conditional part of a rule expression is formed from, for example, the last two note codes as described above, but the preceding example sequence is considered in groups of two or more codes compared to a pre-dated higher level symbol library, and when a code combination is identified as a symbol to the conditional part of the rule expression to the left of the first two codes. In the same way, higher-level symbols can be extended from the 20th to the left end of the conditional part. Thus, rule expressions may have one or more such high-level symbols or none at all. Because a melody may contain notes that do not belong to chord or accumulation histograms, the identification of symbols from a short code string must be based on approximate pattern recognition techniques.
Uuden koodisekvenssin muodostaminen näiden sääntö-lausekkeiden avulla tapahtuu siten, että esimerkiksi avain-sekvenssien kaksi lyhintä muotoa muodostetaan kuten edellä, ja avainsekvenssien seuraavat muodot muodostetaan tunnis-30 tamalla alkusekvenssissä aikaisempana olevien koodien kahden tai useamman koodin ryhmissä muodostamat yhdistelmät ja korvaamalla ne avainsekvenssissä niitä tai niitä lähinnä olevia yhdistelmiä vastaavilla korkeamman tason symboleilla.The generation of a new code sequence by these rule expressions takes place, for example, by generating the two shortest forms of key sequences as above, and subsequent forms of key sequences by recognizing combinations of two or more codes in the initial sequence and replacing them in the key sequence. with higher level symbols corresponding to the closest combinations.
35 Myös tässä suoritusmuodossa voidaan käyttää edellä 10 84670 mainittua satunnaisvalintaa.Also in this embodiment, the random selection mentioned above 10,84670 can be used.
Kun edellä esitetyllä menetelmällä tuotetaan moniäänistä musiikkia, muodostetaan ensin edellä mainitulla tavalla ensimmäistä hakutaulukkoa käyttäen ensimmäinen 5 nuottikoodisekvenssi, joka vastaa pää-ääntä tai -melodiaa, ja tämän jälkeen muodostetaan tätä ensimmäistä nuottikoodi-sekvenssiä alkusekvenssinä käyttäen yhden tai useamman lisähakutaulukon avulla vastaavasti yksi tai useampi lisä-koodisekvenssi, joista kukin vastaa yhtä säestävää ääntä. 10 Edellä mainitut lisähakutaulukot sisältävät omat sääntö-lausekkeet kullekin säestävälle äänelle.When producing polyphonic music by the above method, a first note code sequence corresponding to the main sound or melody is first formed using the first look-up table as above, and then one or more additional look-up sequences are formed using this first note code sequence as the start sequence. code sequence, each corresponding to one accompanying sound. 10 The additional look-up tables mentioned above contain their own rule expressions for each accompanying voice.
Keksinnön mukainen menetelmä on erityisesti tarkoitettu digitaalisessa muodossa olevan nuottikoodi-informaa-tion tuottamiseksi elektronisten musiikki-instrumenttien 15 tai -syntetisaattorien tai vastaavien laitteiden ohjaamista varten. Tuotetuista nuottikoodeista voidaan muodostaa MIDI-standardin mukaisia ohjaussignaaleja, jotka syötetään edellä mainituille laitteille. MIDI on lyhennys sanoista Musical Instrument Digital Interface ja tarkoittaa standardi-20 liityntää, jonka kautta esim. syntetisaattorit, rytmiko-neet, tietokoneet, jne. voidaan liittää toisiinsa. Tietoa MIDI-standardista saa esimerkiksi seuraavasta julkaisuista: [2] MIDI 1.0 specification, Document No. MIDI-1.0, elokuu 1983, International MIDI Association.The method according to the invention is in particular intended for producing note code information in digital form for controlling electronic musical instruments 15 or synthesizers or similar devices. The generated note codes can be formed into control signals according to the MIDI standard, which are fed to the above-mentioned devices. MIDI stands for Musical Instrument Digital Interface and means a standard-20 interface through which, for example, synthesizers, rhythm machines, computers, etc. can be connected to each other. Information on the MIDI standard can be found, for example, in the following publications: [2] MIDI 1.0 Specification, Document No. MIDI-1.0, August 1983, International MIDI Association.
25 Kuviot ja niihin liittyvä selitys on tarkoitettu vain havainnollistamaan esillä olevaa keksintöä. Yksityiskohdiltaan keksinnön mukainen menetelmä voi vaihdella oheisten patenttivaatimusten puitteissa.The figures and the related description are only intended to illustrate the present invention. The details of the method according to the invention may vary within the scope of the appended claims.
Claims (8)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI892764A FI84670C (en) | 1989-06-06 | 1989-06-06 | FOERFARANDE FOER BILDANDE AV DIGITALKODSEKVENS, SAERSKILT EN NOTKODSEKVENS. |
PCT/FI1990/000151 WO1990015405A1 (en) | 1989-06-06 | 1990-06-05 | Method for producing a code sequence, particularly a note code sequence |
AU56739/90A AU5673990A (en) | 1989-06-06 | 1990-06-05 | Method for producing a code sequence, particularly a note code sequence |
JP50796690A JP3290652B2 (en) | 1989-06-06 | 1990-06-05 | How to make coding sequences, especially note coding sequences |
US08/042,009 US5418323A (en) | 1989-06-06 | 1993-04-02 | Method for controlling an electronic musical device by utilizing search arguments and rules to generate digital code sequences |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI892764 | 1989-06-06 | ||
FI892764A FI84670C (en) | 1989-06-06 | 1989-06-06 | FOERFARANDE FOER BILDANDE AV DIGITALKODSEKVENS, SAERSKILT EN NOTKODSEKVENS. |
Publications (4)
Publication Number | Publication Date |
---|---|
FI892764A0 FI892764A0 (en) | 1989-06-06 |
FI892764A FI892764A (en) | 1990-12-07 |
FI84670B FI84670B (en) | 1991-09-13 |
FI84670C true FI84670C (en) | 1991-12-27 |
Family
ID=8528579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI892764A FI84670C (en) | 1989-06-06 | 1989-06-06 | FOERFARANDE FOER BILDANDE AV DIGITALKODSEKVENS, SAERSKILT EN NOTKODSEKVENS. |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP3290652B2 (en) |
AU (1) | AU5673990A (en) |
FI (1) | FI84670C (en) |
WO (1) | WO1990015405A1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2026223B (en) * | 1978-07-11 | 1982-10-27 | Suwa Seikosha Kk | Electronic tone generator |
US4375177A (en) * | 1981-04-13 | 1983-03-01 | John Larson | Automatic electronic musical instrument |
JPS587193A (en) * | 1981-07-06 | 1983-01-14 | ヤマハ株式会社 | Electronic musical instrument |
JPS59125786A (en) * | 1982-12-24 | 1984-07-20 | カシオ計算機株式会社 | Automatic performer |
US4777857A (en) * | 1987-03-10 | 1988-10-18 | Stewart Benjamin U | MIDI address converter and router |
-
1989
- 1989-06-06 FI FI892764A patent/FI84670C/en not_active IP Right Cessation
-
1990
- 1990-06-05 AU AU56739/90A patent/AU5673990A/en not_active Abandoned
- 1990-06-05 WO PCT/FI1990/000151 patent/WO1990015405A1/en unknown
- 1990-06-05 JP JP50796690A patent/JP3290652B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
AU5673990A (en) | 1991-01-07 |
FI892764A0 (en) | 1989-06-06 |
WO1990015405A1 (en) | 1990-12-13 |
FI892764A (en) | 1990-12-07 |
JPH04505970A (en) | 1992-10-15 |
FI84670B (en) | 1991-09-13 |
JP3290652B2 (en) | 2002-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7696426B2 (en) | Recombinant music composition algorithm and method of using the same | |
Assayag et al. | Guessing the composer's mind: Applying universal prediction to musical style | |
Cope | Experiments in musical intelligence (EMI): Non‐linear linguistic‐based composition | |
US6297439B1 (en) | System and method for automatic music generation using a neural network architecture | |
Moore | The so-called ‘flattened seventh’in rock | |
CN112435642B (en) | Melody MIDI accompaniment generation method based on deep neural network | |
US5418323A (en) | Method for controlling an electronic musical device by utilizing search arguments and rules to generate digital code sequences | |
KR100512143B1 (en) | Method and apparatus for searching of musical data based on melody | |
Cruz-Alcázar et al. | Learning regular grammars to model musical style: Comparing different coding schemes | |
US6313390B1 (en) | Method for automatically controlling electronic musical devices by means of real-time construction and search of a multi-level data structure | |
Pérez-Sancho et al. | Genre classification of music by tonal harmony | |
FI84670C (en) | FOERFARANDE FOER BILDANDE AV DIGITALKODSEKVENS, SAERSKILT EN NOTKODSEKVENS. | |
Kohonen et al. | A nonheuristic automatic composing method | |
Reenan et al. | Types and applications of p 3, 0 seventh-chord transformations in late nineteenth-century music | |
CN113140202B (en) | Information processing method, information processing device, electronic equipment and storage medium | |
Levitt | A representation for musical dialects | |
Child | Voice-Leading Patterns and Interval Collections in Late Shostakovich: Symphony No. 15 | |
López et al. | Harmonic reductions as a strategy for creative data augmentation | |
Wen et al. | Music main melody extraction by an interval pattern recognition algorithm | |
Cruz-Alcazar et al. | A study of grammatical inference algorithms in automatic music composition and musical style recognition | |
Utz | Is There Noise in Helmut Lachenmann's Music?: Temporal Form and Moments of Presence in the String Quartet Gran Torso | |
AU747557B2 (en) | System and method for automatic music generation | |
JP3225935B2 (en) | Automatic fingering device and storage medium | |
Reale | The process of multivalent thematic transformation | |
Hendriks | A Style Discussion of the Magic Marimba by Hans Roosenschoon/Portfolio of Musics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM | Patent lapsed | ||
MM | Patent lapsed |
Owner name: KOHONEN, TEUVO |