FI84670C - FOERFARANDE FOER BILDANDE AV DIGITALKODSEKVENS, SAERSKILT EN NOTKODSEKVENS. - Google Patents

FOERFARANDE FOER BILDANDE AV DIGITALKODSEKVENS, SAERSKILT EN NOTKODSEKVENS. Download PDF

Info

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
Application number
FI892764A
Other languages
Finnish (fi)
Swedish (sv)
Other versions
FI892764A0 (en
FI892764A (en
FI84670B (en
Inventor
Teuvo Kohonen
Original Assignee
Teuvo Kohonen
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Teuvo Kohonen filed Critical Teuvo Kohonen
Priority to FI892764A priority Critical patent/FI84670C/en
Publication of FI892764A0 publication Critical patent/FI892764A0/en
Priority to PCT/FI1990/000151 priority patent/WO1990015405A1/en
Priority to AU56739/90A priority patent/AU5673990A/en
Priority to JP50796690A priority patent/JP3290652B2/en
Publication of FI892764A publication Critical patent/FI892764A/en
Application granted granted Critical
Publication of FI84670B publication Critical patent/FI84670B/en
Publication of FI84670C publication Critical patent/FI84670C/en
Priority to US08/042,009 priority patent/US5418323A/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • G10H1/0025Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects 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/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/111Automatic composing, i.e. using predefined musical rules
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects 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/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/145Composing rules, e.g. harmonic or musical rules, for use in automatic composition; Rule generation algorithms therefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/005Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
    • G10H2250/015Markov 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)

11 8467011 84670 1. Menetelmä digitaalisen koodisekvenssin, erityisesti nuottikoodisekvenssin muodostamiseksi äärellisestä 5 määrästä erilaisia koodityyppejä, joista kukin edustaa esimerkiksi tietyn nuotin yhtä tai useampaa kvantisoitua ominaisuutta, jossa menetelmässä koodisekvenssin perään generoidaan yksi kerrallaan uusia koodeja sekvenssissä jo olevien koodien perusteella, tunnettu siitä, että 10 jokaisen uuden koodin generoiminen käsittää ainakin seu-raavat vaiheet: a) koodisekvenssin viimeksi tuotettujen koodien perusteella muodostetaan joukko pituudeltaan asteittaisesti kasvavia avainsekvenssejä siten, että ensimmäinen ja lyhin 15 avainsekvenssi muodostetaan koodisekvenssin viimeksi tuotetun koodin perusteella, ja sitä seuraavat yhden tai useamman koodin askelin kasvavan viimeksi tuotettujen koodien määrän perusteella, b) avainsekvenssejä muodostettaessa niitä verrataan 20 hakutaulukkoon, joka sisältää päteviä sääntölausekkeita, joilla kullakin on erilainen ehto-osa, sekä epäpäteviä sääntölausekkeita, joissa kulloinkin ainakin kahdella sään-tölausekkeella on sama ehto-osa mutta eri seurausosa, kunnes löydetään ainakin likimääräinen yhdenmukaisuus avain-25 sekvenssin ja jonkun pätevän sääntölausekkeen ehto-osan välillä, ja c) valitaan uudeksi koodiksi löydetyn pätevän sääntölausekkeen seurausosan osoittama koodi tai lopullista avainsekvenssiä enintään ennalta määrätyn koodimäärän ver- 30 ran lyhyemmän avainsekvenssin kanssa ainakin likimäärin yhdenmukaisen ehto-osan käsittävien epäpätevien sääntölau-sekkeiden joukosta satunnaisesti valitun sääntölausekkeen seurausosan osoittama koodi.A method for generating a digital code sequence, in particular a note code sequence, from a finite number of different code types, each representing, for example, one or more quantized properties of a particular note, the code sequence generating one code at a time based on the codes already in the sequence. the generation comprises at least the following steps: a) generating a set of progressively increasing key sequences based on the last generated codes of the code sequence such that the first and shortest 15 key sequences are generated based on the last generated code of the code sequence, followed by one or more code steps increasing , (b) when generating key sequences, they are compared with 20 look-up tables containing valid rule expressions, each with a different law and at least two rule clauses, each with at least two rule clauses having the same condition but a different consequence, until at least an approximate match is found between the key-25 sequence and the condition part of a valid rule expression, and (c) the new code is selected as the new code. the code indicated by the consequence of the valid rule expression, or the code indicated by the consequence of the rule expression randomly selected from among the invalid rule clauses comprising a condition at least approximately equal to the condition of the final key sequence by at least a predetermined code number shorter. 2. Patenttivaatimuksen 1 mukainen menetelmä, t u n-35 n e t t u siitä, että avainsekvenssinä käytetään suoraan i2 84670 koodisekvenssin koodeja aloittaen avainsekvenssillä, jossa on koodisekvenssin viimeksi tuotettu koodi, ja lisäten avainsekvenssin eteen yksi kerrallaan koodisekvenssissä aikaisempana olevia koodeja kunnes löydetään vastaavuus 5 jonkin pätevän sääntölausekkeen ehto-osan ja avainsekvenssin välillä.A method according to claim 1, characterized in that the codes of the i2 84670 code sequence are used directly as the key sequence, starting with the key sequence with the last generated code of the code sequence and adding one code at a time before the code sequence until a match 5 is found. between the part and the key sequence. 3. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että avainsekvenssin ensimmäinen ja lyhin muoto muodostetaan koodisekvenssin viimeisen koodin perus- 10 teella, mahdolliset seuraavat avainsekvenssin muodot kahden tai useamman viimeisen koodin perusteella ja kaikki sitä seuraavat muodot lisäämällä edellisten koodisekvenssien eteen asteittain korkeamman tason symboleja, jotka muodostetaan tunnistamalla koodisekvenssissä aikaisempina olevien 15 koodien kahden tai useamman koodin ryhmissä muodostamat yhdistelmät ja korvaamalla ne avainsekvenssissä niitä vastaavilla ja niitä lähinnä olevia yhdistelmiä vastaavilla, ennalta määrätyillä korkeamman tason symboleilla, ja että ainakin osassa sääntölausekkeita hakuosa muodostuu yhdestä 20 tai useammasta kooditermistä ja yhdestä tai useammasta korkeamman asteen symbolitermistä.A method according to claim 1, characterized in that the first and shortest forms of the key sequence are formed on the basis of the last code of the code sequence, possible subsequent key sequence forms based on two or more last codes and all subsequent forms by gradually adding higher level symbols in front of the previous code sequences. is formed by identifying combinations of two or more codes in the code sequence earlier in the code sequence and replacing them in the key sequence with corresponding, proximal combinations corresponding to the closest symbols, and that in at least some of the rule expressions the search portion consists of one or more code terms; degree symbolic term. 4. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että kukin korkeamman tason symboli edustaa tahdin osassa, yhdessä tahdissa tai useammassa tahdissa 25 esiintyvien nuottien muodostamaa sointua tai tällaisten sointujen muodostamia sekvenssejä.A method according to claim 3, characterized in that each higher level symbol represents a chord formed by notes occurring in a part of a beat, in one beat or in several beats, or sequences formed by such chords. 5. Patenttivaatimuksen 3 tai 4 mukainen menetelmä, tunnettu siitä, että koodiyhdistelmien tunnistaminen tietyiksi korkeamman tason symboleiksi suoritetaan 30 tilastollisella kasautus- tai muulla tilastollisella approksimoivalla hahmontunnistusmenetelmällä.Method according to claim 3 or 4, characterized in that the identification of the code combinations as certain higher level symbols is performed by a statistical stacking or other statistical approximation pattern recognition method. 6. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, tunnettu siitä, että generoidaan ainakin yksi lisäkoodisekvenssi, esim. melodiaa säestävää ääntä 35 edustava nuottikoodisekvenssi, käyttäen ensimmäisen koodi- 13 84670 sekvenssin koodien perusteella muodostettua, asteittain kasvavaa avainsekvenssiä ja ainakin yhtä lisähakutaulukkoa.Method according to one of the preceding claims, characterized in that at least one additional code sequence, e.g. a note code sequence representing a melody accompaniment 35, is generated using a progressively increasing key sequence formed on the basis of the codes of the first code 13464670 and at least one additional look-up table. 7. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, tunnettu siitä, että jos koodisekvenssiä 5 tai lisäkoodisekvenssiä generoitaessa ei voida muodostaa avainsekvenssiä, joka vastaisi jonkin pätevän sääntölau-sekkeen ehto-osaa hakutaulukossa tai lisähakutaulukossa, ensimmäisestä koodisekvenssistä poistetaan satunnainen määrä tätä tilannetta edeltäviä koodeja ja koodisekvenssin 10 generointia jatketaan jäljelle jääneiden koodien perusteella.Method according to one of the preceding claims, characterized in that if a key sequence corresponding to a conditional part of a valid rule expression in a look-up table or a look-up table cannot be generated when generating code sequence 5 or additional code sequence, a random number of pre-generating codes 10 are removed from the first code sequence continue on the basis of the remaining codes. 8. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, tunnettu siitä, että koodisekvensseistä muodostetaan MIDI-standardin mukaiset ohjaussignaalit elek- 15 ironisten musiikki-instrumenttien tai -syntetisaattoreiden ohjaamiseksi. 14 84670Method according to one of the preceding claims, characterized in that control sequences in accordance with the MIDI standard for controlling electronic musical instruments or synthesizers are formed from the code sequences. 14 84670
FI892764A 1989-06-06 1989-06-06 FOERFARANDE FOER BILDANDE AV DIGITALKODSEKVENS, SAERSKILT EN NOTKODSEKVENS. FI84670C (en)

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)

* Cited by examiner, † Cited by third party
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

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