SE527425C2 - Förfarande och anordning för musikalisk avbildning av en extern process - Google Patents

Förfarande och anordning för musikalisk avbildning av en extern process

Info

Publication number
SE527425C2
SE527425C2 SE0401804A SE0401804A SE527425C2 SE 527425 C2 SE527425 C2 SE 527425C2 SE 0401804 A SE0401804 A SE 0401804A SE 0401804 A SE0401804 A SE 0401804A SE 527425 C2 SE527425 C2 SE 527425C2
Authority
SE
Sweden
Prior art keywords
generator
values
music
generated
parts
Prior art date
Application number
SE0401804A
Other languages
English (en)
Other versions
SE0401804D0 (sv
SE0401804L (sv
Inventor
Jonas Edlund
Original Assignee
Jonas Edlund
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 Jonas Edlund filed Critical Jonas Edlund
Priority to SE0401804A priority Critical patent/SE527425C2/sv
Publication of SE0401804D0 publication Critical patent/SE0401804D0/sv
Priority to JP2007520255A priority patent/JP2008506150A/ja
Priority to PCT/SE2005/000879 priority patent/WO2006006901A1/en
Priority to EP05752117A priority patent/EP1766606A1/en
Priority to US11/628,741 priority patent/US20080156176A1/en
Publication of SE0401804L publication Critical patent/SE0401804L/sv
Publication of SE527425C2 publication Critical patent/SE527425C2/sv

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
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/38Chord
    • 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/021Background music, e.g. for video sequences, elevator music
    • G10H2210/026Background music, e.g. for video sequences, elevator music for games, e.g. videogames
    • 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/131Morphing, i.e. transformation of a musical piece into a new different one, e.g. remix

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

20 25 30 35 527 422% 2 o on A o o o: I ll ot av melodisk gestik och harmonik.
Sammanfattning av uppfinningen En kontinuerlig musikalisk förändring innebär att ett musikaliskt uttryck successivt övergår i ett annat. Med föreliggande uppfinning kan en (dataspels-) tonsättare eller tonsättare för en annan process innefattande musik ange hur musiken skall låta dels i början av förändringen, dels i slutet. Föreliggande uppfinning interpolerar sedan fram en musikalisk övergång mellan dessa två uttryck när förändringen i t ex ett spel åstadkommas.
Klang, dynamik, melodisk gestik, artikulation, dissonansbehandling, harrnonik, tempo, agogik etc. förändras successivt från det ena uttrycket till det andra. Föreliggande uppfinning kan pà detta sätt flyta mellan ett godtyckligt antal musikaliska uttryck och generera ett ständigt föränderligt musikaliskt flöde. Flera samtidiga och av varandra oberoende kontinuerliga eller diskreta förändringar i den tonsatta processen kan gestaltas musikaliskt som samtidiga. kontinuerliga eller diskreta förändringar i flera av varandra oberoende musikaliska dimensioner. I Föreliggande uppfinning hänför sig till ett förfarande för musikalisk avbildning av en extern process genom en uppsättning dynamiska vikter som avbildar den extema processens tillstånd, med användande av material från åtminstone två musikteman. Temana består av åtminstone en indatastämma och tilldelas en av nämnda dynamiska vikter och musikaliskt material från ett musiktema används mer ju högre temats vikts andel är av summan av samtliga musiktemans vikter. Det finns ett gränssnitt för överföring av musikgeneratoremas genererade musik till en musikuppspelningsanordning.
Ytterligare innefattar förfarandet: musikgeneratorer för olika slämtyper som genererar musik av material från indatastämmor av musikgeneratoremas respektive stäfmtyper från musikteman som har ' stämmor av en generators specifika stämtyp; beskrivning av stämmoma i musiktemana och de av generatorema genererade "stämmoma som ordnade följder av sektorer där varje sektor har en utsträckning i tiden och varje sektors sluttid är identisk med efterföljande sektors starttid, varvid varje sektor innehåller en uppsättning värden som beskriver stämmans egenskaper mellan sektoms starttid och sluttid i ett antal musikaliska dimensioner och där typema på dessa värden är olika för olika stámtyper; bestämning av värden för en ny sektor i en av en generator genererad stämma avseende den genererade stämmans egenskaper i den nya sektom, varvid värden för den nya sektom bestäms ur värden valda ur åtminstone en uppsättning länkade värden erhållna ur indatastämmor, genom jämförelse av värden ide senast genererade sektorema i den genererade stämman med värden för stämmor innefattade i uppsättningen av länkade K:\Pafent\110-\1 10108200\P1 101 082001106 10 15 20 25 30 35 f; f1 n n r- ...v 4.. I 4 Å. O :N. :ce.: O n. z .ou. un: 'uno .oo. š-fš .:2. .lå šhš-.š 3 z' .š 2.". 3 värden, varvid värden väljs som bäst motsvarar de värden som föregående genererade sektorer innefattade i enlighet med ett av en uppsättning förutbestämda kriteria; och beräkning av värden för ny sektor i den genererade stämman utifrân nämnda valda värden och respektive indatastämmas temas dynamiska vikt i aktuellt tillstànd och överföring av beräknade värden till nämnda gränssnitt. l en utföringsform av uppfinningen åstadkommes generering av musikmaterial via nämnda generatorer genom en för varje stämtyp förutbestämd sekvens av beräkningar för fastställande av den genererade stämmans egenskaper. varvid nämnda sekvenser genomlöps av generatorn i en följd av starttidpunkter; tillordning av cykelsignaturer till varje indatastämma i varje musiktema, en för var och en av nämnda beräkningar, där varje cykelsignatur består av ett antal heltal, varvid det största heltalet är ett mått pà en stämmas längd och varvid alla heltal i cykelsignaturen delar alla större heltal i cykelsignaturen; bildandet av en stegcykel för åtminstone en generator, varvid stegcykeln är den största gemensamma delaren av alla heltal ialla cykelsignaturer som hör till de stämmori musiktemana som hör till en generator; bildandet av en mängd heltal för åtminstone en generator, genom starttidpunkterna för sektorer i en stämma som hör till en generator och genom generatoms stegcykel via en första förutbestämd formel för beräkning av nämnda heltal; bildandet av en uppsättning av starttidpunkter för åtminstone en generator, genom en andra förutbestämd formel för beräkning av heltal. som innefattar elementen fràn nämnda mängd heltal under användning av generatorns stegcykel; delning av alla sektorer, för varje generator, i alla de indatastämmori musiktemana som hör till generatorn ialla resultat av beräkningar för nämnda andra formel, _ som är mindre än stämmans längd så att varje delad sektor bildar två på varandra följande sektorer och varvid alla sektorer beskriver stämmans egenskaper mellan sektoms start och sluttid; och bestämning av startid för nästa av generatom genererade sektor till det lägsta beräknade resultatet i den andra formeln igeneratorns uppsättning av samtliga resultat av beräkningar med nämnda andra formel som är större än senaste genererade sektors starttid och uppräkning av starttidpunkt för alla indatastämmor som hör till generatom med skillnaden av denna gen eratoms nya starttid och dess senaste, och anpassning av aktuell starttidpunkt för en indatastämma till ny starttidpunkt genom jämförelse av en gene rerad stämma och en stämma som hör till indatastämmans tema om den genom jämförelsen givna starttidpunkten uppfyller någon av en uppsättning förutbestämda kriteria.
En annan utföringsform avser bestämning av en tidpunkt för ljudande toners bortlyftande i en genererad stämma med beräkning omfattande värden från en sektor i en KI\Patent\110-\110108200\P1 10108200.d0c 10 15 20 25 30 35 r' n f; p n j; Q .f [l _ :J _" ra: Ö nu u. u.. n. u. .w a- :än 1 I I n o o; a u n 4 indatastämma avseende kvoten mellan avståndet mellan tidpunkt för föregående ansättning av toner och tidpunkt för toners bortlyftande och avståndet mellan tidpunkt för föregående ansättning av toner och tidpunkt för efterföljande ansättning av toner, eller denna kvots invers.
Ytterligare en utföringsfonn anger att indata vid föreliggande uppfinnings lnitiering eller uppstart innefattar: ett förutbestämt antal musikaliska teman T: (tr, t2, ..., th), varvid temana innefattar musikalisk information i form av noter eller motsvarande samt information om hur notema skall tolkas, benämnd konfigureringsinforrnation; en uppsättning dynamiska vikter S:{s1, sz, sm}; en tilldelning T -> S sà att varje t tilldelas ett och endast ett s, varvid ett och samma s kan tilldelas flera t; och att under exekvering värdena på de dynamska vikterna S är möjliga att avläsa.
En ytterligare utföringsform anger att ett tema innehåller flera stämmor av samma typ, varvid om det största antalet stämmor av en förutbestämd typ i något tema är n, innefattas n generatorer av nämnda förutbestämda typ.
Vidare innefattar en utföringsfonn att länkade värden innefattas i suffixträd (60). Ännu en utföringsfonn anger att för att hitta rätt material i indatastämmor använder generatorema en ny princip som benämns partiell svanslikhet hos flerdimensionella strängar. l ännu en utföringsfonn är förfarandet implementerat i form av ett datorprogram, varvid programmet innehåller ett flertal klasser, varav de flesta representerar olika musikaliska egenskaper, varvid de viktigaste klassema som bär upp programmets infrastruktur är att: _ StateManager ansvarar för de dynamiska viktema och tilldelningen av viktema på teman, varvid vid musikgenerering stateManager avbildar nämnda process tillstånd (12) på viktema; ThemeManager läser in teman (20) från en fil och associerar varje tema (20) med en dynamisk vikt enligt instruktioner från StateManager; Producer åstadkommer genereringen av musikaliskt material och styr generatorerna; Generators av olika typer hämtar information fràn stämmor i ett eller flera teman (20) och åstadkommer representationer av dess stämmor och genererar musik pà kommando av Producer via en metod generateUntil tidpunkt t, varvid en generator genererar information avseende åtminstone en av när toner börjar och slutar, hur starka olika klangfärger är i förhållande till varandra, volym och tempo, eller styr efterbearbetning av den syntetiskt alstrade akustiska signalen med hjälp av reverb och/eller kompression via K.'\Patent\110-\110108200\P1 10108200.d0c 10 15 20 25 30 35 5 meddelanden till en Sequencer, varvid varje generator Skriver det genererade materialet till Sequencer; Sequencer mottar musikalisk information fràn generatorema och spelar upp den på nämnda musikuppspelningsanordning ienlighet med dess tidstämplar, varvid tidstämplarna är uttryckta i musikalisk tid, där Sequencer även beaktar tempo. l en annan utföringsform är en fönitbestämd del av stämtyper överordnade andra pà så sätt att värden i överordnad typ påverkar värden i underordnad typ. Ännu ytterligare en utföringsform angeratt alla relationer mellan stämmor i över- och underordnade stämtyper bildar ett träd där alla bam är underordnade sina föräldrar. varvid stämtypen i roten inte är underordnad någon annan stämtyp, varvid. stämtypen benämns primär. j En ytterligare utföringsform innefattar att det för varje beräkning som innebär att värdet för en dimension fastställes utan en trivial uppdatering från en eller flera andra dimensioner finns en jämförelsesträng och en cykelsignatur och ett minimalt djup, varvid jämförelsesträngen stipulerar vilka dimensioner i vilka sektorer och i vilken ordning som skall jämföras, och varvid en generator vid sådana beräkningar åstadkommer hänsyn till värden från en indatastämma om: indatastämmans tema har en dynamisk vikt större än noll; och det är möjligt att finna svanslikhet av minst minimalt djup mellan den nyligen genererade stämman och indatastämman enligt den jämförelsesträng som hör till aktuell beräkning och vid den position som ges av indatastämmans aktuella starttidpunkt.
En utföringsform anger att om tillräcklig svanslikhet inte existerar vid en stämmas aktuella starttidpunkt sökes likhet vid en liknande starttidpunkt, enligt den aktuella cykelsignaturen . i Nya, genererade värden för olika dimensioner beräknas i en utföringsfonn antingen genom val eller genom interpolation, varvid val innebär att generatom väljer ett av de altemativ som erbjuds av de indatastämmor som kan uppvisa tillräcklig svanslikhet, varvid 'det valda altemativet är antingen det med högst vikt eller också åstadkommas ett slumpmässigt val mellan flera altemativ med hänsyn till altemativens vikter så att tyngre altemativ har större chans att bli valda.
Vid interpolation i en annan utföringsform av föreliggande uppfinning vägs en eller flera stämmors olika värden samman. Hänsyn tas till stämmomas dynamiska vikter, men även till den frekvens med vilken ett visst värde förekommer vid den givna hlstoriesträngen, där olika värden kan existera vid samma jämförelsesträng och djup eftersom flera tidpunkter kan vara snarlika varandra.
Sökning över största cykel till ett visst djup d enligt en utförlngsforrn av föreliggande uppfinning innebär att svanslikhet krävs till djupet d för aktuell tidpunkt sNu K:\Patent\110-\1 10108200\P1 101082001101: :0 I 0 I 0000 0 0 I 0 00 10 15 20 25 30 35 (51 6 (mod n), där n är måttet pà en stämmas hela längd, och inte på kortare cykler. Strängheten i kravet kan i en utföringsform sänkas i olika ordning, varvid svanslikhet söks med krav på stort djup men vid allt mindre lika tidpunkter eller med allt mindre krav på djup men i första hand mera lika tidpunkter.
Det àstadkommes i en annan utföringsfonn urskiljning av olika strategier iden meningen att material hittas frán en eller ett fåtal stämmor eller att det strävas efter att hitta material fràn så många stämmor som möjligt, Den förstnämnda strategin, benämnd först-till- kvarn, innebär att jämförelse åstadkommes över alla stämmor samtidigt och att kraven successivt sänks med avseende på djup och tidslikhet tills en eller flera träffar erhålls. Den andra strategin, benämnd egalitär. innebär att jämförelse àstadkommes över en stämma i taget och kraven om nödvändigt sänks till ett minimum, ett lägsta djup och en minsta cykel, för att ge alla stämmor möjligheten att bidra med material. " l en utföringsform, om sökning med minimala krav inte resulterar i nâgra träffar, så innebär det att inga indatastämmor känner igen sig tillräckligt mycket i det nyligen genererade materialet, varvid detta kan inträffa av olika orsaker. Oavsett orsak existerar det ytterligare. att alla generatorer levererar under alla omständigheter, oberoende av indata.
Vidare innefattar en utföringsforrn att en generator som har en överordnad generator och därmed genererar en stämma av en typ som har en överordnad typ, vid framtagandet av sin stegcykel åstadkommer att stegcykeln även delar den överordnade generatoms stegcykel, samt att alla starttidpunkter i den överordnade generatorns B-mängd iakttas vid bildandet av en egen B-mängd, varvid en generator inte får missa några tidpunkter då den överordnade stämman ändrar tillstånd.
Ytterligare anger föreliggande uppfinning en anordning för musikalisk avbildning av en extern process genom enuppsättning dynamiska vikter som avbildar den extema processens tillstànd, med användande av material från åtminstone två musikteman. Temana består av åtminstone en indatastämma och tilldelas en av nämnda dynamiska vikter, och att musikaliskt material frän ett musiktema används mer ju högre temats vikts andel för ögonblicket är av summan av samtliga musiktemans vikter.
Ytterligare omfattar anordningen ett gränssnitt för överföring av musikgeneratorernas genererade musik till en musikuppspelningsanordning.
Yttenigare innefattar anordningen: musikgeneratorer för olika stämtyper som genererar musik av material från indatastämmor av musikgenerato remas respektive stämtyper fràn musikteman som har stämmor av en generators specifika stämtyp; organ för beskrivning av stämmoma i musiktemana och de av generatorema genererade stämmoma som ordnade följder av sektorer där varje sektor har en utsträckning i tiden och varje sektors sluttid är identisk med efterföljande sektors starttid, varvid varje sektor . KI\Patent\110-\110108200\P1 10108200606 10 15 20 25 30 35 131 innehåller en uppsättning värden som beskriver stämmans egenskaper mellan sektoms starttid och sluttld i ett antal musikaliska dimensioner och där typema på dessa värden är olika för olika stämtyper; organ för bestämning av värden för en ny sektor i en av en generator genererad stämma avseende den genererade stämmans egenskaper i den nya sektorn, varvid värden för den nya sektorn bestäms ur värden valda ur åtminstone en uppsättning länkade värden erhållna ur indatastämmor, genom jämförelse av värden i de senast genererade sektorema i den genererade stämman med värden för stämmor innefattade i uppsättningen av länkade värden, varvid värden väljs som bäst motsvarar de värden som föregående genererade sektorer innefattade i enlighet med ett av en uppsättning fönitbestämda kriteria; och' organ för beräkning av värden för ny sektor i den genererade stämman utifrån nämnda valda värden och respektive indatastämmas temas dynamiska vikt i aktuellt tillstånd och överföring av beräknade värden till nämnda gränssnitt.
Det är underförstått att föreliggande uppfinnings anordning kan genomföra eller utföra förfarandestegen enligt ovan såsom de uttrycks i bilagda förfarandekrav.
Kortfattad beskrivning av ritningar Fortsättningsvis hänvisas till bilagda ritningsfigurer för en bättre förståelse av beskrivna utföringsformer och givna exempel enligt föreliggande uppfinning, varvid: Fig. 1 schematiskt illustrerar en anordning för musikalisk morfning enligt förut känd teknik; Fig. 2 schematiskt illustrerar en anordning för musikalisk morfning med enligt förut känd teknik i det fall med lika många (n) teman (T) som dynamiska vikter/tillståndsvariabler (S); Fig. 3 schematiskt illustrerar tvà indatastämmor, närmare bestämt två ackord- och skalsekvensstämmor, C81 och C82, och en tidsaxel för den genererade ackord- och skalsekvensstämman; Fig. 4 schematiskt illustrerar tvà indatastämmor, närmare bestämt två melodistämmor Mel, och Mel; och en tidsaxel för den genererade melodistämman; Fig. 5 schematiskt illustrerar cykliciteten i det tema som innehåller C81 och Mel, ovan genom att skriva deras tidsaxel som en cirkel; Fig. 6 schematiskt illustrerar ett suffixträd enligt föreliggande uppfinning; Fig. 7 schematiskt illustrerar ett suffixträd med värden på musikaliska egenskaper eller dimensioner enligt fig. 6; Fig. 8 schematiskt illustrerar hur en generator använder en lista för att samla in data fràn ett antal indatastämmor för att sedan ur dessa data kunna bestämma värdet för en egenskap i en genererad sektor; och K2\Patent\1 10-\1 10108200\P1 101082001106 10 15 20 25 30 35 Fig. 9 schematiskt illustrerar hur generatorer hämtar sina respektive indatastämmor från temana i indata för att skapa representationer av stämmoma för att sedan kunna generera musik med användande av material fràn stämmoma.
Ordlista Ackord: Ett antal samtidigt ljudande toner. inom den del av musikteorin som kallas hannonisk analys används begreppet ackord för att analysera harmoniska födopp och formaliseras då vanligen till att gälla en bestämd tonklassmängd.
Artikulationzl traditionell musiklära betyder artikulation hur noterna uttalas, dels hur de sätts an och hur de spelas med avseende på klangfärg och dynamik, dels hur långa de spelas i förhållande till sin notation. “Avsatta" fjärdedelar kan klinga lika kor-ta som "uthållna" åttondelar. Inom ramen för MlDl så finns det inte noterl denna tolkningsbara mening, det finns bara anslag och lyft, noteOn och noteOff. Föreliggande uppfinning tolkar artikulation med avseende på tonlängd med hjälp av begreppet artikulationskvot.
Artikulationskvot: En egenskap hos ett lyft, förkortat ak. Låt a vara avståndet mellan föregående strike och nästa och b vara avståndet från föregåend e strike till lyftet så är ak = bla.
Besättning: En ensembles besättning talar om vilka instrument som ingår i ensemblen.
Chord: Ett gränssnitt implementerat av varje sektor i CS. De viktigaste metoderna är booleska metoder för 'festande av medlemskap i de tonklassmängder som konstituerar ackord respektive skala. i Cykelsignatur: Till varje indatastämma och varje beräkningssteg hör en cykelsignatur. Den består av en mängd heltal eller cykler sådana att alla tal delar alla tal större än sig själva och det största talet är ett mått på stämmans längd. Cykelsignaturen avgör vilka tidpunkter i indatastämman som skall betraktas som mer eller mindre lika varandra och definierar därmed stämmans metriska egenskaper. Se vidare ekvation (1).
Delar, delare: Ett heltal a delar ett heltal b om det finns ett annat heltal c sàdant latt b = a ' c. Talet a sägs då vara en delare av b. _ _ Dimension: En egenskap hos musiken såsom den beskrivs i föreliggande uppfinning. Varje stämma beskrivs som en sekvens av sektorer och varje sektor innehåller en uppsättning dimensioner vilkas värden beskriver stämmans egenskaper under sektoms utsträckning i tiden.
Dissonansbehandling: Hur dissonanser löses upp eller inte löses upp i ett musikstycke.
Dlssonansupplösning: En dissonans löses upp mot ett skalackord till en ton med högre konsonansvärde genom så liten förflyttning som möjligt uppåt eller nedåt. Mot (C- K2\Patent\110-\110108200\P110108200.d0C ooupnø o a 0 o nu nunnan 0 0 n oo nu coon u 0 ou.
Uli coon coon 0 anno n Q .cloø. 0 0 coon u anno u 0 u u nano oo I n 0 0 o o u nu o durskala, C-durtreklang) löses ickeskaltonen F# upp genom att höjas ett halvt tonsteg till ackordtonen G.
Dynamisk vikt: Se vikt.
Etta: En tidpunkt t är en etta om det börjar på ett nytt ackord pà t eller 5 t (mod p) = 0 och p är indatastämmans taktlängd.
Historiesträng: En historiesträng är den följd av aktuella värden på d »dimensioner som existerar vid svanslikhet till djup d.
Höm, hörntema, hömstämma: Ett tillstànd befinner sig i ett höm om alla tillstàndsvariabler är vid sina minima utom ett. Hömtemat är det tema som tilldelats denna 10 unika variabel. Hörntemats stämmor är hömstämmor. .
Jämförelsesträng: Se beskrivningen av partiell svanslikhet.
Konsonansvärde: l traditionell musiklåra kan en ton vara mer eller mindre dissonant eller konsonant visavi andra toner. I föreliggande uppfinning är konsonansvärde en egenskap hos par (pitch, chord). Konsonansvärdena är dimensioner som beror av värden i 15 överordnade stämtyper, i detta fall av skalackorden i CS. ackord- och skalsekvensen. l Mel finns t ex MelOnCC och MelOffCC som beskriver den aktuella tonhöjdens konsonansvärde i början respektive slutet av sektom. Båda beskriver tonhöjdens konsonansvärde för det ackord som börjar vid motsvarande tidpunkt. MelOnCC är således konsonansvärdet för tonhöjden mot det ackord som gäller under sektoms utsträckning medans MelOffCC är 20 tonshöjdens konsonansvårde mot ackordet i efterföljande sektor.
Olika värdemängder är möjliga. tex: 1. Tre värden: ackordton, skalton och icke_skalton. 2. Fyra värden: treklangston, annan_ackordton, skalton och 25 _ icke_skalton.
Dessa värden i ordnade efter avtagande konsonansvärde: 1. ackordton, skalton, icke_skalton eller __- n: 30 2. treklangston, anna n_ackordton, _skalton, icke_skalton ä Midi: Musical instrument Digital Interface, ett meddelande format för musikalisk -320 information, "digitala noter". Se t ex www.midi.org. gm: Málprocess: Den process som musiksätts av föreliggande uppfinning. ä* 35 Mâlprocessen kan vara ett dataspel. l det fall föreliggande uppfinning musiksätter en statisk 'P5 flerdimensionell datamängd kan datamângden översättas till en process genom att en dimension avbildas pà tiden. -mi xaparenrn1o-\11o1os2oou=11o1oa2oot1oc oo o o 0 o o o oo o oooo oo o oo oo n o o o o o o oo o o o I o o o o on ooo oo Ia oo o o v o O I oo Oo o o I o n o o o o o oooo lo o 10 15 20 25 30 35 I-nq anr- e-J.. 44:.) z", 1"' z 1 00.: _”. nu n a. :..oo oo oo ooo o o ::'oa' , g-.gfg :ugn-z on av of u n o o o o n u' 2 ° °' ' v. .a 10 Pitch: Tonhöjd.
Primärt ackord: Flerstämmighet modelleras i en utföringsforrn av föreligande uppfinning med hjälp av harmonik av olika ordning. Ackord- och skalsekvensen kan innehålla samtidiga primära, sekundära, tertiära etc. ackord. Om en stämma vid en tidpunkt spelar flera samtidigt ljudande toner måste alla dessa höra till samma ackord antingen det är primärt, sekundärt eller tertiärt... Detta är en flerstämmmig generalisering över hur en enstämmig melodi rör sig över skaltoner och ackordtoner. En upplösning av ett sekundärt ackord till ett primärt motsvarar således hur en skalton upplöses i en ackordton och hur en dissonans upplöses i en konsonans. Se vidare konsonansvärde.
Process: Med en process förstås i detta sammanhang en flerdimensionell datamångd, dvs en delmängd av R", som förändras över tid, eller ett objekt som på ett meningsbevarande sätt låter sig översättas till en sådan.
Registerdimensioner: En del musikaliska egenskaper beskrivs mha s.k. registerdimensioner. Melodíns absoluta tonhöjd beskrivs av MelAPitch men även av registerdlmensionen MelPitchReg. För ett absolut värde finns en högsta och lägsta gräns, min och max, i exemplet melodistämmans högsta och lägsta ton. Registervärdet ri en sektor med det absoluta värdet a beräknas som r = (a - min)/(max - min). Detta ger O s rs 1.
Ett typiskt sätt att använda dessa registervärden ges av följande: När melodigeneratom ska spela en första ton så beräknas först värdena för lägsta och högsta ton, min och max, och ett värde, r, på MelPitchReg genom interpolation över alla teman. Därefter tas ett "rått" värde på absolut tonhöjd aRaw fram genom aRaw = min + 'r (max - min). Därefter tas ett värde på MelOnCC fram och tonhöjden för generatoms första spelade ton ges sedan genom att aRaw löses upp till närmaste tonhöjd medminst detta konsonansvärde.
Sektor: indata- och genererade stämmor modelleras som följder av sektorer med utsträckning i tiden. Varje sektors sluttid är lika med efterföljande sektors starttid. För cykliska teman gäller denna likhet (mod n), där n är stämmans längd.
Singleton: inom objektorienterad programmering kallas en klass för singleton om den instansieras en och endast gäng under den exekverande processens livstid.
Skala: En abstraktion av tonförràdet i ett musikstycke eller en del av ett musikstycke. Kan formaliseras till en bestämd tonklassmängd eller en kombination av flera tonklassmängder.
Största gemensamma delare, sgd: sgd (a, b), där a och b är heltal, är det största tal som delar både a och b.
Taktlängd: Egenskap hos stämma. En duration som delar temats hela utsträckning, i regel ett element i cykelsignaturen_. Konfigureras av användaren.
K.'\Palent\1 10-\1 10108200\P1 10108200.d0t: 10 15 20 25 30 35 m m ~o 11 Skalackord: Kombination av skala och ackord. Se vidare under tonklasser och tonklassmängder.
Tillståndsvariabel, tillståndsvikt: Se vikt Toninnehåll hos lyft: Avser toninnehållet hos ett ackord, spelat av ljudande generatorer, före lyftet i fråga.
Tonklass, tonklassmängd: En tonklass är en tonhöjd utan hänsyn till oktavplacering. l det västerländska vältempererade tonsystemet finns det tolv tonklasser motsvarande de tolv halvtonema ioktaven. Gängse konvention är att representera tonklassema med heltal, 0 för C, 1 för C# eller Db osv, så att varje tonklass motsvaras av ett heltal i intervallet [0. 11]. Avståndet mellan två tonklasser a och b kan definieras som (b - a + 12)(mod 12). l traditionell musiklära benämns avståndet mellan två intilliggande ton klasser som "ett halvtonsteg".
En tonklassmängd (pitchclass set) är en mängd tonklasser. En tonklassmängd kan representeras av en mängd heltal i intervallet [0, 11]. En C-durtreklang C, E, G blir då {0, 4, 7} och en F-durtreklang F, A, C blir (5, 9, 0}, osv. Tonklassmängder kan transponeras uppåt eller nedåt genom att alla element i representationen adderas eller subtraheras med samma heltal. Alla element förs sedan tillbaka till intervallet [0, 11] genom addition eller subtraktion med 12.
Vikt: Den extema process som föreliggande uppfinning skapar en musikalisk avbildning av representeras intemt iföreliggande uppfinning av en uppsättning dynamiska vikter, även kallade tillstàndsvariabler eller tilstàndsvikter. Värdena pà dessa vikter i ett givet ögonblick representerar eller avbildar den extema processens tillstånd i det ögonblicket.
Tillståndsvariablernalviktema kan sammantaget betraktas som en vektor i det vektorrum som utgörs av målprocessens tillståndsrymd, såsom den avbildas pà tillstàndsvariablerna. l en praktisk implementation i ett datorprogram förenklas vissa beräkningar om viktema är definierade över de icke negativa reella talen, dvs representeras i datom av flyttal större ån eller lika med noll.
Detaljerad beskrivning av föredragna utförlngsfonner _ En av föreliggande uppfinnings idéer är att åstadkomma en musikalisk representation av en föränderlig datamängd mha musikalisk morfning. Om den föränderliga datamängden är tillståndet i en process, t ex ett dataspel, så återspeglas förändringar i processens (10) tillstånd av förändringar i musiken. ' Föreliggande uppfinning utnyttjar den tendens till regelbunden metrisk uppbyggnad som finns hos traditionell populä r musik för att identifiera olika grader av likhet mellan tidpunkter i musikaliska teman. Vidare innehåller föreliggande uppfinning organ som säkerställer att den genererade musiken växer ur sig själv på liknande sätt som musiken i ett indata växer ur sig själv, så att det musikaliska sammanhanget bevaras. _ K:\Patenf\110-\110108200\P11010B200.d0c 10 15 20 25 30 cn ha -1 .Is rso m 12 Enligt föreligga nde uppfinning kan musik genereras i realtid ett ögonblicki sänder. Detta innebärt ex att när detta system för musikalisk morfning slagit an en eller flera toner i en stämma så bestäms inte idet ögonblicket hur länge dessa toner skall liuda, utan systemet stegar fram i tiden ett ögonblick l taget och fattar beslut så sent som möjligt för att kunna ta hänsyn dels till tillstàndsförändringar i màlprocessen, dels till det musikaliska skeendet.
Fig. 1 Visar musikalisk morfning av ett antal teman där föråndringama drivs av en process och illustrerar schematiskt en anordning för musikalisk morfning enligt fönit känd teknik såsom genom US-patentet 5,663,517 av Oppenheim. l figuren visas en process 10 som kan varat ex ett dataspel och som avbildas pà en uppsättning dynamiska vikter eller tillstàndsvariabler 12 S:{ s1, s; sa, sn } som i sin tur styr hur material fràn den tillgängliga indatamusiken 14 används av orkestem 16. Den genererade musiken överförs till en musikuppspelningsanordning 18 via exempelvis MlDl.
Musikalisk morfning (musical morphing) enligt föreliggande uppfinning innebär att musik genereras av ett antal teman, vart och ett med en tillhörande dynamisk tillståndsvikt. De dynamiska viktema som tilldelas temana är definierade över de reella talen. l en utföringsforrn av föreliggande uppfinning är tillstàndsvariablerna/-viktema definierade över R' U (O). Det är viktigt att inse att det med ett ändligt antal tillstàndsvariabler är möjligt att representera oändligt många tillstånd. l det fall föreliggande uppfinning används för att musiksätta en process så kan tillstàndsviktemas värden i varje ögonblick utgöra en bild av processens a ktuella tillsånd. Det sätt pà vilket denna bild skapas, dvs hur översättningen fràn màlprocess till tillstàndsvikter - utförs, ligger inte inom ramen för föreliggande uppfinning, även om det i en utföringsforrn av uppfinningen kan lämnas stöd för översättningens utförande.
Musikaliskt material från resp. tema används i genereringen i proportion till I respektive temas vikts andel av 'summan av alla temans vikter. Vilken funktion som helst kan användas för att utrycka denna sannolikhetsrelation, bara f (0) = 0, f(1) = 1 och funktionen i 'övrigt är växande i intervallet (o, 11. i Föreliggande uppfinning etableras i en utföringsfonn som ett datorsystem, och kan implementeras som programvara. Uppfinningen kan göra musik av en tillstàndsuppsättning var den än kommer ifrån och vad den än representerar för process. Häri exemplifieras två möjliga tillämpningar: KI\Patent\110-\110108200\P110108200006 10 15 20 25 30 35 cow fo: Jn-Å "IL 'UI OQO O I II O OO 0000 II Q' ë..=š.== =- ==- == ==°--° z z :c...oz.zocšøuz'.: E .:.-:: z 13 s Föreliggande uppfinning kan paketeras som ett program som körs pà t ex en konventionell persondator. Användaren kan välja mellan ett antal fördefinierade eller egentillverkade teman och genererar under köming en màlprocess genom att manipulera ett grafiskt användargränssnitt. o Dataspelsföretag kan erbjudas en produktionsmiljö för tonsättare av dataspel som liknar de som används när en film musikläggs. l miljön hanteras översättningen mellan spel och tillstàndsvariabler och tilldelningen av variabler/-vikter på teman. Det är möjligt att provköra spelet med olika musik, ställa nivåer mm.
Föreliggande uppfinning kan i en utföringsforrn integreras i ett system för dataspel på åtminstone tre olika nivåer: 1. Placerad på en hàrdvamplattforrn som X-box, gameCube och andra liknande spel. 2. integrerad med en "spelmotof (”3D-motor”, "fysikmotor". dvs de organ som erbjuder stöd för den modell som spelet utspelar sig i). Detta underlättar översättningen mellan màlprocess och tíllstàndsvariabler. 3. Integrerat i ett enskilt dataspel.
I fig. 2 illustreras schematiskt en anordning för musikalisk morfning med musikgeneratorer enligt förut känd teknik. Den visar musikalisk morfning i specialfallet där det finns lika många teman som tillstàndsvariabler och där varje tema tilldelas en unik dynamisk vikt. l uppfinningens allmänna form är det inte nödvändigt med lika många dynamiska vikter som teman, flera teman kan dela på samma s. Anordningen har en indataprocess 10, dynamiska vikter 12 S: {S,, S233. S., }, orkester 14 med . musikgeneratorer för olika stämmor och en musikuppspelningsanordning 18 i enlighet med såsom visats i tig. 1. Vidare haranordningen en uppsä ttnlng musikaliska indatateman 20 Tzflï, Tz, T,,}. j Ytterligare uppvisar föreliggande uppfinning ett gränssnitt 22 för överföring av musikgeneratorernas genererade musik till en musikuppspelningsanordning 18. Gränssnittet 22 kan l en utföringsform vara en datafil för lagring av den genererade musiken i något format som t ex MlDl 18. lndata: 1. lndata vid föreliggande uppfinnings initiering (uppstart): a. Ett antal musikaliska teman T: (h, tz, t,.}.
Temana innehåller musikalisk information iforrn av noter eller motsvarande (MlDl- eller annat format) samt information om hur dessa noter skall tolkas. här benämnd konfigureringsinforrnation.
K:\Patent\1 10-\110108200\P1 101082001100 10 15 20 25 30 35 14 b. En uppsättning dynamiska vikter, S:{s1, S2. sm). c. En tilldelning T -> S så att varje ttilldelas ett och endast ett s. 2. Under föreliggande uppfinnings exekvering a. Tillgång till S. Uppfinningen behöver kunna läsa av värdena på S ett antal gånger per sekund Utdata: _ Som utdata genererar föreliggande uppfinning en ström av musikalisk information i midi- eller annat format. Denna ström kan realiseras via en syntesizer och överföras till klingande musik. Synten kan finnas på samma dator som föreliggande i uppfinning eller också skriver föreliggande uppfinning sina utdata till en midiutgàng på datom så att informationen kan spelas upp på en extem syntesizer.
Informationen kan också skrivas "pà fil för ev. fortsatt bearbetning eller lagrí ng.
Varje tema i indata innehåller information om noll eller flera stämmor. Detta kan vara information om toninnehåll (spelade toners tonhöjder och när de börjar och slutar mm), klangfärg (hur de spelade tonema skall klinga, vilket instrument som spelar stämman) och dynamik (tonstyrka/tonstyrkeförändringar). Teman kan även innehålla infonnation om tempo och tempoförändringa r.
De musikgenererande delama i föreliggande uppfinning kallas generatorer. Om föreliggande uppfinning betraktas som en orkester 14 så är generatorema musikema i orkestern. Varje stämma i indata associeras till en generator. Varje generator tar högst en stämma från varje tema.
Generatorer och stämmor finns av ett antal olika typer så att en viss typ av generator bara hanterar stämmor av en viss typ och omvänt att stämmor av en viss typ är _ avsedda att hanteras av en generator av en viss typ. Ett tema kan innehålla flera stämmor av samma typ. Om det största antalet stämmor av typ A i något tema är n så kommer föreliggande uppfinnings orkester att innehålla n generatorer av typ A.
Fortsättningsvis förklaras teorin bakom föreliggande uppfinning varefter den exemplifieras i utföringsfonner enligt tig. 3 till fig. 6.
Med en markovprocess brukar förstås en diskret process (= en process med ett ändligt antal distinkta tillstånd) där varje tillstånd är en funktion av ett eller flera tidigare tillstànd. Sådana processer kan bekvämt simuleras i datorer med användande av suffixtràd.
Vid byggandet av dessa träd betraktas processens tillstånd så som att de följer efter varandra som strängar över det alfabet som utgörs av processens totala tillståndsrymd.
Träden kan sedan bekvämt åstadkomma svar pà frågor av typen ”givet att processens senaste k tillstànd har varit S = {s,,, sm, s,,.2, sn-t-à. vilka tillstànd sm kan K:\Patent\110-\110108200\P110108200.doc 10 15 20 25 30 35 fJ-'l 'PJ ~a . a i” Q nfl »u u. n . u u u . . , , . . . o en oo on :n-'É " 'v v: o z : o' z gun' . Û . g . . . ' g :ol:c o g z : n: :z : c o a o s n o oo u 15 förväntas hämäst?". Dessutom kan, om frekvensen övervakas avseende vilken frekvens olika tillstànd följer på olika S. sannolikheten anges för olika tillstànd givet olika S.
Om tex det skrivna svenska språket studeras går det att bygga ett suffixträd på tex en textmassa från en lärobok i frisöryrket. Det är då möjligt mha detta träd erhålla besked om hur sannolikt det är, i den givna textmassan, att "h" följs av ”å” eller "a". att ”hå” följs av "r" eller ”l” eller att ”hårtor” följs av "k".
Musik lämpar sig väl för att betraktas som markovprocesser eftersom musik kan betraktas som strängar av tecken. Det finns många exempel pà hur suftixträd har använts för att identifiera olika musikstilar eller för att generera ny musik i en viss stil.
Föreliggande uppfinning strävar efter att få musiken att växa ur sig själv pà samma sätt som musiken i indata växer ur sig själv. För att hitta rätt material i indatastämmor använder generatorerna i föreliggande uppfinning en ny princip som häri benämns partiell svanslikhet hos flerdimensionella strängar. Principen är en variant på markovkedjor.
Definition av svanslikhet: För två teckensträngar g = 9,, gg, g,- 0cht=t1,t,, tk gäller att g är svanslik t vid position ptill djup d om 9i=tw Qj-1=tp-1. ilj-an. =fp-a+1- Ex. 1.
Om g = ...abc ocht = defg är inte g svanslik t vid någon position.
Ex. 2.
Om g = ...abc och t = defcg så är g svanslik t vid position 4 till djup 1.
Ex. 3.
Om g = ...aabc och t = defabcghi så är g svanslik t vid position 6 till djup 3.
Ex. 4.
Om g = ...abc och t = debcfgabcd sà är g svanslik tvid position 4 till djup 2 och vid position 9 im djup 3 K:\Patent\1 10-\1101082G0\P1 101082001106 0 0 I 0 I IOOO I n an J O n O nl 10 15 20 25 30 35 16 Strängama g benämns i exemplen ovan för genererade strängar eller g-strängar och strängama t för temasträngar eller t-strängar. l relationen svanslikhet prövas en genererad sträng enligt föreliggande uppfinning för svanslikhet mot en förutbestämd temasträng enligt uppfinningen.
Om t-strängen betraktas som cyklisk, d.v.s. det första tecknet också står efter det sista, kan djupet bli större än positionen: Ex. 5.
Om g = ...abc och t = cdefab så är g svanslik t vid position 1 till djup 3.
Härefter utvidgas resonemanget till flera dimensioner.
En teckensträng u i n dimensioner av längd m är en ordnad följd av n-tupplar och betecknas u = (un, um, um), (um, un, un), (um, 1 um, __., u,,,_,.) u,_ j betecknar således den ize tuppelns j:e element.
En flerdimensionell teckensträng g kan jämföras med en annan teckensträng t av samma dimensionalitet med avseende på partiell svanslikhet med hjälp av en jämförelsesträng. Jämförelsesträngen stipulerar hur g-strängen skall jämföras med t- strängen. Jämförelsesträngen kan definieras på olika sätt. Här väljs i en utföringsform av föreliggande uppfinning en ordnad sekvens av tuppler av heltal. Ingen tuppel har fler element än de jämförde strängamas dimensionalitet. Det kan förekomma tomma tuppler. Om en jämförelsesträng är c = (2, 1, 4), (4), (3) och en flerdimensionell genererad sträng g med en sista tuppel med index j och en temasträng t så anger c att djupet av gcs svanslikhet gentemot t vid position p bestäms genom att avgöra hur många av följande sekvens av likheter som håller/gäller: Ql.2=ïp.2 91.1 :fn-t 91.4=ïs>.4 9j-1.4=fp-1,4 f-flxßäiNr* 9i-z.a=fp-z,a Om alla dessa fem likheter håller så är djupet för svanslikheten vid position p lika med fem. Om likhet 1 inte gäller så föreligger ingen svanslikhet vid position p oaktat om någon av de efterföljande likheterna skulle gälla. En tom tuppel på en position i jämförelsesträngen betyder att inga element jämförs i motsvarande tuppel.
K:\Patent\110-\'l 10108200\P1 101082001100 10 15 20 25 30 35 f' ñ f? A ñ I' I' _', ' 'll- ¿ 3 En: šeo:š i .unga . gun: e... :..= .Zz- 17 än ä n: o'.'0 g ': ocg- n z-.z E n :..: :.': Genomatt modellera musikens stämmor som flerdimensionella teckensträngar där varje tuppel representerar musikens egenskaper under ett segment eller en sektor i tiden kan det beskrivas på vilket sätt vilka aspekter av musiken i vilka segment/sektorer som har betydelse för vilka egenskaper i samma och efterföljande sektorer i musiken. Dessa sektorer har således utsträckning i tiden och varje sektors sluttid är identisk med efterföljande sektors starttid. Detta sätt att modellera används för att analysera indata i föreliggande uppfinning och sedan kan föreliggande uppfinning genom att resa krav på olika typer av partiell svanslikhet mellan genererad musik och indata med hjälp av olika jämförelsesträngar säkerställa att den genererade musiken växer ur sig själv på ett sätt som liknar det sätt på vilket musiken i indata växer ur sig själv, även när den genererade musiken morfar mellan olika teman. Tupplema iföregàende utläggning om svanslikhet motsvaras således i föreliggande utläggning av de sektorer med vilka stämmoma modelleras, och elementen i tupple rna ovan motsvaras av de värden som beskriver musikens egenskaper i en sektor.
Typema för dessa värden benämns dimensioner.
Enligt föreliggande uppfinning används begreppet “fullständig svanslikhet" som - innebär att alla tuppleri jåmförelsesträngen innehåller lika många heltal som g- och t- strängama har dimensioner. Fullständigheten består alltså i att inga dimensioner hoppas ' över vid jämförelsen, och har inget att göra med djupets storlek.
Föreliggande uppfinning utnyttjar musikens tendens mot metrisk regelbundenhet. Den musikaliska tiden upplevs itraditionell musik ofta som regelbunden, dvs olika ögonblick i musiken upplevs som i någon mening lika, varvid uppfinningen arbetar enligt principen att "det som spelades vid en viss tidpunkt också är möjligt att spela vid en liknande tidpunkt”. l en utföringsforrn av föreliggande uppfinning används som indata, teman som är cykliska och metriskt regelbundna i tiden. dvs kan beskrivas som bestående av tidsavsnitt som är multipler av kortare avsnitt. Exempelvis, metriken i ett 32-takters korus från en evergreen i *Vt-takt kan beskrivas som cykler i cykler enligt mönstret (4, 8, 3), vilket betyder att ett konis är uppdelat i fyra perioder innehållande 8 stycken *lá-takter vardera. Varje stämma i ett sådant tema kan enligt föreliggande uppfinning knytas till en cykelsignatur som beskrivs som (n, n/4, n/(4*8), n/(4*8*3)}. Cykelsignaturen innehåller alltså fyra element, hela koruslängden (n), S-taktersperioden, *Vt-takten och fjärdedelsnoten.
En cykelsignatur är en icke tom mängd tal sådana att alla tal i mängden delar alla tal större än sig självt och det största talet är ett mått på temats längd. Om åttondelar och sextondelar dominerari stämman går det att' utvidga cykelsignaturen ovan till {n, n/4, nl(4"8). n/(4*8*3), n/(4*8*3*2), n/(4'8*3*2*2)}.
Den princip för snarlikhet i tid som föreliggande uppfinning arbetar efter kan formuleras pâ följande sätt: K:\Palßnt\1 10-\1 101 08200\P1 10108200.d0C IQ' n 0 0 O O nova uno o o I o ooø 10 15 20 25 30 ø l en stämma anses tvâ tidpunkter, t1 och tg, vara snarlika om t, (mod m) = t, (mod m) ekvation ( 1) och m är ett element i stämmans cykelsignatur, och mer lika ju större m är.
Märk väl att här avses musikalisk tid uttryckt i heltal, dvs motsvarigheten till den vanliga musikaliska notationens tidsvärden (helnoter, halvnoter, fjärdedelar etc.) och som i vanliga sequencerprogram mäts i 'ticks' eller 'clicks'. Hur fort denna musikaliska tid rör sig genom 'den vanliga tiden', uttryckt i sekunder, är en fråga om tempo.
Enligt föreliggande uppfinning erhåller varje stämma ivarje tema en eller flera cykelsignaturer. Olika signaturer kan användas för beräkning av olika egenskaperi den genererade musiken. Cykelsignaturema anges i respektive temas konfigureringsinforrnation. l en utföringsform föreligger föreliggande uppfinning implementerad som ett datorprogram i java. Programmet innehåller ett hundratal klasser varav de flesta representerar olika musikaliska egenskaper eller dimensioner. För att ge en förståelse för programmets struktur redogörs här kort för de viktigaste klassema som bär upp programmets "infrastruktur". Eftersom programmering nästan uteslutande används med det engelska språket används här engelska namn.
StateManager Singelton Är ansvarig för tillstàndsvariablema och tilldelningen av tillståndsvariabler på teman. l det fall föreliggande uppfinning skall musiksätta ett dataspel så är stateManager ansvarig för avbildningen av spelets tillstànd på tillstàndsvariablema. “ i ThemeManager Singelton Läser in teman från fil och associerar varje tema med en tillståndsvariabel enligt instmktioner från StateManager.
Producer Singelton Är ansvarig för genereringen av musikaliskt material. Har hand om ”musikerna” i föreliggande uppfinning, generatorerna.
K:\Patenl\1 10-\110108200\P1 10108200.doc I IIIÖ CGI I o I o .IÛ 10 15 20 25 30 35 'l J " -J I* 3 1' 1 ovo ooo o o oo o oo oooo oo oo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o oo oooooo oo ooooooo oo oo oo o o o o o o o o o o o o o o o o o o o o o o oo o oo oo 19 Generator Föreliggande uppfinning har generatorer av ett antal olika typer. En generator tar information från stämmor i ett eller flera teman och bygger representationer av dess stämmor och genererar musik på kommando av Producer via en metod benämnd generateUntil (tidpunkt t). Generatorerna genererar musikaliskt material avseende när toner börjar och slutar, hur starka olika klangfärger är i förhållande till varandra, volym, tempo etc. Generatorema kan också styra efterbearbetning av den av t ex en synt alstrade akustiska signalen med hjälp av reverb, kompression mm via dess meddelanden till Sequencer. Varje generator skriver det genererade materialet till Sequencer.
Sequencer Singelton Denna mottar musikalisk infonnation fràn generatorema och spelar upp den pà ett synt-API i enlighet med dess tidstämplar och/eller sparar den på fil. Tidstämplama är uttryckta i musikalisk tid, varför Sequencer även beaktar tempo.
Varje stämma modelleras som en sammanhängande följd av ögonblick, ”moments in time" eiler sektorer/punkter. Varje sektor har en utsträckning i tiden och varje efterföljande sektor börjar där den föregående slutar. Varje sektor har ett antal egenskaper eller dimensioner. Typema på dessa egenskaper/dimensioner är olika för olika stämtyper. De sekvenser av sektorer som stämmoma utgör kan betraktas som vandringar i flerdimensionella rum. Varje stämtyp definierar ett rum med en uppsättning dimensioner och varje sektor i en stämma har värden för alla dimensioner. n Några av dimensionerna är i en utföringsform gemensamma för alla stämmor, t ex: 1. Ost. "onset time": Början i tiden 2. Off: Slutitiden 3. Dur: Sektorens duration, d.v.s. utsträckning i tiden Ljudande stämmor modelleras som en följd itiden av anslag och lyft Vid ett anslag slås noll eller flera toner an (toner börjar). Vid ett iyft lyfts noll eller flera toner av (toner slutar).
Alla ljudande stämmor har i en utföringsform: 1. Strike: Humvida toner sätts an vid en sektors början i tiden eller inte. 2. LastStrike: Ost för senaste strike. Om denna sektor är Strike sà är detta värde lika med Ost. 3. RemStrikeDur: Remainlng strike duration. Tid som återstår till nästa strike K:\Patent\1 1041101 O8200\P1 101082001100 10 15 20 25 30 35 20 4. LiftList: En lista på alla lyft mellan senaste strike och nästa strike med uppgifter om varje lyfts artíkulationskvot och toninnehåll. 5. LiftCount: Antalet genomförda lyft fràn senaste strike t.o.m. slutet av denna sektor.
Andra egenskaper är speciella för stämmans typ. l en utföringsform av föreliggande uppfinning används som ett exempel 5 stämtypei". 1. CS: Ackord- och skalsekvens. CS är en stum stämma som tillhandahåller ett harmoniskt skelett för övriga stämmor. l CS finns i varje sektor a. Gällande skalackord. b. Skalackordets grundton (”roten”) som tonklass. c. Avstånd mellan denna sektors grundton och föregående sektors. 2. Mel: Melodi. Melodin är en ljudande stämma som endast anslår en ton itaget och där aldrig mer än en ton i taget är anslagen. l melodin finns i varje sektor bl a: a. MelAPitch. gällande tonhöjd uttryckt som absolut tonhöjd för senast anslagna ton. b. MelRelPitch, relativ tonhöjd hos senast anslagna ton uttryckt som avstånd från föregående anslagna ton, c. MelPitchReg, tonhöjd uttryckt som placering i registret mellan melodins högsta och lägsta ton.
MelDir, riktning för relativ tonhöjd, dvs tecken för MelRelPitch (+, - eller 0) MelOnCC, tonhöjdens konsonansvä rde* i sektoms början I MelOffCC, tonhöjdens konsonansvärde* i sektoms slut MelVel, anslagshastighet för senast anslagna ton.
FÉUWSUF* MelRelVel, förändring i anslagshastighet jämfört med senast tidigare anslagna ton. 3. CP: Ackordutfyllnad, en ljudande stämma. Modellen äri mycket densamma som hos melodin, men utvidgad till flera samtidigt ljudande toner. CP hâller reda pà a. Avstånden mellan samtidigt spelade toner pà en Klaviatur. b. Var de olika funktionema i ackordet (grundtoner, terser, kvinter, septimor etc) ligger. c. Hur toner i efterföljande ackord växer fram ur föregående ackord, hur många som tar närmaste vägen m.m.
I K2\Patent\110-\110108200\P110108200.d0c 5 10 15 20 25 s; ß° r-nn p qr' h a l ~_ “ IOI IQ' U I II I II CIII OO OO . .. .. . .. . . . . .. .
I II Ib IQ III O O l O I II Oil II I II IIOIUIO O I' II OO I I I O b! I O O O I C O II I d. Värden för att hantera anslagshastighet pà anslagna toner. 4. Bas. Är också en utvidgning av Mel. Modellen för basstämman bygger på idén att bas spelas genom att ta sig från en ackordton nära en etta till en ackordton nära nästa etta. Basstämman innehåller i varje sektor bl a dimensioner som hanterar tpne, tidpunkt för nästa etta tpa, tidpunkt för anne, anslagen ackordton nära nästa etta tka, tonklass för anne aa, antalet ackordtoner som ska anslås efter Ost, före tpa. tpna, tidpunkt för nästa ackordton tkna, tonklass för nästa ackordton as, antal skaltoner som ska spelas efter Ost, före tpna ?"P-"'$“?-9P'9* tpns, tidpunkt för nästa skalton tkns, tonklass för nästa skalton j. ai, antal icke skaltoner som ska spelas efter Ost, före tpns k. tpnl, tidpunkt för nästa icke skalton.
I. tkni, tonklass för nästa icke skalton. m. nuvarande tonhöjd n. Rotkonsonans, en utvidgning av konsonansbegreppet så att prim (rot) är mer konsonant än ters och kvint, kvint mer konsonant än septima. etc. 5. Perc. Slagverksstämma. Centralt i modellen här ärt ex ett begrepp som täthet, uttryckt som antalet anslag per tidsenhet.
Vissa stämtyper är överordnade and ra på så sätt att värden i överordnad typ i påverkar värden i underordnad typ. Exempelvis är CS överordnad Mel eftersom MelOnCC och MeIOffCC inte endast beror av absolut tonhöjd, utan även av ackord och skala som de *ges av i sektorema i CS. Detta har som konsekvens att sektorerna i CS mäste genereras före sektorerna l Mel. Allmänt genereras överordnade stämmor före underordnade.
Alla relationer mellan stämmori över- och underordnade stâmtyper bildar ett träd där alla bam är underordnade sina föräldrar. Stämtypen i roten är inte underordnad någon annan stämtyp. Denna stämtyp benämns primär. I den föreliggande utförigsformen av föreliggande uppfinning är CS primärtyp. Det finns en och endast en stämma av primärtyp i varje tema, kallad primärstämma, och en och endast en generator av primärtyp i den sk orkestern.
Varje stämma har ett eget nu kallat sNu (s för stämma). Primärtypen spelar en viktig roll genom att alla stämmor, även primärstämman, kontinuerligt anpassar eller _ I K.'\PâlBnt\110-\110108200\P1 10108200.d0t; 10 15 20 25 30 35 4? 'o ~e .lå ra lfl ooo ooo o oo o oo oooo oo oo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o oo ooo oo o oo ooooooo o o oo oo o o o o o o o o o o o o o o o o o o o o o o oo o oo oo 22 repositionerar sina respektive sNu pà basis av inspektion av den senast genererade delen av primärstämman. När primärstämmans generator räknar upp gNu (g för generator) räknas samtidigt alla generatorns indatastämmors sNu fram med lika mycket. Därefter sker repositionering av indatastämmomas sNu. Mer i detalj kan repositioneringen i en utföringsform beskrivas pà följande sätt: 1.
Orkestem som helhet, alla generatorer och alla deras indatastämmor räknar tiden från noll när orkestem börjar spela.
När primärstämmans generator är klar med genereringen av en sektor så räknar den upp sitt gNu med sektoms duration d = k... - t därt är sektoms starttid och k... är det minsta element i generatoms K-mängd (se vidare nedan) som är större t. Därefter beräknar generatorn för var och en av sina indatastämmor, för varje stämma unikt värde, iNu : = sNu + d.
Varje stämma bestämmer sedan, om möjligt, ett eller flera värden på sitt nu, kallat hNu (h för historia), genom att söka efter svanslikhet mellan den nyligen genererade primärstämman och sitt eget temas primärstämma. CS är primàrstämma i en utföringsform av implementeringen av föreliggande uppfinning och svanslikheten bestäms över gällande skalackord och relativ och absolut grundton. Varje indatastämma i föreliggande uppfinning kan således orientera sig i den genererade harmoniken antingen både med avseende på dess absoluta tonhöjd såväl som dess transponerade tonhöjd.
Repositlonering efter harmonikens innehåll kompletteras av repositionering efter harmonisk pulsation, dvs vid vilka tidpunkter som den genererade harmoniken byter skalackord.
Om en inspektion/jämförelse endast ger ett möjligt värde på hNu sätts stämmans sNu = hNu om det finns ett m i den aktuella cykelsignaturen sådant att i iNu (mod m) = hNu (mod m) Om det finns fiera möjliga värden på hNu, M = {hNu., hNuz, ...} så sätts sNu : = hNu. för ett hNu. i M som uppfyller ekvation (2) med det största värdet pá m, dvs ett hNu som ekvation (2) är mest likt iNu. Om inspektionen/jämförelsen inte ger några möjliga värden pà hNu eller det inte finns något m iden aktuella cykelsignaturen som uppfyller ekvation (2), så sätts sNu := iNu (mod n), där n är temats längd. 5. Övriga indatastämmor erhåller sin korrekta tidsposition via sin egen CS. l en utföringsform använder indatastâmmoma ytterligare ett värde för att finna likhet enligt ekvation (2), nämligen största gemensamma delaren av de kortaste cyklema i dels den egna aktuella cykelsignaturen, dels den aktuella cykelsignaturen för den tyngsta CS-indatastämman. Detta säkerställer god kontroll av växlande taktarter.
K2\Pat6nt\110-\110108200\P110108200.d0c 10 15 20 25 30 35 23 l en utföringsforrn används en variabel 'positionMaster' (PM) i CS-generatom.
PM initieras till tyngsta indatastämman i CS. Vid repositionering av en indatastämma S kan en ny position även väljas enligt ekvation (2) med m = sgd (S.sc, PM.sc), där sc stàr för 'shortest cycle'. Det är således möjligt att ta fram största gemensamma delare för den kortaste cykeln i en cykelsignatur för den stämma som skall repositioneras och den kortaste cykeln i en cykelsignatur för positionMaster och använder det värdet som m i ekvation (2) om likhet inte kan uppfyllas för större värden pà m. Detta benämns häri att repositionera mot posltionMaster.
När CS-generatom i denna utföringsform repositionerar sina indatastämmor görs det mot den gamla pcsitionMaster, och därefter blir den tyngsta stämman ny > positionMaster.
Tillsammans med ett annat begrepp, barGroup, ges god kontroll över växlande metrik. Tvà indatastämmor A och B är i samma barGroup om A.sc delar B.sc eller B.sc delar A.sc, där sc syftar pà deras kortaste cykler liksom ovan. När CS-generatorn skall bestämma tidpunkt för nytt skalackord får bara, om användaren så konfigurerar systemet, de indatastämmor delta i beslutet som äri samma barGroup som tyngsta indatastämman.
I ytterligare en utföringsform ändras taktarten genom att indatastämmor från olika barGroups och med vikt över ett konfigurerbart tröskelvärde turas om att ha motsvarande privilegium. lndatastämmornas tid som den representeras av deras sNu är cyklisk.
Generatoremas tid däremot är linjär. Den ökar ständigt. i Genom kombinationen av cykelsignaturer och repositionering ges användaren av föreliggande uppfinning god kontroll av den genererade musikens metrik.
För att primärtypen skall kunna upprätthålla rollen som tidsreferens krävs att den är definierad över alla tidpunkter i alla teman och över alla tidpunkter i den genererade musiken där någon ljudande generator är aktiv. Primärtypens generator kan inte ta paus så länge någon ljudande generator inte gör det. Som nämnts är CS primärtyp i föreliggande I utföringsform av implementeringen av föreliggande upp finning. Alternativt kan t ex Melodin vara sin egen prlmärtyp om den spelar ett rent solo. Repositionering skulle då lämpligen ske genom bestämning av svanslikhet över relativa tonhöjder och durationer.
Algoritmerna som styrde olika generatorema har många gemensamma drag men särdrag förekommer. Varje generator genererar en sekvens av sektorer, en vandring i det rum som hör tiil generatorns typ. Alla dimensioner i en sektor skall vara bestämda innan generatom går vidare till nästa sektor. En del dimensioner uppdateras pâ ett trivialt sätt med värden i andra dimensioner som grund. MelAPitch gert ex värden pá MelRelPitch, som i sin tur ger värdet på MelDir. MelAPitch ger tillsammans med värdena för högsta och lägsta ton värdet på MelPitchReg. i K:\Patenl\110-\110108200\P1101082001100 10 15 20 25 30 35 24 För varje beräkning som görs för att fastställa värdet för en dimension i en genererad sektor utan en sådan trivial uppdatering finns en jämförelsesträng, en cykelsignatur och ett minimalt djup. Jämförelsesträngen stipulerar vilka dimensioner i vilka sektorer och i vilken ordning som skall jämföras. Generatom tar vid sådana beslut hänsyn till värden fràn en indatastämma om: 1. Stämmans tema har en vikt större än noll. 2. Det går att finna svanslikhet av minst minimalt djup mellan den nyligen genererade stämman och indatastämman vid den position som ges av stämmans sNu. enligt den jämförelsesträng som hör till det aktuella beslutet.
Om tillräcklig svanslikhet inte finns vid stämmans sNu kan likhet sökas vid en liknande tidpunkt, enligt den aktuella cykelsignaturen och ekvation (1).
Detta sätt att arbeta över partiell svanslikhet påminner om markovkedjor. Om det totala musikaliska nuet betraktas, alla stämmor pä en gång, som musikens tillstànd i ett givet ögonblick, så blir antalet olika tillstànd ohanterligt stort. Föreliggande uppfinning bryter ner denna komplexitet dels genom att hierarkisera så att överordnade .stämmor genereras före underordnade. Sà kallade "rollbacks" elimineras genom att underordnade stämmor rättar sig efter överordnade. Komplexiteten begränsas också av generaliseringar över musikaliska fenomen på ett sätt som tar fasta pá gestik, metrik och dissonansbehandling.
Nya, genererade värden för de olika dimensionema räknas fram antingen genom val eller genom interpolation. Val innebär att generatom väljer ett av de altematlv som erbjuds av de indatastämmor som kan uppvisa tillräcklig svanslikhet. Det valda ealtemativet ärantingen det med högst vikt eller också àstadkommes ett slumpmässigt val mellan flera altemativ med hänsyn till alternativens vikter så att tyngre alternativ har större chans att bli valda.
Vid interpolation vägs en eller flera stämmors olika värden samman. Hänsyn tas till stämmomas dynamiska vikter, men även till den frekvens med vilken ett visst värde 'förekommer vid den givna historiesträngen. Flera olika värden kan finnas vid samma jämförelsesträng och djup eftersom flera tidpunkter kan vara snarlika varandra enligt ekvation (1). __ Detaljema i denna sökning efter relevanta värden kan åstadkommas på flera sätt. Sökningen kan sägas åstadkommas över tre riktningar: över olika teman, över olika krav på djup i svanslikhet och över olika likhet mellan tidpunkter enligt ekvation (1). Olika strategier kan användas för olika beslut.
Sökning med maximalt krav pä djup skulle innebära att hela den genererade stämman skulle vara fullständigt svanslik i alla dimensioner till hela det djup som motsvarar stämmans hela längd för att material fràn stämman skulle kunna användas.
K2\Patent\1 10-\1 10108200\P1 101082001100 u.. i o 5 I nog o 10 15 20 25 30 35 25 Sökning över största cykel till ett visst djup d enligt en utföringsform av föreliggande uppfinning innebär att svanslikhet krävs till djupet d för aktuell tidpunkt sNu (mod n). där n är måttet på stämmans hela längd, och inte på kortare cykler.
Om indatastämmorna är olika skulle krav på både maximalt djup och största cykel i längden bara kunna uppfyllas av högst en indatastämma. Detta skulle göra morfning omöjlig.
Strängheten i dessa båda krav kan sänkas i olika ordning. Sökning kan ske med krav på stort djup men vid allt mindre lika tidpunkter (korta cykler) eller med allt mindre krav pà djup men iförsta hand vid mer lika tidpunkter (långa cykler). .
Det går även att urskilja olika strategier i sökningen i den meningen att material hittas från en elier ett fåtal stämmor eller också att det strävas efter att hitta material från så många stämmor som möjligt. Den förstnämnda strategin innebär att det söks över alla stämmor samtidigt och att kraven successivt sänks kraven med avseende pà djup och tidslikhet tills en eller flera träffar erhålls. Denna strategi kan benämnas ”först-till-kvam”. Den senare strategin innebär att det söks över en stämma i taget och att kraven succesivt sänks till ett minimum, dvs ett lägsta djup och en minsta cykel, för att ge alla stämmor chansen att bidra med material. Denna strategi benämns här ”egalitârï intuitivt passar först-till-kvam- strategin bättre ihop med val. Den egalitära strategin passar bättre med interpolation eftersom den tar fram värden för alla stämmor som uppvisar tillräcklig svanslikhet.
Om sökning med minimala krav inte resulterar i några träffar så innebär det att inga indatastämmor känner igen sig tillräckligt mycket i det nyligen genererade materialet.
Detta kan inträffa av olika orsaker. Oavsett orsak så behövs en plan B. föreliggande uppfinning har en uppsättning regler för att lösa sådana situationer. Alla generatorer levererar under alla omständigheter, oberoende av indata och oberoende av i _ tillståndsförändringar hos målprocessen.
För att kunna implementera föreliggande uppfinning så effektivt som möjligt undviks att åstadkomma beräkningar i onödan. Speciellt måste det beaktas att generatorernas och stämmomas nu-variabler skall räknas upp så effektivt som möjligt utan att gå förbi något av de "kritiska ögonblick" där någon stämma skulle kunna vilja slå an en ny ton enligt indata. _ Med avseende på nya toner, dvs nya ackord i CS och nya ansatta toner l ljudande stämmor, sker i berörd generators konstruktör följande: Först bildas mängden S av alla element i generatoms alla stämmors cykelsignaturer. Sedan bestämmas den största gemensamma delaren d av alla element i S.
Detta värde d kallas generatorns stegcykel. Därefter bildas mängden A av alla tidpunkter i alla generatorns stämmor där en ny ton (nytt ackord) börjar (första tonen eller pausen i alla K'.\Patent\1 10~\1 10108200\P1 101082001106 con 0 n I o con o mono sno I o I o non 10 15* 20 25 30 26 stämmor börjar på O). Med hjälp av en första formel (ekvation 3) bildas sedan mängden B av alla b som kan bildas enligt b = a (mod d) ekvation (3) av alla a i A. Med hjälp av en andra fonnel (ekvation 4) bildas sedan mängden K av alla kritiska tidpunkter k enligt k=b+n*d,bêB,nêN ekvation(4) där E betecknar "tillhör mängden” och N betecknar de naturliga talen. Stegcykeln är d och elementen i B är "stegen" med vilka generatom stegar runt i stegcykeln, varv efter varv.
Mängden K av alla k som kan bildas enligt ekvation (4) benämns generatorns K- mängd av kritiska ögonblick eller starttidpunkter. Generatom bildar aldrig någon komplett lista över K-mängden - K är oändlig. I stället sorteras mängden B stigande i en lista L' och därefter skapas en lista L av skillnadema mellan varje element i L' och det efterföljande.
Generatorn har sin variabel gNu och indatastämmoma sina sNu som alla initieras till 0 och gNu erhåller sedan alla kritiska ögonblick k genom att gång på gång traversera L och adderar dess vä rden till gNu. Samtidigt räknas alla sNu upp med lika mycket och eftersom repositonering av indatastämmornas sNu bara sker enligt ekvation (2) sà kommer inga kritiska ögonblick att förbigàs. För varje nytt värde pà gNu så skapar generatorn en ny sektor.
En generator som har en överordnad gene rator, dvs genererar en stämma av en typ som har en överordnad typ, måste vid framtagandet av sin stegcykel se till att den även delar den överordnade generatorns stegcykel, samt att alla element i den överordnade generatoms B-mängd läggs till den egna B-mängden. Detta eftersom en generators stämmor måste ha sektorsgränser där överordnad generators stämmor har det, eftersom en . sektorsgräns i överordnad stämma kan innebära förändringar av egenskaper i den underordnade stämman oberoende av övriga förändringar iden underordnade stämman.
En ljudande stämma modelleras i ett första steg som en serie sektorer där varje sektor börjar och slutar med ett anslag eller ett lyft och alla anslag och alla lyft ger upphov till en gräns mellan tvà sektorer. l ett andra steg läggs alla lyft efter ett anslag in som en egen dimension, LiftList iden sektor som börjar med anslaget ifråga och den sektorsgräns som motsvarade lyftet tas bort genom att de båda sektorema smälts samman. Avståndet mellan ett anslag och efterföljande lyft uttrycks i LiftList som artikulationskvot. l ett tredje steg, utfört i berörd generators konstruktör, delas alla stämmans sektorer i de ögonblick, k, som finns i generatoms K-mängd, om k innefattas av stämmans utsträckning i tiden. Sedan skapas suffixträden med stämmorna som de då föreligger. Skälet till detta tredje steg är att alla -K2\Patent\1 10-\1 10108200\P110108200.d0t2 10 15 20 25 30 35 I' Ö F! Å ß I" f' ". 1 f-š» ¿ Q g; sms. ="=":= =°°=-::- : : 'z 3 5"? ' *J å ' *J *J 27 generatorns stämmor effektivt ska kunna ha en uppfattning om vad som ska hända i den genererade stämman pà alla ögonblick i K.
För att snabbt kunna avgöra svanslikhet vid olika jämförelsesträngar och vid olika cykler skapas vid föreliggande uppfinnings initiering för varje typ av beräkning en uppsättning suffixträd. ett för varje cykel i beräkningens cykelsignatur. Att ett träd skapas för en viss cykelsignatur m innebär att alla värden i trädet för Ost eller Off sätts om enligt värde_i_trädet = ursprungligt_värde (mod m). När sedan sNu jämförs med värden i trädet används värdet sNu (mod m).
Suffixträd beskrivs i fig. 6. Figuren är delad i två delar av en streckad linje. Den vänstra delen innehåller historia, den högra framtid. Historiesidan är det egentliga suffixträdet och innehåller stämmans alla möjliga sekvenser av de dimensioner som ges av jämförelsesträngen, från roten och neråt. Framtidssidan innehåller möjliga framtider för varje historiesuffix. Dessa kan utgöras av endast en nivå, dvs endast den dimension som trädet är avsett att bestämma så som skissats längst ner t.h. i figuren. Men det kan också så som skissas med de streckade figurema längst upp t.h. innehålla ett antal subträd. De olika nivåerna i dessa subträd innehåller då andra dimensioner som kan antas samvariera med den dimension som trädet är avsett att bestämma. l de flesta fall innehåller framtidstråden dimensioner och värden med ursprung i samma sektor som dimensionema i noderna närmast roten på historiesidan. Det hela illustreras genom följande exempel: När melodigeneratom ska bestämma ny tonhöjd i en sektor p är bestämningen av MelRelPitch i p den egentliga uppgiften. En sökning åstadkommas över alla stämmor enligt först-till-kvam och val. Men intresse finns inte av enbart den nya tonhöjdens avstånd från föregående anslags tonhöjd. utan också av den nya tonhöjden konsonansvärde. De mönster av konsonansldissonans som finns i indata skall bevaras. Vid byggandet av j framtidsgrenen tas förutom MelRelPitch även MelOnCC och sedan åstad kommes i en utföringsform att algoritmen som väljer stämmans altemativ för MelRelPitch låter framtidsgrenens ursprungliga värde lösas upp till minst samma konsonansvärde enligt den nyligen genererade harmoniken. På så sätt bevaras en kombination av melodisk gestik och dissonansbehandling. Det skulle också vara möjligt att ta med MelPitchReg för att dessutom vikta stämmornas alternativ med hänsyn till var itonhöjdsregistret olika mönster förekommer.
Den gnmdlä ggande algoritmen i generatorerna för ljudande stämmor kan i en utföringsforrn i pseudokod skrivas: Variabeln gNu håller det aktuella värdet på generatoms "nu". i regel detsamma som Osti den sektor som håller på att genereras. Variablerna ”alla sNu" syftar på indatastämmomas individuella nu:n För varje gNu och varje genererad sektor. 1. Bestäm om lyft skall göras.
K:\Patent\1 10-\110108200\P110108200.d0c o non; ID o on g 0 0 oo 0 0 g. Û 0 0 lo 9 ° 0 I I o o OI evo en o; 10 15 20 25 30 35 Apr' n - . Ll-/- »in e-v QIO III I I OO Ö II 'IOI OI II O ID ll I CO Q I O O OI I O ll OI OI III O I 0 I I IQ CCI II I II IOOIIOO I I II ÛI I I Û I II I O I O O I Û IÛ I O l I I O I IQ I Il II a. Om ja, i. Bestäm vilka toner som ska lyftas. ii. Sänd data till Sequencer. 2. Bestäm Strike, dvs om anslag skall göras. a. Om ja, i. bestäm vilka toner som ska slås an, och hur. ii. Sänd data till Sequencer. b. Om nej, ingen åtgärd. 3. Bestäm RemStrikeDur (val, först-till-kvarn eller egalitärt). 4. Bestäm al, antal lyft mellan senaste anslag och nästa anslag. a. Om LiftCount >= al, ingen åtgärd. b. Annars: Bestäm tid för nästa lyft: i. Bestäm artikulationskvot, ak, för nästa lyft (egalitärt, interpolation). ii. Beräkna tid, t, för nästa lyft med hjälp av ak och RemStrikeDur. iii. Om (t < nästa gNu), 1. Beräkna vilka toner som skall lyftas. 2. Sänd data till Sequencer. 3. Räkna upp LiftCount. iv. Annars, ingen åtgärd. 5. Stega fram gNu (och alla sNu), stega fram till nästa sektor.
Algoritmen uppfyller två viktiga egenskaper. För det första àstadkommes anslag utan att tidpunkt för några av dess lyft eller tidpunkt för nästa anslag bestäms. En ton som en stämma anser borde bli lång kan efter anslaget, om tillståndet förändras, omtolkas av ett _ annat tema till en ton som är kortare. För det andra blir det möjligt att interpolera över artikulation. .
Beräkningen av tidpunkt för lyft via RemStrikeDur och artikulationskvot är typiskt för föreliggande uppfinning. En möjlig tidpunkt för nästa anslag bestäms innan gNu har hunnit till denna tidpunkt. Detta värde existerar endast som ett interimistiskt värde, som en möjlighet, och kan ändras många gånger innan nästa lyft eller anslag sker.
Vid Strike/anslag bestämms även anslagshastighet för anslagna toner.
De ljudande gene ratorema har dessutom i en utföringsform varsin ”hjälpgeneratorfl TimbreShifter, som hanterar klangfärger och volym. När en generator börjar spela i ett höm startar/låter bara hömtemats klanger. Vid en förflyttning till ett annat hörn så övergår klangen steglöst i det nya hörntemats klanger, detta i en uföringsforrn genom att klangfärgsförändringar àstadkommes genom att samma toner spelas på tex flera . K2\Patent\1 10-\1 10108200\P1 101 O8200.d0C 10 15 20 25 30 35 t 71 IR) ~.~_: .ß- |\) 1.1' 'I 29 ooo ooo o o oo o oo oooo oo oo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o oo ooo oo o oo ooooloo o o oo oo o o o o o o o o o o o o o o I o o o o o o o oo o oo oo midikanaler samtidigt och att volymen pà den ena kanalen höjs medans volymen på den andra kanalen sänks så att den sammanlagda volymen upplevs som oförändrad, enligt tidigare känd teknik. l en annan utföringsform görs klangfärgsförändringari frekvensdomänen.
Basstämman är i föreliggande utföringsfonn enstämmig d.v.s. spelar aldrig mer än en ton i taget. l algoritmerna för genereringen av basstämman drivs principen om interimistiska värden långt. Antagandet för basstämman är att bas spelas genom att ta sig fràn en ackordton nära en etta (se ordlistan) till nästa ackordton nära nästa etta via noll eller flera andra ackordtoner, från en ackordton till en annan via noll eller flera skaltoner och fràn en skalton till en annan via noll eller flera icke skaltoner. En ny interimistisk framtid projiceras in iframtiden från varje nytt gNu enligt följande utföringsforrn av en algoritm: För varje gNu och varje genererad sektor: 1. Bestäm tpne. tidpunkt för nästa etta, med hjälp av CS och stämmans konfigurerade taktlängd. 2. Bestäm tpa, tidpunkt för anne. anslagen ackordton nära nästa etta 3. Bestäm tka, tonklass för anne 4. Bestäm aa, antalet ackordtoner som ska anslås efter gNu, före tpa. a. Om aa > 0 '. Bestäm tpna, tidpunkt för nästa ackordton Bestäm tkna, tonklass för nästa ackordton b. Annars, '. Sätttpna:=tpa Sätttkna:=tka 5. Bestäm as, antal skaltoner som ska spelas efter gNu, före tpna a. Om as > 0 '. Bestäm tpns, tidpunkt för nästa skalton Bestäm tkns. tonklass för nästa skalton b. Annars, '. Sätt tpns : = tpna Sätt tkns : = tkna 6. Bestäm ai, antal icke skaltoner som ska spelas efter gNu, före tpns a. Om ai > 0 '_ Bestäm tpni, tidpunkt för nästa icke skalton.
Bestäm tkni, tonklass för nästa icke skalton. b. Annars, KZ\Patent\110-\110108200\P1 101082001100 '. Sätt tpni : = tpns 10 15 20 25 30 35 30 Föreliggande uppfinning förstås lättast i det fall varje tema innehåller stämmor för alla generatorer d.v.s. när alla teman har “full besättning". Alla generatorer hämtar en stämma var från varje tema, varje generator spelar hela tiden och temana glider över i varandra allt eftersom tillståndsvariablema förändras. Men det är även möjligt att förverkliga föreliggande uppfinning med en uppsättning teman med olika besättning. Orkestem kommer alltid att bestå av unionen av alla temans besättningar. En mekanism krävs för att sätta generatorer i ett tillstånd av ”tacet", d.v.s. generatorema måste kunna stängas av. Detta sker med tröskelvärdena tsCP1 Och tsCP2 för CP1 respektive CP2. Dessa kan konfigureras på temanivà eller global nivå.
Exempelvis: Föreliggande uppfinning förverkligas med två teman med olika besättning, T1 (CS, Mel, CP1, Ba) och T2 (CS, Mel, CP2, Ba). Enligt uppfinningen skapas då en orkester bestående av CS.
Mel, CP1, CP2 och Ba. Temana tilldelas varsin tillstàndsvariabel, st respektive s2. Om orkestern startas i hörnet h1 = (maxs1, mins2) sà kommer Tt att spelas med sin indatabesättning. Om tillståndet förflyttas mot h2 = (mins1. max s2) så kommer CP1 att sluta spela när s1 < tsCP1. CP2 kommer att börja spela när s2 > tsCP2. Mekanismen kompletteras med musikaliska villkor på temanivà för när generatorn får sluta spela. Dessa "slutvillkof handlar främst om dissonansbehandling.
Genom att sätta sådana trösklar större än noll pà alla stämmor, även de vars generatorer har stämmor i alla teman, och om alla tillståndsvariabler är definierade över R' U {0}, erhålls i en utföringsform där tillstândets rörelse mot origo innebär att orkestem slutar spela. _ Ett tema måste alltså inte innehålla stämmor för orkestems helalbesättning. Ett , eller flera teman kan innehålla material för endast en enstaka stämma eller t.o.m. för endast vissa aspekter av en eller flera stämmor, t ex intervalllnnehåll eller dynamik. Man kan i temats konligureringsinfonrration ange vilka aspekter av temat eller av enskilda stämmor i temat som skall exporteras, dvs beaktas av berörd genera tor. l de fall en exporterad stämma eller aspekt av en stämma är beroende av andra aspekter av samma stämma eller av andra stämmor måste temat innehålla dessa aspekter eller stämmor eller hänvisa till motsvarande information i anda teman.
Exempelvis: Om ett tema används för att endast påverka en melodistämmas dynamik ska placeras volyminforrnation för den melodistämman som enda musikalisk information i temats midifil (eller motsvarande). l temats konfigureringsinformation anges att temat till den stämman inte exporterar noter utan endast dynamik. Temat måste dock innehålla CS.
» K1\Patenl\110-\110108200\P1 101082001106 10 15 20 25 30 35 ) J . 'Én IN) *U 1 ooo ooo o o oo o oo oooo oo oo o o o o o o o o o o o o o o o o o o o o o o o o o o o o oo ooo oo o oo ooooooo o o oo oo o o o o o o o o o o o o o o o o O o o o o o oo o oo oo 31 antingen en egen CS eller hänvisa till ett annat temas CS, annars blir repositioneringsförfarandet för temat omöjlig att genomföra.
Den beskrivna metoden att hantera metriska egenskaper med cykelsignaturer kan utvidgas så att teman med godtycklig metrik kan beskrivas. Om ett musikstyckes tomt beskrivs med en ”formsträng” med stora bokstäver för de olika avsnitten, tex AABAACC..., där alla A:n är lika långa, alla B:n lika långa, etc och om metriken i varje avsnitt, A, B, C, låter sig beskrivas med cykelsignaturer enligt ovan går det att associera olika cykelsignaturer med olika avsnitt och därmed kan föreliggande uppfinning bli förrnöget att hantera teman med godtycklig metrik. Alla sNu skulle då förses med ett fält som representerar formavsnitt och får då två fält: tidsposition och avsnitt. Varje tema hàller reda på sin egen forrnsträng och får gå vidare till nästa avsnitt om det t ex uppehållit sig där undertillräcklig tid. Detta mått på tillräcklig tid för respektive avsnitt kan i en utföringsforrn vara konfigurerbart på temanivå. l en implementering genererar föreliggande uppfinning midimaterial. Även om midistyrda instrument idag kan uppvisa en avsevärd klangrikedom och samplingsteknik, vilket åstadkommer vissa möjligheter så är det svårt att hantera tex mänsklig sång inom ~ ramen för midi. Det är dock möjligt att utvidga föreliggande uppfinning så att det kan hantera inspelade fragment på ljudfiler (.wav, .mp3 etc.). Det är möjligt att associera en musikalisk analys i midiformat med filen ifråga och ge föreliggande uppfinning möjlighet att analysera innehållet pà liknande sätt som det analyserar övriga indata. På så sätt skulle föreliggande uppfinning kunna hålla reda på vilka restriktioner, främst i harmoniskt avseende, som bör läggas på den genererade musiken under det att ljudfilen spelas upp. Q Föreliggande uppfinning utnyttjar det faktum att toner i traditionell musik ansätts vid tidspositioner som kan anges med hjälp av förhållandevis små heltal. Om musiken i indata innehåller små förskjutningar i förhållande till de tidspositioner som motsvaras av våra _ enklaste notvärden, helnot, halvnot, fjärdedelar, åttondelstrioler etc, så blir bilden något mer komplicerad. Att notera sådana förskjutningar med traditionell notskrift är möjligt men i regel _inte önskvärt. De sequencerprog ram som finns på marknaden sedan lång tid löser detta genom att låta de mikroförskjutna tidsposltionema kvarstå i den underliggande infonnationen, men musiken representeras med en notbild som är kvantiserad, dvs ansatta toner är förflyttade till närmaste större notvärden, konfigurerade av användaren. På liknande sätt kan föreliggande uppfinning i en utföringsforrn hantera mikroförskjutna toner enligt en användarkonfigurerad kvantisering så att tonema betraktas som ansatta vid sina kvantisrade positioner samtidigt som berörda generatorer interpolerar över mikroförskjutningama när morfning över olika teman sker.
Föreliggande uppfinning klarar att finna bra övergångar mellan olika CS även om dessa saknar gemensamma skalackord. Detta är i en utföringsform möjligt genom att ha mått på likheten mellan två skalackord A och B, baserade på antalet gemensamma ~ K3\Patent\110-\110108200\P11010B200.d0c 10 15 20 25 30 35 (31 32 tonklasser och genomsnittligt avstånd mellan tonklassema i ackord respektive skala i A respektive B, uttryckt i halvtonsteg. Om en stäma inte finner det senaste spelade skalackordet pà aktuell eller liknande tidsposition så lägger det sin vikt på det av dess ackord som är mest likt det föregående. Denna likhet kan. beroende på konfiguration, avgöras i stämmans indatatonart, i den tonart som ger mest likhet eller i aktuell tonart så som den uttrycks av aktuell skala. Detta mest lika ackord kan väljas fràn alla sNu (mod m) om m är den kortaste cykeln i aktuell cykelsignatur. Användaren kan konfigurera rätten att dra hannoniken till sig på detta sätt på temanivå.
Fig. 3 illustrerar schematiskt tvà ackord- och skalsekvensindatastämmpr, CS1 och C82, från tänkta exemplifierande teman T, och Tz, och en tidsaxel för den genererade ackord- och skalsekvensstämman, menade att hanteras av CS-generatom. l enlighet med vad som ovan diskuterats kommer CS, i ett första steg att innehålla fyra sektorer med gränsema 0, 8, 16, 20, 24 (=0 (mod 24)). Dessa innehåller dimensioner som bl a beskriver aktuellt ackord, (C. G, D resp. G-durtreklanger) samt aktuell skala (G-durs kala i alla sektorer utom i (16, 20) som innehåller en D-durskala. CS, är konfigurerad med en cykelsignatur {24, 8) för samtliga beräkningar. C82 kommer på motsvarande sätt att i steg ett innehålla fyra sektorer med gränsema 0, 8, 16, 24, 32 (= 0 (mod 32)). C82 är konfigurerad med en cykelsignatur {32, 16) för samtliga beräkningar. CS-generatoms stegcykel blir med endast dessa två indatastämmor största gemensamma delaren av de kortaste cyklema (8, 16) = 8. Med hjälp av ekvation (3) erhålls för CS-generatom mängden B = A{0, 4) och starttidpunkterna i mängden K = (0, 4}a = (0, 4, 8, 12, 16, ...}. Sektorema i både CS, och CS; delas sedan ialla de tidpunkter som anges av K. CS, och CS, kommer att bestå av sex respektive åtta sektorer av längd fyra. CS-generatoms kritiska tidpunkter är markerade på tidsaxeln 30 längst ner i figuren.
På motsvarande sätt behandlas melodiindatastämmoma till Ti: Mel, och Tz: Melz enligt fig. 4, med cykelsignaturema {24, 8, 4) resp (32, 16}. Mel-generatorn får stegcykel sgd (8, 4, 16) = 4. 8 är överordnad generators stegcykel som räknades fram i fig. 3 och som skall som tidigare redovisats tas med i beräkningen av den underordnade generatoms stegcykel. Mängden B = (O, 2, 3), 3:an iB kommer från 19 (mod 4), övriga ansättningstidpunkter ger 0 eller 2, exempelvis 4(mod 4) = 0, 10(mod 4) = 2. Vid bildandet av Mel-generatorns B skall överordnad generators (CS) B tas med, men i detta fall ger den inga ytterligare element. Mel-generatorns mängd K = (O, 2, 3)., = {0, 2. 3, 4, 6, 7, 8, 10, 11, ....} och är markerad på tidsaxeln 40 längst ner i figuren. Sektorerna i Mel, och Melz delas sedan ialla tidpunkteri K där en sektorsgräns inte redan föreligger. l tig. 5 âskådliggörs hur indatatemat T, är cykliskt. Detta gäller även T, ovan och de flesta teman som används av föreliggande uppfinning. len utföringsforrn kan även ickecykliska teman användas för inledningar och avslutningar av den genererade musiken.
Kt\Palanl\1 10-\11010B200\P1 101082001100 10 15 20 25 30 35 few-v -nr- ”S I f I' i íflui víï Éutfutš 'tf-tf. fån" tutfiï' QQQIQ. II IIÜÜÖIÖ ÛI II Ü. . Ö I UOI O I I Q II Ö Û. Ü 33 l fig. 6 visas hur en generator finner ett relevant värde för beräkning av nästa genererade datum ur ett suffixträd 60 med rot 62 genom jämförelse via svanslikhet enligt en utföringsform av föreliggande uppfinning. Trädet härbergerar en del av informationen i nâgra av en indatastämmas sektorer. Följande tabell visar tre på varandra följande sektorer från stämman.
Sektor m-1 m m+1 v(1, m-1) v(1, m) v(1, m+1) v(2, m-l) v(2, m) v(2, m+_1) v(3, m-1) v(3, m) - v(3, m+1) , Tabellen visar sektorerna m-1, m och m+1, vardera innehållande värden v (a. b) för tre olika dimensioner 1, 2 och 3. De heldragna nodema i figuren visar hur värdet pà dimension 2 i en sektor i, v(2, i), beror av v(1, i), v(3, i-1) och v(1, i-1).
Jåmförelsesträngen är i detta fall (1 )(3, 1). Figuren är delad av en lodrät streckad linje. Till vänster finns historiesidan. till höger framtidssidan. Med detta skall förstås att värden på framtidssidan beror av värden på historiesidan. De streckade nodema på framtidssidan antyder att de kan växa ut till subträd i det fall flera dimensioner förs in på framtidssidan. Detta kan göras för att härbergera information om hur dessa dimensioner samvarierar.
I föreliggande utföringsform av uppfinningen åstadkommes länkningen av värden i forrn av ett suffixträd 60, men andra förut kända länkningar är för den skull inte uteslutna.
I föreliggande exempel finner generatom ett värde V(2, m) på nivànldjupetß vilket innebär tillräcklig svanslikhet enligt ett fömtbestämt kriterium för djup för att kvalificera som indata för beräkningen av nästa genererade datum. l beräkningen tas även hänsyn till den frekvens med vilken det aktuella värdet v(2, m) förekommer, samt aktuell tillstàndsvikt för indatastämman. Som framgår kan v(2, m) vara ett av flera värden i en lista 64 i den aktuella noden, i det falltrådet är byggt på en kortare cykel än temats hela längd.
Fig. 7 illustrerar schematiskt hur ett suffixträd härbergerar information från en 'indatastämma om hur värden på dimensioner i sektor m beror av värden på dimensioner i sektor m-1 enligt en utföringsforrn av föreliggande uppfinning. indatastämman är en melodiindatastämma och kan vara en av flera som används av en melodigenerator som material till en genererad melodi. Varje sektori indatastämman har en uppsättning dimensioner, var och en med ett värde som beskriver stämmans egenskaper i den sektorn enligt följande tabell över nâgra sektorer och deras dimensionsvärden.
Sektor m Sektor m-l K:\Patent\1 10-\1 10108200\P1 1 01 08200.d0c 10 15 20 25 30 34 ReIPiiChJn-z Re|Pimh_m-1 RelPitch_m OffCC_m-2 OffCC_m-1 OffCC_m OnCC_m-2 OnCC_m-1 OnCC_m Dir_m-Z Dir_m-1 Dir_m PitchReg__m-2 PitchReg_m-1 PitchReg__m Ost_m-2 Ost_m-1 0st_m Off_m-2 Off__m-1 Off__m Tabellen innehåller bara tre sektorer. en indatastämma kan innehålla betydligt fler. Trädet i fig.7 kan användas för att välja indata för beräkningen av tonhöjd i en ny genererad sekter.
Trädet i fig. 7 har roten markerad som 70 och historia pá vänster sida 'om den streckade linjen samt framtid pâ höger sida om linjen. _ Jämförelsesträngen för det aktuella beräkningen är ()(0ffCC, OnCC, Off, Dir).
Den tomma tuppeln först i strängen skall tolkas som att inga värden i m används för att betsåmma tonhöjd im. Dimensionsvärden i enlighet med jämförelsesträngen âterfinns t.v. om den streckade linjen som den s.k. historiestrången.
I Fràn varje nod i historiesträngen byggs en "framtidsgren" som härbergerar informationen om hur ny tonhöjd beror av historiesträngen pà respektive djup. Dessa framtidsgrenar återfinns t.h. om den streckade linjen i figuren. Framtidsgrenama kommer om flera olika värden förekommer i de inre noderna att bilda subträd enligt vad som redovisas i förklaringen till figur 6.
Dimensionerna ijämförelsesträngen är: o OffCC, tonhöjdens konsonansvärde i efterföljande sektor; o OnCC, tonhöjdens konsonansvärde idenna sektor. o Off, sluttid för denna sektor (= samma som starttid för nästa), o Dir, riktning på den melodiska rörelsen som gav tonhöjden i denna sektor.
Dimensionerna iframtidsgrenarna är: o Re|Pitch, sektoms tonhöjd relativt tonhöjden i föregående strike, uttryckt i halvtoner upp eller ner, i o OnCC, tonhöjdens konsonansvärde i denna sektor. OnCC finns med för att möjliggöra att den valda tonhöjden ska kunna lösas upp till minst detta värde mot den aktuella harmoniken iden genererade musiken.
K:\Patent\1 10-\110108200\P1 101082001100 10 15 20 25 30 35 35 ø PitchReg uttrycker registret som den nya tonhöjden hamnar på. Den kan användas för att vikta olika alternativ i omvänd proportion till avståndet till de register de hamnar pà vid genereringen. Se vidare registerdimensioner i ordlistan.
Trädet byggs så att dimensionsvärden från alla indatastämmans sektorer förs in i historiesträngar och framtidsgrenar så som beskrivs av fig. 7.
En melodigenerator genererar enstämmiga melodier på basis av sina indatastämmor. Antag att en melodigenerator, enligt den algoritm för ljudande generatorer som skissats ovan, har bestämt sig för att anslå en ny ton. Jämförelsesträngen och det fömtbestämda minimala djupet definierar att indata till beräkningen ny tonhöjd i nästa genererade sektor g kan väljas fràn framtidsgrenen vid detta djup om svanslikhet enligt jämförelsesträngen föreligger. Om tex det förutbestämda minimala djupet är fyra och värdena i den senast genererade sektom 9-1 motsvarar värdena i m-1, dvs att OffCC_g-1 = 0ffCC_m-1 (a) OnCC_g-1 = OffCC_m-1 (b) Off__g-l = Off_m-1 (c) Dir_g-1 = Dir_m-1 (d), så kan indata till beräkningen skrivas i den lista för alternativ som generatom skickar mnt (se nedan) enligt framtidsgrenen längst ner t.h. i fig.7. Om det minimala djupet är tre och likhetema (a) - (c) gäller så kan indata väljas från framtidsgrenen näst längst ner t.h. etc.
Tidpunkten Off jämförs med den aktuella indatastämmans eget sNu och likhet (c) gäller om ekvation (1) är uppfylld med värdet för den cykel som trädet är byggt på I modellen i en utföringsform av föreliggande uppfinning, dock ej i som egen dimension i detta förfarande, finns distinktionen steg/språng avseende melodins intervall.
Mönster av steg/språng i melodiindatastämmoma skall ha bäring på den genererade melodin. l det fall konflikt uppstår mellan OnCC och steg/språng, t ex om aktuellt konsonansvärde inte kan nås utan språng så måste en algoritm lösa dessa konflikter. Här kan i en utföringsform användaren konfigurera systemet enligt sina preferenser.
I vilken ordning de olika dimensionema sätts in i framtidsgrenenarna saknar ' betydelse. förutom att PitchReg som har kontinuerlig värdemängd måste sitta i löven.
Förekomstfrekvensema skrivs också in iframtidsgrenamas löv. Vid viktning för olika altemativ samlas värdena ihop och värdena för RelPitch skrivs in i listan tillsamman med sina vikter som i detta fall blir produkten av förekomstfrekvens och tillstândsvikt, ev justerat med hänsyn till register som antytts ovan.
I fig. 8 illustreras hur en generator skickar runt en lista för alternativ till sina indatastämmor lSt, lSg, IS, för att samla in indata till nästa beräkning av musikaliska data enligt förfarandet beskrivet i fig. 7. lndatastämmoma skriver sina indata i listan om dess vikt K:\Pat0nt\'l10-\1l0l08200\P110108200.d0c 10 15 20 25 ooo ooo o o oo o oo oooo oo oo o o o o o o o o o o o o o o o o o i o o o o o o o o o o 00 ooo o o o o o o ooo o o o o o o o o o o o o o o v o o o o 0 o I I o o o o o o oo o oo lo 36 är större än noll och efterfrågad svanlikhet föreligger enligt óvan. Vad som händer. om denna efterfrågade likhet inte föreligger är olika vid olika beräkningar.. Om det för den aktuella beräkningen mänas om att varje indatastämma får bidra med data så skickas listan en gång till varje indatastämma och kraven minskas ”lokalt” för varje indatastämma till en viss nivà och data väljs från indatastämman om kraven blir uppfyllda. Denna strategi kallas egalitär.
Om däremot för den aktuella beräkningen det väljs mellan de altemativ som uppvisar sà stor svanslikhet som möjligt så sänds listan runt till alla indatastämmor varv efter varv och kraven sänks efter varje varv ner till en-viss nivà eller tills dess att någon eller några indatastâmmor skrivit i listan. Denna strategi kallas “först-till-kvam".
Oavsett vilken strategi sum väljs för ett visst beslut så kan kravet pà svanslikhet sänkas pà två olika sätt. Nästan alla beräkningar av svanslikhet tar hänsyn till tidpunkten för var i den aktuella indatstämman som de jämförda värdena finns. och vilka data som därrned väljs. De aktuella sektoremas starttid eller sluttid är alltså ett av de dimensionsvärden som jämförs. Antingen kan ett krav pá uppvisad svanslikhet sänkas genom att sänka kravet pà djup i svanslikheten eller så sänks kravet genom att söka efter svanslikhet iträd som byggts på kortare cykler, dvs att söka efter svanslikhet på tidpunkter som är allt mindra lika indatastämmans aktuella sNu.
För vissa beräkningar måste även vissa andra krav vara uppfyllda för att indatastämman skall kunna skriva i listan. Exempelvis, kan krav finnas på vissa likheter mellan cykelsignaturerna hos den aktuella indatastämman och indatastämman med störst dynamisk vikt. ' Fig. 9 illustrerar hur respektive generatorer i föreliggande uppfinnings initiering hämtar stämmor av sin respektive stämtyp från indatatemana 1, 2 och 3.
Anordningens organ enligt föreliggande uppfinning kan utgöras av programvara och/eller en kombination av hårdvara och densamma. uppfinningen enligt föreliggande beskrivning har beskrivits genom exempel och utföringsforrner, men det är bilagda patentkravs avfattning som anger skyddsomfånget för en fackman inem teknikømråiiei. ------_.._-_.
K:\i=aieni\11o-\11o1oa2oo\i>1ioioazooiioc

Claims (38)

10 15 20 25 30 35 37 Patentkrav
1. Förfarande för musikalisk avbildning av en extem process (10) genom en uppsättning dynamiska vikter (12) som avbildar den extema processens tillstånd, med användande av material från åtminstone tvâ musikteman (20), varvid minst ett består av åtminstone en indatastämma och tilldelas vardera en av nämnda dynamiska vikter, och att musikaliskt material från varje musiktema (20) används mer i den genererade musiken ju högre dess vikts andel är av summan av samtliga musiktemans vikter, samt ett gränssnitt för överföring av den genererade musiken (22) till en musikuppspelningsanordning (18). k ä n n e t e c k n a t av att det ytterligare innefattar: musikgeneratorer för olika stämtyper som genererar musik av material från indatastämmor av musikgeneratoremas respektive stämtyper från musikteman (20) som har stämmor av en generators specifika stämtyp; beskrivning av stâmmoma i musikternana (20) och de av generatorema genererade stämmoma som ordnade följder av sektorer där varje sektor har en utsträckning i tiden och varje sektors sluttid är identisk med efterföljande sektors starttid, varvid varje sektor innehåller en uppsä ttning värden som beskriver stämmans egenskaper mellan sektorns starttid och sluttid i ett antal musikaliska dimensioner och där typema på dessa värden är olika för olika stämtyper; bestämning av värden för en ny sektor i en av en generator genererad stämma avseende den genererade stämmans egenskaper i den nya sektom, varvid värden för den nya sektom bestäms ur värden valda ur åtminstone en uppsättning länkade värden erhållna ur indatastämmor, genom jämförelse av värden i de senast genererade sektorerna i den genererade stämman med värden för stämmor innefattade i uppsättningarna av länkade värden, varvid värden väljs som bäst motsvarar de värden som föregående genererade sektorer innefattade i enlighet med ett av en uppsättning förutbestämda kriteria; och beräkning av värden för ny sektor l den genererade stämman utifrân nämnda valda värden och respektive indatastämmas temas dynamiska vikt i aktuellt tillstånd och överföring av beräknade värden till nämnda gränssnitt.
2. Förfarande enligt krav 1, k ä n n e t e c k n at av: generering av musikmaterial via nämnda generatorer genom en för varje stämtyp fömtbestämd sekvens av beräkningar för fastställande av den genererade stämmans egenskaper, varvid nämnda sekvenser genomlöps av generatom i en följd av starttidpunkter; tillordning av cykelsignaturer till varje indatastämma i varje musiktema (20), en för var och en av nämnda beräkningar, där varje cykelsignatur består av ett antal heltal, K:\Patent\1 10-\110108200\P110108200.dot: 10 15 20 25 30 35 e-fnlfi - -f no: 1. . win-o .av :... :...: a. qe.: .u. un: .ee. .ee- e oo o: oo noe e o e a I e! een co o ve eoeenee o 0 OO II I I I I II I I I I I Q l I' Û e e e e o e se n en en 38 varvid det största heltalet är ett mått på en stämmas längd och varvid alla heltal i cykelsignaturen delar alla större heltal icykelsignaturen; bildandet av en stegcykel för åtminstone en generator, varvid stegcykeln är den största gemensamma delaren av alla heltal i alla cykelsignaturer som hör till de stämmori musiktemana (20)som hör till en generator; bildandet av en mängd heltal för åtminstone en generator, genom starttidpunkterna för sektorer i en stämma som hör till en generator och genom generatoms stegcykel via en första förutbestämd formel för beräkning av nämnda heltal; bildandet av en uppsättning av starttidpunkter för åtminstone en generator, genom en andra förutbestämd formel för beräkning av heltal, som innefattar elementen från nämnda mängd heltal under användning av generatorns stegcykel; delning av alla sektorer, för varje generator, i alla de indatastämmor i" musiktemana (20) som hör till generatom i alla resultat av beräkningar för nämnda andra formel, som är mindre än stämmans längd så att varje delad sektor bildar två på varandra följande sektorer och varvid alla sektorer beskriver stämmans egenskaper mellan sektoms start och sluttid; och bestämning av startid för nästa av generatorn genererade sektor till det lägsta beräknade resultatet i den andra fonneln i generatorns uppsättning av samtliga resultat av beräkningar med nämnda andra formel som är större än senaste genererade sektors starttid och uppräkning av starttidpunkt för alla indatastämmor som hör till generatom med skillnaden av denna gen eratoms nya starttid och dess senaste, och anpassning av aktuell r starttidpunkt för en indatastämma till ny starttidpunkt genom jämförelse av en genererad stämma och en stämma som hör till indatastämmans tema (20) om den genom jämförelsen givna starttidpunkten uppfyller någon av en uppsättning förutbestämda kriteria.
3. Förfarande enligt krav 1 eller 2, k ä n n e t e c k n a t av bestämning av tidpunkt för ljudande toners bortlyftande i en genererad stämma med beräkning omfattande värden från en sektor i en indatastämma avseende kvoten mellan avståndet mellan tidpunkt för föregående ansä ttning av toner och tidpunkt för toners bortlyftande och avståndet mellan tidpunkt för föregående ansättning av toner och tidpunkt för efterföljande ansättning av toner, ' eller denna kvots invers.
4. Förfarande enligt krav 1-3, k ä n n e t e c k n a t av att lndata vid föreliggande uppfinnings lnitiering eller uppstart innefattar: ett förutbestämt antal musikaliska teman (20) T: (b, tg, t,.}, varvid temana (20) innefattar musikalisk information i form av noter eller motsvarande samt information om hur notema skall tolkas, benämnd konfigureringsinformation; en uppsättning dynamiska vikter S:{s,, sz, ..., smj; en tilldelning T -> S så att varje t tilldelas ett och endast ett s, vilken kan sakna K'.\Patent\1 10-\110108200\P110108200.d0c 10 15 20 25 30 35 U' I lxll - Ja. Cl i 'l nu ene e e en I eo een: 00 00 e o e e e o e e e e o I e I e e e e e e e e e e o I 0 O 00 een se e ee eeneeee e e ee ev 0 e e e e e e e o v e o 0 0 I I n e e e e e eo n se ce 39 invers, varvid ett och samma s kan gälla för flera t: och att under exekvering värdena på de dynamska vikterna S är möjliga att avläsa.
5. Förfarande enligt krav 1-4. k ä n n e t e c k n at av att ett tema (20) innehåller flera stämmor av samma typ, varvid om det största antalet stämmor av en förutbestämd typ i något tema (20) är n, innefattas n generatorer av nämnda fömtbestämda *VP-
6. Förfarande enligt krav 1-5, k ä nn e t e c k n a t av nämnda länkade värden innefattas isuffixträd (60).
7. Förfarande enligt krav 1, k ä n n e t e c k n at av att, för att hitta rätt material i indatastämmor använder generatorema en ny princip som benämns partiell svanslikhet hos flerdimensionella strängar.
8. Förfarande enligt krav 1-7, k ä n n e t e c k n at av att det är implementerat i form av ett datorprogram, varvid programmet innehåller ett flertal klasser, varav de flesta representerar olika musikaliska egenskaper. varvid de viktigaste klassema som bär upp programmets infrastruktur är: StateManager ansvarar för de dynamiska viktema och tilldelningen av viktema på teman (20), varvid vid musikgenerering stateManager avbildar nämnda process (10) tillstànd (12) pà vikterna; ThemeManager läser in teman (20) från en fil och associerar varje tema (20) med en dynamisk vikt enligt instruktioner från StateManager; Producer åstadkommer genereringen av musikaliskt material och styr generatorema; Generators av olika typer hämtar information från stämmor i ett eller flera teman (20) och åstadkommer representationer av dess stämmor och genererar musik på kommando av Producer via en metod generateUntil tidpunkt t, varvid en generator genererar information avseende åtminstone en av när toner börjar och slutar, hur starka olika klangfärger är i förhållande till varandra, volym och tempo, eller styr efterbearbetning av den syntetiskt alstrade akustiska signalen med hjälp av reverb, kompression via meddelanden till en Sequencer, varvid varje generator skriver det genererade materialet till Sequencer, ' Sequencer mottar musikalisk information fràn generalorerna och spelar upp den på nämnda musikuppspelningsanordning i enlighet med dess tidstämplar, varvid tidstämplarna är uttryckta i musikalisk tid, där Sequencer även beaktar tempo.
9. Förfarande enligt krav 1-8, k ä n n e t e c k n at av att en förutbestämd del av stämtyper är överordnade andra pà så sätt att värden iöverordnad typ påverkar värden i underordnad typ.
10. Förfarande enligt krav 1-10, k ä n n e t e c k n at av att alla relationer mellan stämmor i över- och underordnade stämtyper bildar ett träd (60) där alla bam är
11. K2\Patent\110-\110106200\P110108200.d0c 10 15 20 25 30 35 40 underordnade sina föräldrar, varvid stämtypen i roten inte är underordnad någon annan stämtyp, varvid stämtypen benämns primär. ' j 11. Förfarande enligt krav 1-10, k ä n n e t e c k n at av att för varje beräkning som innebär att värdet för en dimension fastställes utan en trivial uppdatering från en eller flera andra dimensioner finns en jämförelsesträng och en cykelsignatur och ett minimalt djup, varvid jämförelsesträngen stipulerar vilka dimensioner i vilka sektorer och i vilken ordning som skall jämföras, och varvid en generator vid sådana beräkningar åstadkommer hänsyn till värden från en indatastämma om: indatastämmans tema (20) har en dynamisk vikt större än noll; och det är möjligt att finna svanslikhet av minst minimalt djup mellan den nyligen genererade stämman och indatastämman enligt den jämförelsesträng som hör till aktuell beräkning och vid den position som ges av indatastämmans aktuella starttidpunkt.
12. Förfarande enligt krav 1-11 , k ä n n e t e c k n a t av att om tillräcklig svanslikhet inte existerar vid en stämmas aktuella starttidpunkt sökes likhet vid en liknande starttidpunkt, enligt den aktuella cykelsignaturen.
13. Förfarande enligt krav 1-12. k ä n n e t e c k n at av att nya, genererade värden för olika dimensioner beräknas antingen genom val eller genom interpolation, varvid val innebär att generatorn väljer ett av de altemativ som erbjuds av de indatastämmor som kan uppvisa tillräcklig svanslikhet, varvid det valda altemativet är antingen det med högst vikt eller också åstadkommes ett slumpmässigt val mellan flera altemativ med hänsyn till alternativens vikter så att tyngre alternativ har större chans att bli valda.
14. Förfarande enligt krav 13, k ä n n e t e c k n at av att vid interpolation vägs en eller flera stâmmors olika värden samman, varvid hänsyn tas till stämmomas dynamiska vikter, men även till den frekvens med vilken ett visst värde förekommer vid den givna historiesträngen, där olika värden kan existera vid samma jämförelsesträng och djup eftersom flera tidpunkter kan vara snarlika varandra, och vid interpolation en eller flera stämmors olika värden viktas samman, där stämmomas dynamiska vikter beaktas, men även till den frekvens med vilken ett visst värde förekommer vid en given historiesträng, och ' varvid flera olika värden kan finnas vid samma jämförelsesträng och djup eftersom flera tidpunkter kan vara snarlika varandra.
15. Förfarande enligt krav 1-14, k ä n n e t e c k n at av att sökning över största cykel till ett visst djup d innebär att svanslikhet krävs till djupet d för aktuell tidpunkt sNu (mod n), där n är måttet på en stämmas hela längd. ,
16. Förfarande enligt krav 15, k ä n n e t e c k n at av att strängheten i nämnda krav kan sänkas i olika ordning, varvid jämförelse kan åstadkomas med krav pà KZ\Pa!ent\110-\1 10108200\P1 101082001106 10 15 20 25 30 35 41 stort djup men vid allt mindre lika tidpunkter eller med allt mindre krav pà djup men lförsta hand vid mer lika tidpunkter.
17. Förfarande enligt krav 1-16, k ä n n e t e c k n at av att det även ästadkommes att urskilja olika strategier i jämförelse, i den meningen att material hittas från en eller ett fåtal stämmor eller att det strävas efter att hitta material fràn så många stämmor som möjligt, varvid strategin innebär att detjämförs över alla stämmor samtidigt och successivt att kraven sänks med avseende pà djup och cykellängd tills en eller flera träffar erhålls, varvid strategin benämnes först-till-kvam, och varvid strategin innebär att jämförelse àstadkommes över en stämma itaget och kraven om nödvändigt sänks till ett minimum, ett lägsta djup och en minsta cykel, för att ge alla stämmor möjligheten att bidra med material, och varvid nämnda strategi benämns egalitär.
18. Förfarande enligt krav 1-17, k ä n n e t e c k n a t av att om sökning med minimala krav inte resulterar i några träffar så innebär det att inga indatastämmor känner igen sig tillräckligt mycket i det nyligen genererade materialet, varvid detta kan inträffa av olika orsaker, varvid oavsett orsak dett ytterligare existerar, att alla generatorer 'levererar under alla omständigheter, oberoende av indata.
19. Förfarande enligt krav 1-18, k ä n n e t e c k n at av att en generator som har en överordnad generator, genererar en stämma av en typ som har en överordnad typ, vid framtagandet av sin stegcykel åstadkommer att den även delar den överordnade generatoms stegcykel, samt att alla starttidpunkter i en överordnad generators B-rnängd iakttas vid bildandet av en egen B-mängd, varvid en generator inte fàr missa några tidpunkter då den överordnade stämman ändrar tillstànd (12).
20. Anordning för. Förfarande för musikalisk avbildning av en extern process (10) genom en uppsättning dynamiska vikter (12) som avbildar den externa processens tillstànd, med användande av material fràn åtminstone två musikteman (20), varvid minst ett består av åtminstone en indatastämma och tilldelas vardera en av nämnda dynamiska vikter, och att musikaliskt material från varje musiktema (20) används mer i den genererade musiken ju högre dess vikts andel är av summan av samtliga musiktemans vikter, samt ett gränssnitt för överföring av den genererade musiken (22) till en musikuppspelningsanordning ' (18), k ä n n c t e c k n a t av att det ytterligare innefattar: musikgeneratorer för olika stämtyper som genererar musik av material från indatastämmor av musikgenerato remas respektive stämtyper från musikteman (20) som har stämmor av en generators specifika stämtyp; organ för beskrivning av stämmoma i musiktemana (20) och de av generatorema genererade stämmoma som ordnade följder av sektorer där varje sektor har en utsträckning i tiden och varje sektors sluttid är identisk med efterföljande sektors starttid. varvid varje sektor innehåller en uppsättning värden som beskriver stämmans egenskaper K:\Patent\110-\110108200\P110108200.d0C 10 15 20 25 30 35 flffï ÅÖï-Ã VL] TÅ-oV geo. :oo.: z ooO: .oo. ooo: 'o Ioo. o oo oo oo ooo o o o o o oo oooooo oo ooooooo oo oo oo I o o o oo o o o o o o o oo I o o o o o o oo o oo oo 42 mellan sektorns starttid och sluttid i ett antal musikaliska dimensioner och där typema pà dessa värden är olika för olika stämtyper; en modell av varje stämma som en sammanhängande följd av tidsögonblick eller sektorer/punkter, och varje sektor har en utsträckning i tiden, varvid varje sektor har ett antal egenskaper eller dimensioner, där typema pä dessa egenskaper/dimensioner är olika för olika stämtyper, och varvid varje stämtyp definierar ett rum med en uppsättning dimensioner och att varje sektor i en stämma har värden för alla dimensioner. organ för bestämning av värden för en ny sektor i en av en generator genererad stämma avseende den genererade stämmans egenskaperi den nya sektorn, varvid värden för den nya sektom bestäms ur värden valda ur åtminstone en uppsättning länkade värden erhållna ur indatastämmor, genom jämförelse av värden i de senast genererade sektorema i den genererade stämman med värden för stämmor innefattade i uppsättningarna av länkade värden, varvid värden väljs som bäst motsvarar de värden som föregående genererade sektorer innefattade i enlighet med ett av en uppsättning förutbestämda kriteria; och~ organ för beräkning av värden för ny sektor i den genererade stämman utifrån nämnda valda värden och respektive indatastämmas temas dynamiska vikt i aktuellt tillstànd och överföring av beräknade värden till nämnda gränssnitt .
21. Anordning enligt krav 20, k ä n n e t o c k n a d av: generering av musikmaterial via nämnda generatorer genom en för varje stämtyp förutbestämd sekvens av beräkningar för fastställande av den genererade stämmans egenskaper, varvid nämnda sekvenser genomlöps av generatom i en följd av starttidpunkter; tillordning av cykelsignaturer till varje indatastämma i varje musiktema (20),ien för var och en av nämnda beräkningar, där varje cykelsignatur består av ett antal heltal, varvid det största heltalet är ett mått på en stämmas längd och varvid alla heltal i cykelsignaturen delar alla större heltal i cykelsignaturen; bildandet av en stegcykel för åtminstone en generator, varvid stegcykeln är den största gemensamma delaren av alla heltal i alla cykelsignaturer som hör till de stämmori musiktemana (20) som hör till en generator; bildandet av en mängd heltal för åtminstone en generator, genom starttidpunkterna för sektorer i en stämma som hör till en generator och genom generatoms stegcykel via en första förutbestämd formel för beräkning av nämnda heltal; bildandet av en uppsättning av starttidpunkter för åtminstone en generator, genom en andra förutbestämd formel för beräkning av heltal. som innefattar elementen från nämnda mängd heltal under användning av generatorns stegcykel; delning av alla sektorer, för varje generator, ialla de indatastämmori musiktemana (20) som hör till generatom i alla resultat av beräkningar för nämnda andra K:\Patent\110-\110108200\P110108200.d0c Ice 0 O Û 0 en: c noe u oeeo 000 o u o o leo 10 15 20 25 30 35 formel, som är mindre än stämmans längd så att varje delad sektor bildar tvà pà varandra följande sektorer och varvid alla sektorer beskriver stämmans egenskaper mellan sektorns start och sluttid; och bestämning av startid för nästa av generatom genererade sektor till det lägsta beräknade resultatet i den andra formeln i generatorns uppsättning av samtliga resultat av beräkningar med nämnda andra formel som är större än senaste genererade sektors starttid och uppräkning av starttidpunkt för alla indatastämmor som hör till generatom med skillnaden av denna gen eratoms nya starttid och dess senaste, och anpassning av aktuell starttidpunkt för en indatastämma till ny starttidpunkt genom jämförelse av en genererad stämma och en stämma som hör till indatastämmans tema (20) om den genom jämförelsen givna starttidpunkten uppfyller någon av en uppsättning förutbestämda kriteria.
22. Anordning enligt krav 20 eller 21, k ä n n e t e c k n a d av bestämning av tidpunkt för ljudande toners bortlyftande i en genererad stämma med beräkning omfattande värden fràn en sektor i en indatastämma avseende kvoten mellan avståndet mellan tidpunkt för föregående ansättning av toner och tidpunkt för toners bortlyftande och avståndet mellan tidpunkt för föregående ansä ttning av toner och tidpunkt för efterföljande ansättning av toner, eller denna kvots invers.
23. Anordning enligt krav 20-22, k ä n n e t e c k n a d av att indata vid föreliggande uppfinnings initiering eller uppstart innefattar: ett fönltbestämt antal musikaliska teman (20) T: (h, tz, t,,}, varvid temana (20) innefattar musikalisk information iform av noter eller motsvarande samt infonnation om hur notema skall tolkas, benämnd konfigureringsinforrnation; en uppsättning dynamiska vikter S:{s1, sz, s,,.}; en tilldelning T -> S så att varje ttilldelas ett och endast ett s, vilken kan sakna invers, varvid ett och samma s kan gälla för flera t; och att under exekvering värdena pá de dynamska vikterna S är möjliga att avläsa.
24. Anordning enligt krav 20-23, k ä n n e t e c k n a d av att ett tema (20) innehåller flera stämmor av samma typ, varvid om det största antalet stämmor av en förutbestämd typ i något tema (20) är n, innefattas n generatorer av nämnda förutbestämda ' 'IYP-
25. Anordning enligt krav 20-24, k ä n n e t e c k n a d av nämnda länkade värden innefattas i suffixträd (60).
26. Anordning enligt krav 20, k ä n n e t e c k n a d av att, för att hitta rätt material i indatastämmor använder generatorema en ny princip som benämns partiell svanslikhet hos flerdimensionella strängar.
27. Anordning enligt krav 20-26, k ä n n e t e c k n a d av att det är implementerat i form av ett datorprogram. varvid programmet innehåller ett flertal klasser, KZ\Patent\1 10-\110108200\P1 101082001100 5 10 15 20 25 30 35 fïl .J *xl varav de flesta representerar olika musikaliska egenskaper, varvid de viktigaste klassema som bär upp programmets infrastruktur är att: StateManager ansvarar för de dynamiska viktema och tilldelningen av viktema på teman (20), varvid vid musikgenerering stateManager avbildar nämnda process (10) tillstànd (12) på viktema; i ThemeManager lä ser in teman (20) från en fil och associerar varje tema (20) med en dynamisk vikt enligt instruktioner från StateManager; Producer åstadkommer genereringen av musikaliskt material och styr generatorema; Generators av olika typer hämtar information från stämmor i ett eller flera teman (20) och åstadkommer representationer av dess stämmor och genererar musik på kommando av Producer via en metod generateUntil tidpunkt t, varvid en generatorigenererar infonnation avseende åtminstone en av när toner börjar och slutar, hur starka-olika klangfärger är i förhållande till varandra, volym ochtempo, eller styr efterbearbetning av den syntetiskt alstrade akustiska signalen med hjälp av reverb, kompression via meddelanden till 'en Sequencer, varvid varje generator skriver det genererade materialet till Sequencer; Sequencer mottar musikalisk information fràn generatorema och spelar upp den pà nämnda musikuppspelningsanordning i enlighet med dess tidstämplar, varvid tidstämplarna är uttryckta i musikalisk tid, där Sequencer även beaktar tempo.
28. Anordning enligt krav 20-27, k ä n n e t e c k n a d av att en förutbestämd del av stämtyper är överordnade andra pà så sätt att värden i överordnad typ påverkar värden i underordnad typ.
29. Anordning enligt krav 20-28. k ä n n e t e c k n a d av att alla relationer mellan stämmor i över- och underordnade stämtyper bildar ett träd (60) där alla bam är underordnade sina föräldrar, varvid stämtypen i roten inte är underordnad någon annan stämtyp, varvid stämtypen benämns primär.
30. Anordning enligt krav 20-28, k ä n n e t e c k n a d av att för varje beräkning som innebär att värdet för en dimension fastställes utan en trivial uppdatering från en eller flera andra dimensioner finns en jämförelsesträng och en cykelsignatur och ett ' minimalt djup, varvid jämförelsesträngen stipulerar vilka dimensioner i vilka sektorer och i vilken ordning som skall jämföras, och varvid en generator vid sådana beräkningar åstadkommer hänsyn till värden från en indatastämma om: indatastämmans tema (20) har en dynamisk vikt större än noll; och det är möjligt att finna svanslikhet av minst minimalt djup mellan den nyligen genererade stämman och indatastämman enligt den jämförelsesträng som hör till aktuell beräkning och vid den position som ges av indatastämmans aktuella starttidpunkt. K2\Patent\110-\11010B200\P110108200.d0t: 5 10 15 20 25 30 35 l-ßg-I A3!- É* 1.' üfl/H 5' I Ii* :Q0. :IC.: I. 00.: OI. QIO: .Il. .OO- l II IC OO CCI O I I I Ö Ü. nnn nn n nn nnnnnnn n n nn nn n n n n nn n n n I 0 I ß I' 0 n n n n n n nn n nn nn
31. Anordning enligt krav 20-30, k ä n n e t e c k n a d av att om tillräcklig svanslikhet inte existerar vid en stämmas aktuella starttidpunkt sökes likhet vid en liknande starttidpunkt, enligt den aktuella cykelsignaturen.
32. Anordning enligt krav 20-31, k 'a' n n e t e c k n a d av att nya. genererade värden för olika dimensioner beräknas antingen genom val eller genom interpolation, varvid val innebär att generatom väljer ett av de altemativ som erbjuds av de indatastämmor som kan uppvisa tillräcklig svanslikhet, varvid det valda altemativet är antingen det med högst vikt eller också àstadkommes ett slumpmässigt val mellan flera altemativ med hänsyn till altemativens vikter så att tyngre altemativ har större chans att bli valda. _
33. Anordning enligt krav 32, k ä n n e te c k n a d av att vid interpolation vägs en eller flera stämmors olika värden samman. varvid hänsyn tas till stämmomas dynamiska vikter, men även till den frekvens med vilken ett visst värde förekommer vid den givna historiesträngen. där olika värden kan existera vid samma jämförelsesträng och djup eftersom flera tidpunkter kan vara snarlika varandra, och vid interpolation en eller flera stämmors olika värden viktas samman, där stämmomas dynamiska vikter beaktas, men även till den frekvens med vilken ett visst värde förekommer vid en given historiesträng, och varvid flera olika värden kan finnas vid samma jämförelsesträng och djup eftersom flera tidpunkter kan vara snarlika varandra.
34. Anordning enligt krav 20-33, k ä n n e t e c k n a d av att sökning över största cykel till ett visst djup d enligt en utföringsform av föreliggande uppfinning innebär att svanslikhet krävs till djupet d för aktuell tidpunkt sNu (mod n), där n är måttet pâ en stämmas hela längd.
35. Anordning enligt krav 34, k ä n n e t e c k n a d av att strängheten i nämnda krav kan sänkas i olika ordning, varvid jämförelse kan åstadkomas med krav på stort djup men vid allt mindre lika tidpunkter eller med allt mindre krav på djup men i första hand vid mer lika tidpunkter.
36. Anordning enligt krav 20-35. k ä n n e te c k n a d av att det även àstadkommes att urskilja olika strategier i jämförelse, iden meningen att material hittas från ' en eller ett fåtal stämmor eller att det strävas efter att hitta material från så många stämmor som möjligt, varvid strategin innebär att det jämförs över alla stämmor samtidigt och successivt att kraven sänks med avseende pâ djup och cykellängd tills en eller flera träffar erhålls, varvid strategin benämnes först-till-kvam, och varvid strategin innebär att jämförelse àstadkommes över en stämma i taget och sänker kraven till ett minimum, ett lägsta djup och en minsta cykel, för att ge alla stämmor möjligheten att bidra med material, och varvid nämnda strategi benämns egalitär. K2\Palent\1 10-\1 10108200\P1 101082001100 10 »___ , 46
37. Anordning enligt krav 20-36. k ä n n e t ec k n a d av att om sökning med minimala krav inte resulterar i nàgra träffar så innebär det att inga indatastämmor känner igen sig tillräckligt mycket i det nyligen genererade materialet, varvid detta kan inträffa av olika orsaker, varvid oavsett orsak dett ytterligare existerar, att alla generatorer levererar under alla omständigheter, oberoende av indata.
38. Anordning enligt krav 20-37, k ä n n e t e c k n a d av att en generator som har en överordnad generator, genererar en stämma av en typ som har en överordnad typ, vid framtagandet av sin stegcykel/djup d åstadkommer att den även delar den överordnade generatorns stegcykel, samt att alla starttidpunkter i den överordnade generatorns B-mângd iakttas vid bildandet av en egen B-mängd, varvid en generator inte får missa några tidpunkter då den överordnade stämman ändrar tillstànd (12). -.-_--..-.- Kt\Palent\1 10-\1 10108200\P1 101 082001106
SE0401804A 2004-07-08 2004-07-08 Förfarande och anordning för musikalisk avbildning av en extern process SE527425C2 (sv)

Priority Applications (5)

Application Number Priority Date Filing Date Title
SE0401804A SE527425C2 (sv) 2004-07-08 2004-07-08 Förfarande och anordning för musikalisk avbildning av en extern process
JP2007520255A JP2008506150A (ja) 2004-07-08 2005-06-10 音楽生成システム
PCT/SE2005/000879 WO2006006901A1 (en) 2004-07-08 2005-06-10 A system for generating music
EP05752117A EP1766606A1 (en) 2004-07-08 2005-06-10 A system for generating music
US11/628,741 US20080156176A1 (en) 2004-07-08 2005-06-10 System For Generating Music

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0401804A SE527425C2 (sv) 2004-07-08 2004-07-08 Förfarande och anordning för musikalisk avbildning av en extern process

Publications (3)

Publication Number Publication Date
SE0401804D0 SE0401804D0 (sv) 2004-07-08
SE0401804L SE0401804L (sv) 2006-01-09
SE527425C2 true SE527425C2 (sv) 2006-02-28

Family

ID=32823009

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0401804A SE527425C2 (sv) 2004-07-08 2004-07-08 Förfarande och anordning för musikalisk avbildning av en extern process

Country Status (5)

Country Link
US (1) US20080156176A1 (sv)
EP (1) EP1766606A1 (sv)
JP (1) JP2008506150A (sv)
SE (1) SE527425C2 (sv)
WO (1) WO2006006901A1 (sv)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE528839C2 (sv) * 2006-02-06 2007-02-27 Mats Hillborg Melodigenerator
US7491878B2 (en) * 2006-03-10 2009-02-17 Sony Corporation Method and apparatus for automatically creating musical compositions
JP5051539B2 (ja) * 2008-02-05 2012-10-17 独立行政法人科学技術振興機構 モーフィング楽曲生成装置及びモーフィング楽曲生成用プログラム
US20100118033A1 (en) * 2008-11-10 2010-05-13 Vistaprint Technologies Limited Synchronizing animation to a repetitive beat source
US8438482B2 (en) * 2009-08-11 2013-05-07 The Adaptive Music Factory LLC Interactive multimedia content playback system
US10688393B2 (en) 2014-03-26 2020-06-23 Elias Software Ab Sound engine for video games
US9792889B1 (en) * 2016-11-03 2017-10-17 International Business Machines Corporation Music modeling
WO2018236962A1 (en) * 2017-06-21 2018-12-27 Cattle Pasture Studio, Llc AUTONOMOUS TOUR-PAGE FOR PARTITION
US11185254B2 (en) 2017-08-21 2021-11-30 Muvik Labs, Llc Entrainment sonification techniques
WO2019040524A1 (en) * 2017-08-21 2019-02-28 Muvik Labs, Llc METHOD AND SYSTEM FOR MUSIC COMMUNICATION
US10446126B1 (en) * 2018-10-15 2019-10-15 Xj Music Inc System for generation of musical audio composition
US11842711B1 (en) * 2022-12-02 2023-12-12 Staffpad Limited Method and system for simulating musical phrase
CN116959503A (zh) * 2023-07-25 2023-10-27 腾讯科技(深圳)有限公司 滑音音频的模拟方法、装置和存储介质及电子设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315057A (en) * 1991-11-25 1994-05-24 Lucasarts Entertainment Company Method and apparatus for dynamically composing music and sound effects using a computer entertainment system
JP3271282B2 (ja) * 1991-12-30 2002-04-02 カシオ計算機株式会社 自動メロディ生成装置
JP3364941B2 (ja) * 1991-12-30 2003-01-08 カシオ計算機株式会社 自動作曲機
US5496962A (en) * 1994-05-31 1996-03-05 Meier; Sidney K. System for real-time music composition and synthesis
US5663547A (en) * 1994-10-05 1997-09-02 Ziarno; Witold A. Method of fund-raising with a keyless contribution and gift commitment management device
US5663517A (en) * 1995-09-01 1997-09-02 International Business Machines Corporation Interactive system for compositional morphing of music in real-time
US5736666A (en) * 1996-03-20 1998-04-07 California Institute Of Technology Music composition
JP3578464B2 (ja) * 1996-09-13 2004-10-20 株式会社日立製作所 自動作曲方法
NL1008586C1 (nl) * 1998-03-13 1999-09-14 Adriaans Adza Beheer B V Werkwijze voor automatische aansturing van elektronische muziekinrichtingen door het snel (real time) construeren en doorzoeken van een datastructuur met meerdere niveau's, en systeem om de werkwijze toe te passen.
JP2000099013A (ja) * 1998-09-21 2000-04-07 Eco Systems:Kk 複数のデータからの任意な参照比率による作曲システム
JP3528654B2 (ja) * 1999-02-08 2004-05-17 ヤマハ株式会社 メロディ生成装置及びリズム生成装置と記録媒体
CA2358443A1 (en) * 1999-11-04 2001-05-10 Hiroyasu Karimoto Creation production support method and system thereof and recording medium
GB0007318D0 (en) * 2000-03-27 2000-05-17 Leach Jeremy L A system for generating musical sounds
JP3835131B2 (ja) * 2000-06-20 2006-10-18 ヤマハ株式会社 自動作曲装置及び方法並びに記憶媒体
US6822153B2 (en) * 2001-05-15 2004-11-23 Nintendo Co., Ltd. Method and apparatus for interactive real time music composition
US6933432B2 (en) * 2002-03-28 2005-08-23 Koninklijke Philips Electronics N.V. Media player with “DJ” mode
JP3823930B2 (ja) * 2003-03-03 2006-09-20 ヤマハ株式会社 歌唱合成装置、歌唱合成プログラム
JP2006106818A (ja) * 2004-09-30 2006-04-20 Toshiba Corp 音楽検索装置、音楽検索方法及び音楽検索プログラム
US7490775B2 (en) * 2004-12-30 2009-02-17 Aol Llc, A Deleware Limited Liability Company Intelligent identification of multimedia content for synchronization

Also Published As

Publication number Publication date
US20080156176A1 (en) 2008-07-03
EP1766606A1 (en) 2007-03-28
SE0401804D0 (sv) 2004-07-08
WO2006006901A1 (en) 2006-01-19
JP2008506150A (ja) 2008-02-28
SE0401804L (sv) 2006-01-09

Similar Documents

Publication Publication Date Title
Liu et al. Computational intelligence in music composition: A survey
US20080156176A1 (en) System For Generating Music
JP2017107228A (ja) 歌声合成装置および歌声合成方法
JP2010538335A (ja) 音声メロディ向けの自動伴奏
Boenn et al. Automatic music composition using answer set programming
Nakamura et al. Statistical piano reduction controlling performance difficulty
Hutchings et al. Using autonomous agents to improvise music compositions in real-time
Kitahara et al. JamSketch: Improvisation support system with GA-based melody creation from user’s drawing
Deng [Retracted] The Timbre Relationship between Piano Performance Skills and Piano Combined with Opera Music Elements in the Context of the Internet of Things
CN110867174A (zh) 自动混音装置
Huang et al. Towards an automatic music arrangement framework using score reduction
Manoury Compositional Procedures in Tensio
JP2004163446A (ja) タブ譜自動作成方法、タブ譜自動作成プログラム及びそのプログラムを記録した記録媒体
Simoni Algorithmic composition: a gentle introduction to music composition using common LISP and common music
JP2019109357A (ja) 音楽情報の特徴解析方法及びその装置
JP2006201278A (ja) 楽曲の拍節構造の自動分析方法および装置、ならびにプログラムおよびこのプログラムを記録した記録媒体
KR100762079B1 (ko) 자동음악 작곡 방법 및 자동음악 작곡 시스템
Fiore Tuning Theory and Practice in James Tenney’s Works for Guitar
Milon-Flores et al. Generating audiovisual summaries from literary works using emotion analysis
Book Generating retro video game music using deep learning techniques
San et al. Text-setting in Kaytetye
Harrison et al. A computational model for the analysis and generation of chord voicings
Wallace et al. Comparing models for harmony prediction in an interactive audio looper
Zheng A method of generating Chinese pop music melody
Shvets et al. Modelling Arvo Part’s Music with OpenMusic

Legal Events

Date Code Title Description
NUG Patent has lapsed