Home
Sistema experto de armonización en contrapunto
Contents
1. 100 End If If itinerario i b itinerario i b 1 gt 2 Then peso itinerario i peso itinerario i GradoConjunto Value 100 End If 8 Acabar con la t nica If itinerario i 5 cantus firmus 5 lt gt 12 Then If itinerario i 5 cantus_firmus 5 lt gt 0 Then peso itinerario i peso itinerario i T nicaFin Value 100 End If End If 98 Nota repetida If itinerario i b itinerario i b 1 Then peso itinerario i peso itinerario i NotaRepetida Value 100 End If 10 Tritonos mel dicos If Abs itinerario i b itinerario i b 1 6 Then peso itinerario i peso itinerario i TritonoM Value 100 End If 119 Terceras seguidas If Abs itinerario i b cantus firmus b 4 Or Abs itinerario i b cantus firmus b 3 Then If Abs itinerario i b 1 cantus firmus b 1 4 Or Abs itinerario i b 1 cantus firmus b 1 3 Then If Abs itinerario i b 2 cantus firmus b 2 4 Or Abs itinerario i b 2 cantus firmus b 2 3 Then peso itinerario i peso itinerario i TercerasSeg Value 100 End If End If End If 11b Sextas seguidas If Abs itinerario i b cantus firmus b 8 Or Abs itinerario i b cantus firmus b 9 Then If Abs itinerario i b 1 cantus firmus b 1 8 Or Abs itinerario i b 1 cantus firmus b 1
2. 7 End If If itinerario i b cantus firmus Int b 2 8 Then 6 m asc itinerario i b 1 cantus firmus Int b 2 3 End If If itinerario i b cantus firmus Int b 2 9 Then 6 M asc itinerario i b 1 cantus firmus Int b 2 4 End If If itinerario i b cantus firmus Int b 2 3 Then 39m asc itinerario i b 1 cantus firmus Int b 2 8 End If If itinerario i b cantus firmus Int b 2 4 Then 3 M asc itinerario i b 1 cantus firmus Int b 2 7 End If If itinerario i b cantus firmus Int b 2 7 Then 5 J asc itinerario i b 1 cantus firmus Int b 2 3 For n 0 To 18 42 If itinerario i b 1 notas posib n Then p 0 Next n itinerario i b 1 itinerario i b 1 p pe l End If If itinerario i b cantus firmus Int b 2 12 Then 8 J asc itinerario i b 1 cantus firmus Int b 2 7 End If If itinerario i b cantus firmus Int b 2 15 Then 10 m asc itinerario i b 1 cantus firmus Int b 2 12 End If If itinerario i b cantus firmus Int b 2 16 Then 10 M asc itinerario i b 1 cantus firmus Int b 2 12 End If End If Next b Next i V KkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK JARA REM Reglas finales de zsel coton KX Kk YO KCKCKCkCk kok X kk kk kk kok k kk X kk kakek ck kck ck X kk kok kok k For i 0 To caminos 1 Ponemos los pe
3. 10 GoTo Etiqueta End If nodos notas i p notas posib n 9 d cima If nodos notas i p gt 60 Then p p 1 If nodos notas i p gt 81 Then nodos notas i p nodos notas i p 1 If p gt 6 Then n 10 GoTo Etiqueta End If Etiqueta End If p 0 Next n Next i V KkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKA B squeda de los mejores itinerarios 35 EEE A static char peso itinerario 1000 static char peso itinerario2 1000 VO KCKCKCkCk KCkCK kk kk kk X kk kk kk X k c kokck ko koe ke koe ke ke ke x e e x x x Supongamos que el cantus firmus tiene 6 notas VK KK KCkCK kk kk kk X kk kk kk k k kokck RARA ke ke ke x e e x x Dim itinerario 50000 5 As Integer Dim peso itinerario 50000 As Single Dim a n pas b 0 For For For For For For cami 10 0 a0 al a2 a3 a4 a5 SS Oo 0 Oo o O1 010101 01 al itinerario itinerario itinerario itinerario itinerario b b b b b itinerario b ab a4 a3 a2 al nt a0 a0 b Ct F cr cr ct ct ct no total b As Integer Or NRO nodos notas nodos notas nodos notas nodos notas nodos notas 0 1 2 3 4 nodos notas 5 KKK kk kok kok X kk kk kk kk X kk kak kk kck ck ckok ck kok e ke ke x YO KCKCKCkCk KCkCK kk kk kk X kk kk A REGLAS DE CONDUCCI N DE T VOCI ES I KkKkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
4. 0 To 5 For n 0 To 10 If cantus firmus i notas posib n Then If n gt 2 Then nodos notas i p notas posib n 2 tercera inferior If nodos notas i p gt 60 Then p p 1 If nodos notas i p gt 81 Then nodos notas i p nodos notas i p 1 If p gt 6 Then n 10 34 GoTo Etiqueta End If End If nodos notas i p notas posib n 0 un sono If nodos notas i p gt 60 Then p p 1 If nodos notas i p gt 81 Then nodos notas i p nodos notas i p 1 If p gt 6 Then n 10 GoTo Etiqueta End If nodos notas i p notas posib n 2 tercera If nodos notas i p gt 60 Then p p 1 If nodos notas i p gt 81 Then nodos notas i p nodos notas i p 1 If p 6 Then n 10 GoTo Etiqueta End If nodos notas i p notas posib n 4 quinta If nodos notas i p gt 60 Then p p 1 If nodos notas i p gt 81 Then nodos notas i p nodos notas i p 1 If p gt 6 Then n 10 GoTo Etiqueta End If nodos notas i p notas posib n 5 sexta If nodos notas i p gt 60 Then p p 1 If nodos notas i p gt 81 Then nodos notas i p nodos notas i p 1 If p gt 6 Then n 10 GoTo Etiqueta End If nodos notas i p notas posib n 7 octava If nodos notas i p gt 60 Then p p 1 If nodos notas i p gt 81 Then nodos notas i p nodos notas i p 1 If p gt 6 Then n
5. Index Text G If Notas Index Text E Then Notas Index Text F If Notas Index Text D Then Notas Index Text E If Notas Index Text C Then Notas Index Text D If Notas Index Text b Then Notas Index Text C If Notas Index Text a Then Notas Index Text p If Notas Index Text g Then Notas Index Text a If Notas Index Text f Then Notas Index Text g If Notas Index Text e Then Notas Index Text f End Sub 3 PrimeraEsp PrimeraEsp Frm Private Sub Commandl Click Picturel Cls Array de valores posibles del cantus firmus Dim notas posib 20 As Integer notas posib 0 52 e notas posib 1 53 f notas posib 2 55 g notas posib 3 57 a notas posib 4 59 b notas posib 5 60 C notas posib 6 62 D notas posib 7 64 E notas posib 8 65 F notas posib 9 67 G notas posib 10 69 A notas posib 11 71 B notas posib 12 72 C1 notas posib 13 74 D1 notas posib 14 76 El notas posib 15 77 F1 notas posib 16 79 G1 notas posib 17 81 Al notas posib 18 83 B1 notas posib 19 84 C2 VK KK ko kk ke ke ke ke ke e x RARAS Aplicaci n de reglas Yo kk KK KK ke ke ke ke ke ke ke e X e kk Dim nodos notas 6 7 As Integer 22 V KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 1 regla A
6. Print 1 96 On ch 2 n Modulel cantus firmus 1 v 64 Print 1 192 On ch 1 n Modulel itinerario Armon Text 1 v 0 Print 1 192 On ch 2 n Modulel cantus firmus 1 v 0 Print 1 192 On ch 1 n Modulel itinerario Armon Text 2 v 64 Print 1 192 On ch 2 n Modulel cantus firmus 2 v 64 Print 1 288 On ch 1 n Modulel itinerario Armon Text 2 v 0 Print 1 288 On ch 2 n Modulel cantus firmus 2 v 0 Print 1 288 On ch 1 n Modulel itinerario Armon Text 3 v 64 Print 1 288 On ch 2 n Modulel cantus firmus 3 v 64 Print 1 384 On ch 1 n Modulel itinerario Armon Text 3 v 0 Print 1 384 On ch 2 n Modulel cantus firmus 3 v 0 Print 1 384 On ch 1 n Modulel itinerario Armon Text 4 v 64 Print 1 384 On ch 2 n Modulel cantus firmus 4 v 64 Print 1 480 On ch 1 n Modulel itinerario Armon Text 4 v 0 Print 1 480 On ch 2 n Modulel cantus firmus 4 v 0 Print 1 480 On ch 1 n Modulel itinerario Armon Text 5 v 64 Print 1 480 On ch 2 n Modulel cantus firmus 5 v 64 Print 1 576 On ch 1 n Modulel itinerario Armon Text 5 v 0 Print 1 576 On ch 2 n Modulel cantus firmus 5 v 0 Print 1 576 Meta TrkEnd Print 1 TrkEnd Close Ejecutamos T2mf Dim hWndAct As Long vr hr hWndAct GetActiveWindow vr Shell t2mf r datos txt v2 mid Do While GetActiveWindow hWnd
7. pk Y1 1890 Line8 pk Y2 1890 p 1 pk pk 1 End If If Modulel itinerario Armon Text i 62 Then Redonda i 6 150 i 700 840 lel itinerario Armon 150 1 700 735 I L itinerario Armon 1505 AL 700 630 L itinerario Armon 150 L 77 00 535 1 itinerario Armon 150 i 700 460 lel itinerario Armon 150 i 700 410 lel itinerario Armon 150 i 700 315 I 1 itinerario Armon 150 E AAA 700 210 L itinerario Armon 150 is 7700 115 L itinerario Armon 1150 i 700 10 If Modulel itinerario Armon LI50 x 700 80 H lt O Q Q 1 Fh z O o D isi Fh z O A c H lt o Q Q ext i 69 Then Redonda i 6 H lt O a e ext i 71 H Fh z O o c ext i 72 Then Redonda i 6 1 Fh z O A c 0 i i Fh z O A c ext i 76 Then Redonda i 6 H lt o Q Q Next i End Sub Private Sub Commandl Click Pentagramas Hide End Sub Private Sub Form Load Tabla de conversi n para cantus firmus For i 0 To 5 If Modulel cantus firmus i 53 Then Redonda i Move 1150 700 2310 If Modulel cantus firmus i 55 Then Redonda i Move 1150 700 2200 31 ext i 64 Then Redonda i 6 ext i 65 Then Redonda i 6 ext i 67 Then R
8. 0 T o 9 Visible Visible Visible Visible Visible Visible Visible False alse False False False False False If Modulel itinerario Armon Text 1 Blanca 1 Visible True Blanca 1 Move 1150 i 500 Line8 pk Visible True Line8 pk X1 1080 i 500 Line8 pk X2 1420 1 500 Line8 pk Y1 1890 Line8 pk Y2 1890 pk pk 1 pe l End If If Modulel itinerario 0 i 62 Then 840 If Modulel itinerario 0 1 64 Then 735 If Modulel itinerario 0 1 65 Then 630 If Modulel itinerario 0 1 67 Then 535 If Modulel itinerario 0 i 69 Then 460 49 Redonda i Redonda i Redonda i Redonda i Redonda i Redonda i Redonda i Redonda i Redonda i Redonda i Redonda i 60 Then 900 Blanca i Blanca i Blanca i Blanca i Blanca i Move Move Move Move Move Move Move Move Move Move Move Move Move Move Move Move 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 500 500 500 500 500 71 Then 72 Then 74 Then 76 Then 77 Then 79 Then 0 Then p ll If Modulel itinerario 0 410
9. 410 If Modulel itinerario 0 i 72 Then Redonda i 700 315 If Modulel itinerario 0 i 74 Then Redonda i 700 210 If Modulel itinerario 0 i 76 Then Redonda i 200 X15 If Modulel itinerario 0 i 77 Then Redonda i 700 10 If Modulel itinerario 0 i 79 Then Redonda i 700 80 Next i End Sub Private Sub HScrolll Change Armon Text HScrolll Value If HScroll1 Value gt caminos 1 Then Armon Text 32 Move Move Move Move Move Move Move Move 150 150 150 150 150 150 150 150 6 Move Move Move 6 Move caminos 150 150 150 150 150 150 150 150 150 150 150 1 HScroll1 Max caminos 1 Picturel Cls For i 0 To 5 Picturel Print itinerario HScrolll Value i Next i End Sub Private Sub Play Click Open datos txt For Output As 1 Print 1 MFile 0 1 24 Print 1 MTrk Print 1 0 Tempo 300000 Print 1 0 On ch 1 n Modulel itinerario Armon Text 0 v 64 Print flp 0 On ch 2 n Modulel cantus firmus 0 v 64 Print 1 96 On ch 1 n Modulel itinerario Armon Text 0 v 0 Print 1 96 On ch 2 n Modulel cantus firmus 0 v 0 Print 1 96 On ch 1 n Modulel itinerario Armon Text 1 v 64
10. 7 octava If nodos notas i p gt 60 Then p p 1 If nodos notas i p 81 Then nodos notas i p nodos notas i p 1 If p gt 6 Then n 10 GoTo Etiqueta End If nodos notas i p notas posib n 9 d cima If nodos notas i p gt 60 Then p p 1 23 If nodos notas i p gt 81 Then nodos notas i p nodos notas i p 1 If p gt 6 Then n 10 GoTo Etiqueta End If Etiqueta End If p 0 Next n Next i V KkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKHK B squeda de los mejores itinerarios YO KCKCKCkCk RARA RARA RAR RARA ko koe ke ke e x ke e xe x static char peso itinerario 1000 static char peso itinerario2 1000 V KkKKKKKKKKKAKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK Supongamos que el cantus firmus tiene 6 notas VK KK kk kk kk kk X kk kk kk k k OR ck ko ke ko ke ke ke x e e x x Dim itinerario 50000 5 As Integer Dim peso itinerario 50000 As Single Dim a 10 As Integer n pas 0 b 0 For al For al For a2 For a3 For al For a5 S SO 000 O O O 0 0 0 aaa ooo itinerario itinerario b nodos notas b itinerario b b b b nodos notas nodos notas nodos notas nodos notas nodos notas itinerario itinerario itinerario OP UI KX F Oo Next a5 Next a4 Next a3 24 Next a2 Next al Print a0 b Next a0 camino total b M KOK KKK kk kk kk X kk kk kk NA VO KCKCKCkCk KCkCK k
11. If Modulel itinerario 0 315 If Modulel itinerario 0 210 If Modulel itinerario 0 115 If Modulel itinerario 0 10 If Modulel itinerario 0 80 If Modulel itinerario 0 Next i i 10 p 0 If Modulel itinerario Armon Text Redonda 6 Visible Redonda 6 Move 1150 Line8 pk Visible T Line8 pk X1 1080 Line8 pk X2 1420 Line8 pk Y1 1890 Line8 pk Y2 189 p 1 End If TE Redonda 6 Visible Redonda 6 Move 1150 p 1 End If Modulel itinerario Arm Redonda 6 Visible Redonda 6 Move 1150 p 1 End If IE If Modulel itinerario Redonda 6 Visible Redonda 6 Move 1150 pe l End If If Modulel itinerario Arm Redonda 6 Visible Redonda 6 Move 1150 p 1 End If Modulel itinerario Arm Redonda 6 Visible Redonda 6 Move 1150 pe l End If If If p 0 Then Redonda 6 Visible End If Modulel itinerario Armon Text i m rue i 500 rue 1 8 500 i 500 0 i rue i 500 on Text 1 True i 500 Armon Text True VL 500 on T m i on T True 10 500 False 50 Blanca 1 M Blanca 1 M Blanca i Blanca 1 M Blanca 1 M Move Blanca 1 M Blanca i Vi ove 1150 ove 1150 150 150 ove ove 1150 ove 1150 sible False 60 Then 900 Th
12. Redonda i Move 1150 ins If Notas i Text A Then Redonda i Move 1150 rg Next i End Sub Private Sub restar Click Index As Integer If Notas Index Text e Then Notas Index Text e If Notas Index Text f Then Notas Index Text e If Notas Index Text g Then Notas Index Text f If Notas Index Text a Then Notas Index Text g If Notas Index Text b Then Notas Index Text a If Notas Index Text C Then Notas Index Text p 21 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 2415 2310 2200 2125 2050 1980 1890 1785 1680 1600 1500 2415 2310 2200 2125 2050 1980 1890 1785 1680 1600 1500 2415 2310 2200 2125 2050 1980 1890 1785 1680 1600 1500 If Notas Index Text D Then Notas Index Text C If Notas Index Text E Then Notas Index Text D If Notas Index Text F Then Notas Index Text E If Notas Index Text G Then Notas Index Text F If Notas Index Text A Then Notas Index Text G End Sub Private Sub sumar Click Index As Integer If Notas Index Text A Then Notas Index Text A If Notas Index Text G Then Notas Index Text A If Notas Index Text F Then Notas
13. cada nota del CF se le ha de afiadir una nota consonante VK RK kok k KR k kok k kok k K kk kok kok k kk X kk kok kok k kc k Ck kc k Ck kok k kck ck kck ck k kok kok For i 0 To 5 For n 0 To 10 If cantus firmus i notas posib n Then nodos notas i p notas posib n 2 tercera inferior If nodos notas i p gt 60 Then p p 1 If nodos notas i p gt 81 Then nodos notas i p nodos notas i p 1 If p gt 6 Then n 10 GoTo Etiqueta End If nodos notas i p notas posib n 0 un sono p gt 60 Then p p 1 If nodos notas i i p gt 81 Then nodos notas i p If nodos notas i nodos notas i p 1 If p gt 6 Then n 10 GoTo Etiqueta End If nodos notas i p notas posib n 2 tercera If nodos notas i p gt 60 Then p p 1 If nodos notas i p 81 Then nodos notas i p nodos notas i p 1 If p gt 6 Then n 10 GoTo Etiqueta End If nodos notas i p notas posib n 4 quinta p gt 60 Then p p 1 p gt 81 Then nodos notas i p If nodos notas i If nodos notas i nodos notas i p 1 If p gt 6 Then n 10 GoTo Etiqueta End If nodos notas i p notas posib n 5 sexta If nodos notas i p gt 60 Then p p 1 If nodos notas i p 81 Then nodos notas i p nodos notas i p 1 If p gt 6 Then n 10 GoTo Etiqueta End If nodos notas i p notas posib n
14. firmus 1 v 0 Print 1 192 On ch 1 n cantus firmus 2 v 64 Print 1 240 On ch 1 n cantus firmus 2 v 0 Print 1 288 On ch 1 n cantus firmus 3 v 64 Print 1 336 On ch 1 n cantus firmus 3 v 0 Print 1 384 On ch 1 n cantus firmus 4 v 64 Print 1 432 On ch 1 n cantus firmus 4 v 0 Print 1 480 On ch 1 n cantus firmus 5 v 64 Print 1 528 On ch 1 n cantus firmus 5 v 0 Print 1 576 Meta TrkEnd 19 Print 1 TrkEnd Close 1 Fichero CF mid Dim hWndAct As Long vr hr hWndAct GetActiveWindow vr Shell t2mf r CF txt CF mid Do While GetActiveWindow hWndAct vr DoEvents Loop hWndAct GetForegroundWindow Do While IsWindow hWndAct vr DoEvents Loop hr Shell mplayer2 CF mid End Sub Private Sub Command3 Click Eorf i 0 To 5 If Notas i Text e Then cantus firmu If Notas i Text f Then cantus firmus If Notas i Text g Then cantus firmus If Notas i Text a Then cantus firmus If Notas i Text b Then cantus firmus If Notas i Text C Then cantus firmus If Notas i Text D Then cantus firmus If Notas i Text E Then cantus firmus If Notas i Text F Then cantus firmus If Notas i Text G Then cantus firmus If Notas i Text A Then cantus firmus Next i Open Vdef dat For Output As 1 For i 0 To 5 Print 1 cantus f
15. i If Notas 1 Text FP Then Redonda i Move 1150 Gp If Notas i Text G Then Redonda i Move 1150 ins If Notas i Text A Then Redonda i Move 1150 34 Next i End Sub Private Sub Labell Click For i 0 To 5 If Notas i Text e Then Redonda i Move 1150 35 e If Notas i Text f Then Redonda 1 Move 1150 153 If Notas i Text g Then Redonda i Move 1150 ig If Notas i Text a Then Redonda i Move 1150 LA If Notas 1 Text p Then Redonda i Move 1150 LF If Notas 1 Text C Then Redonda i Move 1150 LR If Notas 1 Text D Then Redonda 1 Move 1150 1 If Notas i Text E Then Redonda i Move 1150 1 If Notas i Text F Then Redonda i Move 1150 i x If Notas i Text G Then Redonda i ove 1150 1 If Notas i Text A Then Redonda i Move 1150 i Next i End Sub Private Sub Text1 Change End Sub Private Sub Notas Change Index As Integer For i 0 To 5 If Notas i Text e Then Redonda i Move 1150 a If Notas i Text f Then Redonda i Move 1150 I If Notas i Text g Then Redonda 1 Move 1150 If Notas i Text a Then Redonda i Move 1150 3 If Notas i Text b Then Redonda i Move 1150 If Notas i Text C Then Redonda i Move 1150 Iex If Notas i Text D Then Redonda i Move 1150 L 4 If Notas i Text E Then Redonda i Move 1150 1 If Notas i Text F Then Redonda i Move 1150 TX If Notas i Text G Then
16. i b 3 Then peso itinerario i peso itinerario i GirosRep Value 100 End If End If Comprobamos notas posibles pe l For n 5 To 17 If itinerario i b notas posib n Then p 0 Next n If p 1 Then peso itinerario i peso itinerario i 1 pe l Next b Next i Reordenamos m 0 For i 0 To caminos 1 If peso itinerario i lt L mite Value 10 Then For b 0 To 11 itinerario m b itinerario i b Next b peso itinerario m peso itinerario i m m 1 End If Next i caminos m 1 If caminos gt 0 Then Unload Pentagramas2 Load Pentagramas2 Pentagramas2 Show End If 45 End Sub Private Sub Command2 Click SegundaEsp Hide End Sub Private Sub L mite Change Lim Text Format L mite Value 10 0 00 End Sub Private Sub TercerasSeg Scroll Text2 Text Format TercerasSeg Value 100 0 00 End Sub Private Sub TritonoM Scroll Textl Text Format TritonoM Value 100 0 00 End Sub Private Sub Unis Change Text3 Text Format Un s Value 100 0 00 End Sub Private Sub Un s Scroll Text3 Text Format Un s Value 100 0 00 End Sub Private Sub GirosRep Change Text9 Text Format GirosRep Value 100 0 00 End Sub Private Sub NotaRep Change Text7 Text Format NotaRep Value 100 0 00 End Sub 5 Pentagramas2 Pentagramas2 Frm Private Sub Armon Change Line8 0 Vis
17. itinerario i b itinerario i b 2 4 Then itinerario i b 1 itinerario i b 2 End If YO kk kk k kk k ke ke x ke kk Floreo superior YO kk kk k kk k ke k kk p 1 If itinerario i b itinerario i b 2 Then itinerario i b 1 itinerario i b 1 For n 0 To 19 If itinerario i b 1 notas posib n Then p 0 Next n itinerario i b 1 itinerario i b 1 p P3 End If Next b Next i Seleccionamos itinerarios con al menos 8 notas puestas m 0 For i O To caminos For b 0 To 11 If itinerario i b peso itinerario i 0 25 Next b 1 0 Then peso itinerario i If peso itinerario i 1 Then L MITE For b 0 To 11 itinerario m b itinerario i b Print itinerario m b Next b Print peso itinerari o m peso itinerario i 40 End If Next 1 caminos m V KkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK V KK Eliminamos faltas de los caminos resultantes V KkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK For i 0 To caminos 1 For b 0 To 11 xxx js Eliminamos guintas paralelas If itinerario i b cantus firmus Int b 2 7 Then caminos con 5 s If itinerario i b 1 cantus firmus Int b 2 1 7 Then peso itinerario i peso itinerario i 10 End If End If xxx 2 Eliminamos octavas paralelas If itinerario i b cantus firmus Int b 2 12 Then c
18. re mi tono mi fa semitono fa sol tono sol la tono la si tono si do semitono Los intervalos arm nicos que podemos tener a dos voces notas sonando simult neamente son Unisono la misma nota en las dos voces Segunda menor Segunda mayor Tercera menor Tercera mayor Cuarta disminuida Cuarta justa Cuarta aumentada Quinta disminuida Quinta justa Quinta aumentada Sexta menor Sexta mayor S ptima menor S ptima mayor Octava justa 4 1 Primera especie Reglas y consejos 1 semitono 2 semitonos 3 semitonos 4 semitonos 4 semitonos mayor en severo 5 semitonos 6 semitonos 6 semitonos 7 semitonos 8 semitonos mayor en severo 8 semitonos 9 semitonos 10 semitonos 11 semitonos 12 semitonos Ej Ej Ej Ej Ej Ej Ej Ej Ej Ej Ej Ej Ej Ej Ej Ej do do mi fa do re re fa do mi do fa b no empleado en do do fa fa si si fa do sol do sol no empleado en do la Fa do la re Do do si do Do 1 A cada nota del cantus firmus CF se le ha de a adir una nota consonante La adici n de notas consonantes s lo est condicionada por las exigencias de la correcta conducci n de las voces 2 Son consonancias o intervalos consonantes las siguientes relaciones entre dos notas a 1 la primera que no es un intervalo porque ambas voces cantan o tocan el mismo sonido b 8 la octava tanto por en
19. 1150 i 500 535 p 1 End If If Modulel itinerario Armon Text 1 72 Then Redonda 6 Visible True Redonda 6 Move 1150 i 500 315 pe l End If If Modulel itinerario Armon Text i 76 Then Redonda 6 Visible True Redonda 6 Move 1150 i 500 115 p 1 End If If Modulel itinerario Armon Text 1 79 Then Redonda 6 Visible True Redonda 6 Move 1150 10 500 80 pe l End If If p 0 Then Redonda 6 Visible False End If End Sub Private Sub Commandl Click 48 Private Sub Form Load Tabla de conversi n para cantus For i If Modu 1000 If Modu 1000 If Modu 1000 If Modu 1000 If Modu 1000 If Modu 1000 If Modu 1000 If Modu 1000 If Modu 1000 If Modu 1000 If Modu 1000 Next i 0 T lel 2415 lel 2310 lel 2200 lel 2125 lel 2050 lel 1980 lel 1890 lel 1785 lel 1680 lel 1600 lel 1500 O5 can can can can can can can can can can can tus firmus i tus firmus i tus firmus i tus firmus i tus firmus i tus firmus i tus firmus i tus firmus i tus firmus i tus firmus i tus firmus i 52 53 29 57 59 60 62 64 65 67 69 firmus i gt Then Then Then Then Then Then Then Then Then Then Then Tabla de conversion para resultado pk 0 For i
20. 9 Then If Abs itinerario i b 2 cantus firmus b 2 8 Or Abs itinerario i b 2 cantus firmus b 2 9 Then peso itinerario i peso itinerario i TercerasSeg Value 100 28 End If End If End If 12 Excesivos un sonos If itinerario i b cantus firmus b 0 Then peso itinerario i peso itinerario i Un s Value 100 End If If itinerario i b 1 cantus firmus b 1 0 Then peso itinerario i peso itinerario i Un s Value 100 End If Next b Next i VO KCKCECkCk kk X kk kk kk X kk kk kk kk kok ck ckckck kokok aka ck kok aka KKK KK KKK Reordenamos itinerarios A KKK kk kk kk X kk X kk kk kok k kc k kck ck ck kck ck kck ck ckck ck ckok ck ke ke e kx x f For i 0 To camino total If peso itinerario i L mite Value 10 Then For b 0 To 5 itinerario m b itinerario i b Picturel Print itinerario m b Next b Picturel Print i peso itinerario m peso itinerario i Next i caminos m Text10 Text caminos If caminos gt 0 Then Unload Pentagramas Load Pentagramas Pentagramas Show End If End Sub Private Sub Command2 Click 29 PrimeraEsp Hide End Sub Private Sub GradoConjunto Change Text7 Text Format GradoConjunto Value 100 0 00 End Sub Private Sub GradoConjunto Scroll Text7 Text Format GradoConjunto Value 100 0 00 End Sub Private Sub L mite Change Lim Tex
21. Act vr DoEvents Loop hWndAct GetForegroundWindow Do While IsWindow hWndAct vr DoEvents Loop hr Shell mplayer2 v2 mid End Sub Private Sub Textl Change 33 End Sub 5 SegundaEsp SegundaEsp Frm Private Sub Cadencia Change Text8 Text Format Cadencia Value 100 0 00 End Sub Private Sub Commandl Click Picturel Cls Array de valores posibles del cantus firmus Dim notas posib 20 As Integer notas posib 0 52 e notas posib 1 53 f notas posib 2 55 g notas posib 3 57 a notas posib 4 59 b notas posib 5 60 C notas posib 6 62 D notas posib 7 64 E notas posib 8 65 F notas posib 9 67 G notas posib 10 69 A notas posib 11 71 B notas posib 12 72 C1 notas posib 13 74 D1 notas posib 14 76 El notas posib 15 77 F1 notas posib 16 79 G1 notas posib 17 81 Al notas posib 18 83 BI notas posib 19 84 C2 Yo kk KK KK ko ke ke ke A Aplicaci n de reglas Y kk Kok k kokck kokoke ke ke ke ke ke e x e k Dim nodos notas 6 7 As Integer VK RK kok KK k k kk K kk k kk k kok k kok X kk kok kCk Ck kCk K Ck kak kk ck kok kok k kok kok 1 regla A cada nota del CF se le ha de a adir una nota consonante VK KK RAR k kok k kok RAR K kk kok kok kok k X kk kCk ck kCk Ck k kk k kc k Ck kck ck kck ck k kk k kk kok For i
22. KKKKK KkKkkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKAKI Prog Fo ressBarl Max PL For b camino total 0 To camino total ProgressBarl Value 0 To 4 i 36 YO KCKCECkCk RRA kk kk X kk X kk kk kk kokck X kk kk ko ke X ke ke x x x REGLAS PARA ELIMINAR CAMINOS x KKkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKAKI 0 Eliminamos caminos vac os If itinerario i b 0 Then peso itinerario i peso itinerario i 10 1 Eliminamos un sonos paralelos If itinerario i b cantus firmus b 0 Then caminos con un sonos If itinerario i b 1 cantus firmus b 1 0 Then peso itinerario i peso itinerario i 10 End If End If 2 Eliminamos quintas paralelas If itinerario i b cantus firmus b 7 Then caminos con 5 s If itinerario i b 1 cantus firmus b 1 7 Then peso itinerario i peso itinerario i 10 End If End If 3 Eliminamos octavas paralelas If itinerario i b cantus firmus b 12 Then caminos con octavas If itinerario i b 1 cantus firmus b 1 12 Then peso itinerario i peso itinerario i 10 End If End If 43 Eliminamos octavas compuestas un sono octava If itinerario i b cantus firmus b 0 Then If itinerario i b 1 cantus firmus b 1 12 Then peso itinerario i peso itinerario i 10 End I
23. Sistema experto de armonizaci n en contrapunto severo a dos voces 1 y 2 especie Apellidos Padilla Mart n Caro Nombre V ctor E Mail VPADILLA inicia es Tfno 91 8744305 639 929827 Asignaturas Doctorado 98 99 Inteligencia artificial fundamentos Inteligencia artificial aplicaciones 1 Introducci n sobre la IA y la m sica El t rmino inteligencia artificial y m sica fue acu ado por Curtis Roads referido a las investigaciones que se centran en la m sica como un proceso cognitivo o conjunto de actividades modeladas con la ayuda de programas inform ticos Los comienzos en esta disciplina datan de finales de los 60 que intentaban responder a cuestiones que ten an que ver con la naturaleza del conocimiento musical tales como Qu es el conocimiento o la inteligencia musical Es el conocimiento musical una capacidad humana aut noma o una colecci n de capacidades relacionadas hist ricamente La capacidad musical es diferente de otras capacidades como el lenguaje La capacidad musical es invariable por encima de periodos hist ricos y culturas C mo se relacionan el conocimiento musical y la m sica pr ctica Marvin Minsky Minski 86 defiende que se puede modelar el comportamiento humano en las actividades musicales y por tanto crear sistemas inteligentes de comportamiento musical Por lo tanto parece razonable al menos como punto de partida adoptar m todos desarrollados
24. To 5 itinerario m b itinerario i b Next b peso itinerario m peso itinerario i Next i Print caminos m caminos m YO KCKCECkCk KCkCK k kk kk kokck kokok ko ko ke koe ke ke ke x e A x Rellenamos los tiempos d biles VK KK KK kk kk X kk kk koe ke ko ke ke ke x e A x Dim itinerario2 6 As Integer For i 0 To caminos 1 For b 0 To 5 itinerario2 b itinerario i b Next b For b 0 To 5 itinerario i b 2 itinerario2 b itinerario i b 2 1 0 Next b Next i XKOKCKCKCKCkCKCkCk kCkCk k Ck KEK KK KK kc k kck ck kck ck ck KK KK ck k kk REGLAS PARA TIEMPOS D BILES KOK KOK KKK KK KR NA h 0 PL For i 0 To caminos 1 For b 0 To 12 Step 2 VK KKK KKK k e e kok 1 Nota de paso VK KKK KKK KKK KK x Tercera menor If itinerario i b 2 itinerario i b 3 Then itinerario i b 1 itinerario i b 1 For n 0 To 18 39 If itinerario i b 1 notas posib n Then p 0 Next n itinerario i b 1 itinerario i b 1 p p 1 End If If itinerario i b itinerario i b 2 3 Then itinerario i b 1 itinerario i b 1 For n 0 To 19 If itinerario i b 1 notas posib n Then p 0 Next n itinerario i b 1 itinerario i b 1 p pe End If Tercera Mayor If itinerario i b 2 itinerario i b 4 Then itinerario i b 1 itinerario i b 2 End If If
25. a medieval Ed Akal M sica Ebcioglu 92 Kemal Ebcioglu Mira Balaban Otto Laske Understanding Music with Al Perspectives on Music Cognition The AAAI Press Smith 93 Matt Smith Alan Smail Geraint A Wiggins Music Education An Artificial Intelligence Approach Ed Springer Verlag Minski 86 M Minski The society of Mind New York Lincoln 70 H B Lincoln The Computer and Music Cornell University Press 1970 53 Smoliar 80 S W Smoliar A Computer Aid for Schenkerian Analysis Computer Music Journal 4 Summer 1980 Mira 95 J Mira A E Delgado J G Boticario F J D ez Aspectos b sicos de la inteligencia artificial Ed Sanz y Torres Atkinson 93 Lee Atkinson Mark Atkinson Programaci n en Borland C Ed Anaya multimedia Ceballos 91 F J Ceballos Enciclopedia del lenguaje C Ed Ra Ma Ceballos 96 F J Ceballos Enciclopedia de Visual Basic Ed Ra Ma Balfag n 94 Albert Balfag n Pere Ripoll Visual Basic Programaci n avanzada en Windows Ed Inforbook s 54
26. aje tiene sus inconvenientes como 1 Relativa lentitud de ejecuci n del programa 2 Dificultad de la programaci n de reglas Las reglas no son tan intuitivas como en otros entornos NEXPERT o PROLOG por ejemplo Para poder escuchar las armonizaciones nos hemos servido de un programa freeware en MS Dos denominado T2mf exe con el que creamos nuestro fichero mid que ser abierto por el programa mplayer2 exe de windows Este programa ha sido creado por Piet van Oostrum Dept of Computer Science Utrecht University P O Box 80 089 2508 TB Utrecht The Netherlands email piet cs ruu nl 8 Manual de usuario El funcionamiento del programa es bastante simple e intuitivo Una vez instalado correctamente se nos presenta en la pantalla principal un men con tres opciones Fichero En este men s lo tenemos la opci n Salir para finalizar el programa Ayuda Con la t pica opci n Acerca de con los datos del programa Proceso Esta opci n es el coraz n del programa La explicamos a continuaci n con m s detalle 8 1 Men Proceso Dentro de este men la opci n Crear CF nos permite introducir un cantus firmus gr ficamente desde la pantalla del ordenador En la parte superior de la pantalla aparecen las notas de la escala natural en notaci n anglosajona con los signos y para subir o bajar las notas mientras que en la parte inferior aparece la notaci n tradicional de un cantus firmu
27. aminos con octavas If itinerario i b 1 cantus firmus Int b 2 1 12 Then peso itinerario i peso itinerario i 10 End If End If 3 Eliminamos la duplicaci n de la sensibl If itinerario i b 59 Or itinerario i b 71 Then If cantus firmus Int b 2 59 Or cantus firmus Int b 2 71 Then peso itinerario i peso itinerario i 10 End If End If Next b Next i Reordenamos m 0 For i 0 To caminos 1 If peso itinerario i lt 1 Then 41 For b 0 To 11 itinerario m b itinerario i b Next b peso itinerario m peso itinerario i m m 1 End If Next i caminos m VK KKK RIA RARA RARA RR RR kk kck k kck k X kk kk kok k V KK ke x KKK KKK Completamos los caminos KKKKKKKKKKKKK V KkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK m 0 p 1 For i 0 To caminos 1 For b 0 To 10 Step 2 If itinerario i b 1 0 Then If itinerario i b cantus firmus Int b 2 Then UN SONO itinerario i b 1 cantus firmus Int b 2 3 For n 0 To 18 If itinerario i b 1 notas_posib n Then p 0 Next n itinerario i b 1 itinerario i b 1 p p 1 End If If itinerario i b cantus firmus Int b 2 3 Then 3 m des itinerario i b 1 cantus firmus Int b 2 7 End If If itinerario i b cantus firmus Int b 2 4 Then 3 M desc itinerario i b 1 cantus firmus Int b 2
28. anca 1 Move 1150 i 500 pe l End If Modulel itinerario Armon Text i Blanca i Visible True Blanca i Move 1150 i 500 pe l End If Modulel itinerario Armon Text i Blanca i Visible True Blanca i Move 1150 i 500 pe l End If Modulel itinerario Armon Text i Blanca i Visible True Blanca i Move 1150 i 500 p 1 End If Modulel itinerario Armon Text 1 Blanca 1 Visible True Blanca 1 Move 1150 i 500 pe l End If Modulel itinerario Armon Text i 47 62 840 64 735 630 67 235 69 460 74 210 115 77 10 79 80 Then Then Then Then Then Then 72 Then Then Then Then Then Then Pentagramas Hide End Sub Blanca i Visible True Blanca i Move 1150 1 500 160 p 1 End If If p 0 Then Blanca 1 Visible False End If Next i i 10 p 0 If Modulel itinerario Armon Text i 60 Then Redonda 6 Visible True Redonda 6 Move 1150 i 500 900 Line8 pk Visible True Line8 pk X1 1080 i 500 Line8 pk X2 1420 i 500 Line8 pk Y1 1890 Line8 pk Y2 1890 p 1 End If If Modulel itinerario Armon Text 1 64 Then Redonda 6 Visible True Redonda 6 Move 1150 i 500 735 p 1 End If If Modulel itinerario Armon Text 1 67 Then Redonda 6 Visible True Redonda 6 Move
29. ario i 1 End If End If 4p Eliminamos octavas compuestas octava un sono If itinerario i b cantus firmus b 12 Then If itinerario i b 1 cantus firmus b 1 0 Then peso itinerario i peso itinerario i 1 End If End If 5 No empezar por sexta If itinerario i 0 cantus firmus 0 9 Then peso itinerario i peso itinerario i 1 End If 5b No acabar por sexta If itinerario i 5 cantus_firmus 5 9 Then peso itinerario i peso itinerario i 1 End If 6 No quinta disminuida If itinerario i b cantus firmus b 6 Then peso itinerario i peso itinerario i 1 End If 7 No octavas resultantes salvo las de trompa If itinerario i b 1 cantus firmus b 1 12 Then If itinerario i b 1 itinerario i b gt 2 Then If cantus firmus b 1 cantus firmus b gt 0 Then peso itinerario i peso itinerario i 1 End If End If End If If itinerario i b 1 cantus firmus b 1 12 Then If itinerario i b itinerario i b 1 gt 2 Then 26 If cantus firmus b cantus firmus b 1 gt 0 Then peso itinerario i peso itinerario i 1 End If End If End If 83a No quintas resultantes salvo las de trompa If itinerario i b 1 cantus firmus b 1 7 Then If itinerario i b 1 itinerario i b gt 2 Then If cantus firm
30. arnassum de J J Fux Fux y sus seguidores hacen una distinci n del contrapunto en cinco especies sobre una melod a o cantus firmus fija en redondas Estas cinco especies son las siguientes Schoenberg 63 1 Primera especie Adici n de una segunda voz al cantus firmus tambi n en redondas nota contra nota Esto nos recuerda las primeras composiciones contrapuntisticas medievales de los siglos IX y X el organum paralelo y el discantus a pesar de que las reglas arm nicas de conducci n de voces est n basadas en los procedimientos renacentistas del siglo XVI Nosotros seguiremos las reglas de la primera especie en concreto de los tratados de Schoenberg Forner y Cal s pero para conseguir una armonizaci n acorde a los tratados medievales Musica Enchiriadis s lo habr a que modificar algunas reglas Voz 1 W W W W C F W wW W W w W w W 2 Segunda especie Adici n al cantus firmus de una segunda voz en blancas La segunda voz est escrita al doble de velocidad de la primera Por cada nota del cantus firmus tenemos dos de la nueva melod a Voz 1 h hh hh hh h C F W Ww W W 3 Tercera especie Adici n al cantus firmus de una segunda voz en negras cuatro veces m s r pida Recuerda a los organum melism ticos de Leonin y Perot n de los siglos XII y XIII con la salvedad de la armon a renacentista empleada Voz qqqq qqqq qqqq qqqq C F w w Ww Ww 4 Cuarta especie Adici n al cantus firmus de una s
31. as 3 Eliminamos octavas paralelas 4 Eliminamos octavas compuestas unisono octava 5 No empezar por sexta ni acabar por sexta 6 No quinta disminuida como intervalo arm nico 79 No saltos mayores que el de octava 8 No saltos de 7 Una vez reordenados estos caminos intentamos completarlos con floreos y notas de Bucle 2 para a adir Se a ade donde sea GIO disonancias en posible parte d bil notas de paso floreos Reordenamos la salida con los caminos gwe tengan m notas Bucle 3 para Completamos Fin de bucle 3 completar caminos con gt caminos consonancias Bloque 3 Fig 6 Estos caminos al final son evaluados con reglas para eliminar y penalizar caminos Bucle 4 para Eliminamos y Fin de bucle 4 Reordenamos eliminar y penalizamos los caminos penalizar caminos seg n caminos reglas Fig 7 7 Implementaci n A la hora de llevar a la pr ctica el sistema hemos decidido hacerlo en lenguaje Visual Basic 6 0 por los siguientes motivos 1 Facilidad de manejar y trabajar con ficheros de los que importar y exportar datos de sonido ficheros midi 2 Posibilidad de ampliaci n del trabajo de manera c moda 3 Comodidad del entorno gr fico y facilidad para crear un entorno gr fico musical 4 Posibilidad de mejorar algunas funciones por medio de ficheros dll en otros lenguajes m s r pidos como el C 5 Facilidad y rapidez en la programaci n Evidentemente este lengu
32. as voces deben encontrarse en determinados puntos en armon as comprensibles y que juntas deben expresar claramente la tonalidad Por lo dem s han de ser tan independientes como resulte posible Al escribir para dos o m s voces pueden darse tres tipos de movimiento paralelo contrario y oblicuo a El movimiento paralelo es decir el movimiento en la misma direcci n es el tipo de conducci n de las voces menos independientes Si se prolonga durante un tiempo considerable una de las voces ofrecer el aspecto de sombra Pero el movimiento paralelo ocasional no puede evitarse como tampoco destruye necesariamente la independencia Las octavas y quintas paralelas expl citas el movimiento paralelo de una octava a otra octava o de una quinta a otra quinta deben ser estrictamente evitadas Las llamadas octavas de trompa y quintas de trompa son permitidas sin embargo en el contrapunto simple a dos voces han de evitarse todas las dem s quintas y octavas paralelas ocultas Las terceras y sextas paralelas no son nunca incorrectas aunque como se dijo anteriormente el movimiento paralelo no debe utilizarse demasiado tiempo en cada ocasi n b El movimiento contrario es aquel en que las voces se mueven en direcciones opuestas Produce mayor grado de independencia que el movimiento paralelo c El movimiento oblicuo es aquel en que una voz se mueve mientras la otra permanece estacionaria Este tipo de movimiento n
33. cima como por debajo de una nota c 5 la quinta que ha de ser justa tanto por encima como por debajo de una nota y no as la quinta disminuida que es una disonancia d 3 la tercera mayor o menor tanto por encima como por debajo de la nota e 6 la sexta mayor o menor tanto por encima como por debajo de la nota 3 En la primera especie no se debe utilizar ning n intervalo disonante Son disonancias las siguientes relaciones entre dos notas a 2 la segunda tanto por encima como por debajo de una nota b 7 la s ptima tanto por encima como por debajo de una nota c 9 la novena tanto por encima como por debajo de un nota de hecho una novena es una segunda m s una octava d 4 la cuarta tanto por encima como por debajo de una nota la cuarta es una consonancia imperfecta pero a dos voces debe ser considerada y tratada como disonancia e La cuarta aumentada y su inversi n la quinta disminuida intervalos que en la escala mayor aparecen entre las notas cuarta y s ptima y viceversa f Cualesquiera otros intervalos aumentados y disminuidos que pudieran aparecer posteriormente tales como los de la escala menor 4 Todo intervalo conserva su calificaci n de consonancia o disonancia respectivamente a n cuando dicho intervalo est ampliado en una o m s octavas Voces y claves 5 Las voces que se han de emplear son las mismas que se utilizan en el actual coro mixto es decir soprano contralto t
34. d If End If 2 Eliminamos quintas paralelas If itinerario i b 1 cantus firmus Int b 2 7 Then caminos con octavas If itinerario i b 3 cantus firmus Int b 752 AYI Then peso itinerario i peso itinerario i 1 End If End If xxx RS Eliminamos quintas paralelas If itinerario i b cantus firmus Int b 2 7 Then caminos con octavas If itinerario i b 1 cantus firmus Int b 2 1 7 Then peso itinerario i peso itinerario i 1 End If End If 33 Eliminamos la duplicaci n de la sensibl If itinerario i b 59 Or itinerario i b 71 Then If cantus firmus Int b 2 59 Or cantus firmus Int b 2 71 Then peso itinerario i peso itinerario i 1 End If End If 48 Pen ltimo comp s 44 If cantus firmus 4 62 Then If itinerario i 8 lt gt 69 Then peso itinerario i peso itinerario i Cadencia Value 100 If itinerario i 9 lt gt 71 Then peso itinerario i peso itinerario i Cadencia Value 100 If itinerario i 10 lt gt 72 Then peso itinerario i peso itinerario i Cadencia Value 100 End If 5 Nota repetida If itinerario i b itinerario i b 1 Then peso itinerario i peso itinerario i NotaRep Value 100 End If 6 Giros repetidos If itinerario i b itinerario i b 2 Then If itinerario i b 1 itinerario
35. edonda i 6 Then Redonda i 6 ext i 74 Then Redonda i 6 ext i 77 Then Redonda i 6 ext i 79 Then Redonda i 6 Move Move Move If Modul 700 21 Lt 700 If Modul 700 If 700 1 If Modul 700 1 If Modul 700 J If Modu 700 If Modulel 700 1500 Next i L cantus firmu L cantus firmu L cantus firmu L cantus firmu L cantus firmu L cantus firmu L cantus firmu cantus firmu 57 Then Redonda i 59 Then Redonda i 60 Then Redonda i 62 Then Redonda i 64 Then Redonda i 65 Then Redonda i 67 Then Redonda i 69 Then Redonda i Tabla de conversi n para resultado pk 0 For i 0 To 5 If Modulel itinerario Armon Text i 60 Then Redonda i 6 Visible True Redonda i 6 Move 1150 i 700 900 Line8 pk Visible True Line8 pk X1 1050 i 700 Line8 pk X2 1450 i 700 Line8 pk Y1 1890 Line8 pk Y2 1890 pk pk 1 pe l End If If Modulel itinerario 0 i 62 Then Redonda i 700 840 If Modulel itinerario 0 i 64 Then Redonda i 700 735 If Modulel itinerario 0 i 65 Then Redonda i 700 630 If Modulel itinerario 0 i 67 Then Redonda i 700 535 If Modulel itinerario 0 i 69 Then Redonda i 700 460 If Modulel itinerario 0 i 71 Then Redonda i 700
36. egunda voz en blancas sincopadas Las dos voces van a la misma velocidad redondas pero desplazadas en tiempo un pulso de blanca Voz 1 h h h h h h h C F w w w w 5 Quinta especie Consiste en combinar los procedimientos anteriores En la voz superior puede haber redondas negras blancas y s ncopas de blanca Voz 1 h qq q q h h h C F w w W W 4 Modelado del conocimiento En este apartado se explica la base de conocimiento del sistema tonal temperado y de la primera y la segunda especie del contrapunto simple a dos voces Esta base de conocimiento ha sido extra da de tratados tradicionales de armon a y contrapunto Schoenberg 63 Schoenberg 22 4 1 Sistema tonal temperado El sistema tonal occidental empleado tradicionalmente en Europa desde el barroco hasta nuestros d as est formado por 12 divisiones iguales de la octava logar tmicamente hablando De do a DO tenemos empleando la escala de sostenidos las siguientes 12 notas do do re re mi fa fa sol so la la si DO Las escalas empleadas son la escala mayor y la escala menor Para nuestro trabajo nos vamos a quedar s lo con la escala mayor de Do Do mayor que est formada por las siguientes notas do re mi fa sol la si DO Una escala mayor est formada por tonos y semitonos agrupados de la siguiente manera tono tono semitono tono tono tono semitono Por lo tanto do re tono
37. en 139 Then 72 Then Then 115 79 Then 780 500 500 500 500 500 500 51 End Sub Private Sub HScrolll Change Armon Text HScrolll Value If HScrolll Value gt caminos 1 Then Armon Text caminos 1 HScroll1 Max caminos 1 Picturel Cls For i 0 To 10 Picturel Print itinerario HScrolll Value i Next i End Sub Private Sub HScrolll Scroll Armon Text HScrolll Value If HScrolll Value gt caminos 1 Then Armon Text caminos 1 HScroll1 Max caminos 1 End Sub Private Sub Play Click Open datos txt For Output As 1 Print 1 MFile 0 1 24 Print 1 MTrk Print 1 0 Tempo 300000 Nota Print D UO On ch 1 n Modulel itinerario Armon Text 0 Print 1 0 On ch 2 n Modulel cantus firmus 0 v 64 Print Lj 48 On ch 1 n Modulel itinerario Armon Text 0 Print Ego 48 On ch 1 n Modulel itinerario Armon Text 1 v 64 Print 1 96 On ch 1 n Modulel itinerario Armon Text 1 Print 96 On ch 2 n Modulel cantus firmus 0 v 0 Nota Print 1 96 On ch 1 n Modulel itinerario Armon Text 2 v 64 Print Ll 96 On ch 2 n Modulel cantus firmus 1 v 64 Print I 144 On ch 1 n Modulel itinerario Armon Text v 0 Print L 144 On ch 1 n Modulel itinerario Armon T
38. en Vdef dat For Input As 1 Dim L nea As String For i 0 To 5 Line Input 1 L nea cantus firmus i Val L nea Next i Close 1 End Sub Private Sub Procesol Click Load PrimeraEsp PrimeraEsp Show End Sub Private Sub Proceso2 Click Load SegundaEsp SegundaEsp Show End Sub Private Sub ProcesoCF Click Load CrearCF CrearCF Show End Sub 2 CrearCF CrearCF Frm Private Sub Commandl Click Conversi n Num rica For i 0 To 5 If Notas i Text e Then cantus firmus i 52 If Notas i Text f Then cantus_ firmus i 23 If Notas i Text g Then cantus firmus i 55 If Notas i Text a Then cantus firmus i 57 If Notas i Text b Then cantus firmus i 59 If Notas i Text C Then cantus firmus i 60 If Notas i Text D Then cantus firmus i 62 If Notas i Text E Then cantus firmus i 64 If Notas i Text F Then cantus firmus i 65 If Notas i Text G Then cantus firmus i 67 If Notas i Text A Then cantus firmus i 69 Next 1 Fichero CF txt para salida Open CF txt For Output As 1 Print 1 MFile 0 1 24 Print 1 MTrk Print 1 0 Tempo 300000 Print 1 0 On ch 1 n cantus firmus 0 v 64 Print 1 48 On ch 1 n cantus firmus 0 v 0 Print 1 96 On ch 1 n cantus firmus 1 v 64 Print 1 144 On ch 1 n cantus
39. en IA para el modelado de actividades musicales Sin embargo hay tambi n diferencias importantes entre la investigaci n tradicional en IA y la investigaci n en IA y m sica Una diferencia tiene que ver con la propia naturaleza de las actividades musicales porque despu s de todo qu es la m sica Muchas tendencias en IA por ejemplo en el procesado del lenguaje natural se centran en modelar situaciones del mundo real Hacer m sica para Minski y Laske por ejemplo es an logo a contar una historia pero c al es el referente de esa historia No est claro si el dominio de referencia musical es emocional perceptivo intelectual psicol gico o una mezcla de stos La mayor a de las investigaciones en IA enfatizan la importancia de la representaci n del nivel de conocimiento y su conceptualizaci n Ambas son por supuesto abstracciones del lenguaje natural La idea principal de esta aproximaci n es que normalmente no hay una nica base de conocimiento que describa los fen menos modelados m s bien un fen meno se puede describir en varios niveles de conocimiento cada uno reflejando una perspectiva diferente Estos niveles de conocimiento pueden estar o no relacionados La clasificaci n del conocimiento separado en niveles concuerda bien con los m ltiples puntos de vista empleados en describir el conocimiento musical y con la variedad de actividades musicales conocidas Distintas v as de investigaci n en al campo de la IA y
40. enor y bajo 6 Para los ejercicios se han de emplear siempre dos voces vecinas Por ejemplo si el CF est en el contralto la voz sobre l quedar en la soprano Conducci n mel dica de las voces 7 Las voces han de ser melodiosas o al menos no amel dicas Para ello deben seguirse los siguientes consejos a Debe evitarse todo intervalo aumentado o disminuido Adem s como s lo se deben emplear las notas naturales de la escala diat nica quedar n asimismo excluidas las progresiones crom ticas b El intervalo de cuarta aumentada entre las notas cuarta y s ptima debe ser evitado Lo mismo con su inversi n la quinta disminuida c Se han de evitar aquellas progresiones en las que una o m s notas quedan insertas entre las notas cuarta y s ptima o entre s ptima y cuarta de la escala tritonos compuestos d Hay que evitar estrictamente saltos con los intervalos disonantes de s ptima novena und cima etc e Se deben evitar tambi n estos intervalos cuando est n producidos por dos saltos sucesivos en la misma direcci n de intervalos permitidos Se transforman entonces en saltos disonantes compuestos f El movimiento en una sola direcci n no debe continuar demasiado tiempo Despu s de un salto debe evitarse proceder en la misma direcci n incluso por grados conjuntos En lugar de eso el salto ha de equilibrarse mediante un movimiento en direcci n opuesta sea por grados conjuntos o por salto g Debe ev
41. es Evaluar la nota siguiente para evitar faltas Evaluar dentro de las posibles notas siguientes aquellas que conduzcan a una mejor realizaci n Comparar lo hecho anteriormente con las nuevas posibilidades para realizar estimaciones Marsella 92 Evaluar todo lo realizado Si no llega a un determinado umbral seleccionar otro camino 6 Sistema y algoritmos empleados 6 1 Primera especie El sistema implementado consta de una entrada formada por un cantus firmus de 6 notas y como salida las distintas posibilidades de armonizarlo en primera y segunda especie El hecho de que el CF tenga s lo 6 notas nos permite que el tiempo de c lculo no sea excesivo a la vez que este CF y sus posibles soluciones puedan ser vistas de una vez El m todo de trabajo es muy simple en el caso de la primera especie 1 Tomamos el CF 2 Establecemos todos los caminos posibles 3 Evaluamos los caminos en funci n de una serie de reglas CF 4 Reordenamos los caminos posibles OOO COC OO O OOO a 000000 om COO DO ee QOO OOO Caminos Fig 2 Hemos supuesto que el CF est en la voz de contralto y la nueva armonizaci n en la voz de soprano Por tanto tomando la escala natural y en la primera especie del contrapunto severo cada nota del CF puede ser armonizada de 13 maneras diferentes Teniendo en cuenta que el CF tiene 6 notas el n mero de caminos posible es de 13 6 4826809 caminos para lo que se necesita una pote
42. ext 3 v 64 Print I 192 On ch 1 n Modulel itinerario Armon Text 3 Print 192 On ch 2 n Modulel cantus firmus 1 v 0 Nota Print I 192 On ch 1 n Modulel itinerario Armon Text 4 Print 1 192 On ch 2 n Modulel cantus firmus 2 v 64 Print 1 240 On ch 1 n Modulel itinerario Armon Text v 0 Print L 240 On ch 1 n Modulel itinerario Armon Text v 64 Print I 288 On ch 1 n Modulel itinerario Armon Text 5 Print L 288 On ch 2 n Modulel cantus firmus 2 v 0 Nota Print I 288 On ch 1 n Modulel itinerario Armon Text 6 Print 1 288 On ch 2 n Modulel cantus firmus 3 v 64 Print L 336 On ch 1 n Modulel itinerario Armon Text 6 v 0 Print L 336 On ch 1 n Modulel itinerario Armon Text 7 v 64 Print L 384 On ch 1 n Modulel itinerario Armon Text 7 v 0 Print L 384 On ch 2 n Modulel cantus firmus 3 v 0 Nota Print I 384 On ch 1 n Modulel itinerario Armon Text 8 2 4 5 v 64 yc y y 2 v 64 7 v 0 v 64 v 64 Modul 1 384 On ch 2 n Modulel cantus_firmus 4 el itinerario Armon Modul el itinerario Armon Modul el itinerario Armon odule odule l cantus firmus 4 odule l cantus firmus 5 y 64 m Text 9 m Text 9 y l itinerario Armon Text 10 y 64 M
43. f End If 4p Eliminamos octavas compuestas octava un sono 37 If itinerario i b cantus firmus b 12 Then If itinerario i b 1 cantus firmus b 1 0 Then peso itinerario i peso itinerario i 10 End If End If 5 No empezar por sexta If itinerario i 0 cantus_firmus 0 9 Then peso itinerario i peso itinerario i 10 End If 5b No acabar por sexta If itinerario i 5 cantus firmus 5 9 Then peso itinerario i peso itinerario i 10 End If 6 No quinta disminuida If itinerario i b cantus firmus b 6 Then peso itinerario i peso itinerario i 10 End If 7 No saltos mayores que el de octava If Abs itinerario i b 1 itinerario i b gt 12 Then peso itinerario i peso itinerario i 10 End If 8a No saltos de 7 If Abs itinerario i b 1 itinerario i b 11 Then peso itinerario i peso itinerario i 10 End If If Abs itinerario i b 1 itinerario i b 10 Then peso itinerario i peso itinerario i 1 End If Next b Next i VO EKKKKKKKK k kk kk X kk X kk kk kk kokckckckck ck kok KK KKR x kk k Reordenamos itinerarios KOK KK kk ke ke e e e x x x kkkkKkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKAK 38 KKK m 0 Print camino total camino total For i 0 To camino total If peso itinerario i 0 Then For b 0
44. ible False Line8 1 Visible False Line8 2 Visible False Line8 3 Visible False Line8 4 Visible False Line8 5 Visible False Line8 6 Visible False pk 0 p 0 For i 0 To 9 p 0 If Modulel itinerario Armon Text i 60 Then Blanca i Visible True Blanca i Move 1150 i 500 900 Line8 pk Visible True 46 If If If If If If If If If If If Line8 pk X1 1080 i 500 Line8 pk X2 1420 i 500 Line8 pk Y1 1890 Line8 pk Y2 1890 pk pk 1 p 1 End If Modulel itinerario Armon Text 1 Blanca 1 Visible True Blanca 1 Move 1150 i 500 p 1 End If Modulel itinerario Armon Text 1 Blanca 1 Visible True Blanca 1 Move 1150 i 500 p 1 End If Modulel itinerario Armon Text 1 Blanca 1 Visible True Blanca 1 Move 1150 i 500 p 1 End If Modulel itinerario Armon Text 1 Blanca 1 Visible True Blanca 1 Move 1150 i 500 p 1 End If Modulel itinerario Armon Text 1 Blanca 1 Visible True Blanca 1 Move 1150 i 500 p 1 End If Modulel itinerario Armon Text 1 Blanca 1 Visible True Blanca 1 Move 1150 i 500 p 1 End If If Modulel itinerario Armon Text Blanca 1 Visible True Bl
45. irmus i Next i Close 1 CrearCF Hide O H H be pe pe pe pr H H b TU UU pe End Sub Private Sub Form Load For i 0 To 5 If cantus firmus i 52 Then Notas i Text If cantus firmus i 53 Then Notas i Text If cantus firmus i 55 Then Notas i Text If cantus firmus i 57 Then Notas i Text If cantus firmus i 59 Then Notas i Text If cantus firmus i 60 Then Notas i Text If cantus firmus i 62 Then Notas i Text If cantus firmus i 64 Then Notas i Text If cantus firmus i 65 Then Notas i Text If cantus firmus i 67 Then Notas i Text If cantus firmus i 69 Then Notas i Text Next i 20 ll ol N 53 55 97 59 60 62 64 65 67 69 e wen gn a h Q p wow H wo g a For i 0 To 5 If Notas i Text e Then Redonda i Move 1150 11 If Notas i Text f Then Redonda i Move 1150 au If Notas i Text g Then Redonda i Move 1150 a If Notas i Text a Then Redonda i Move 1150 1 If Notas i Text p Then Redonda i Move 1150 LA If Notas 1 Text C Then Redonda i Move 1150 Cn If Notas i Text D Then Redonda i Move 1150 4 If Notas i Text E Then Redonda i Move 1150
46. itarse el salto de sexta porque en muchos casos produce octavas o quintas ocultas Los te ricos del contrapunto tradicional permitan la sexta menor ascendente pero es mejor evitarla tambi n Por supuesto que en una emergencia si se evitan paralelas incorrectas puede emplearse tanto la sexta mayor como la menor ya ascendentes ya descendentes h Los acordes arpegiados han de evitarse tanto como sea posible por dos razones En primer lugar porque pueden expresar una armon a y restringir por tanto el libre movimiento de las otras voces En segundo t rmino porque dan frecuentemente la impresi n de un acompa amiento en estilo homof nico i A menudo se produce monoton a por la repetici n frecuente de una nota o de una sucesi n de varias notas y por permanecer demasiado tiempo en el mbito de una cuarta o una quinta j Las repeticiones secuenciales es decir las repeticiones de una sucesi n de notas sobre otro grado una segunda una tercera una cuarta etc m s arriba o m s abajo tambi n deben ser evitadas k El salto de octava puede utilizarse en caso de emergencia si por ejemplo se hubiese rebasado el mbito de la voz o si por otra parte las voces se hubiesen acercado o alejado demasiado No se permite salto alguno mayor que la octava l Una buena melod a ha de mezclar los saltos con el movimiento por grados conjuntos y no proceder demasiado tiempo en una misma direcci n Independencia de las voces 8 L
47. kk kk X kk X kk kk kk X k kakak kok sk ke kk REGLAS DE CONDUCCI N DE VOCES KKkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK T KkKkkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKAK ProgressBarl Max camino total For i 0 To camino total ProgressBarl Value 1 For b 0 To 4 V KkKKKKKKKKKAKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK REGLAS PARA ELIMINAR CAMINOS KkKkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 1 Eliminamos un sonos paralelos If itinerario i b cantus firmus b 0 Then caminos con un sonos If itinerario i b 1 cantus firmus b 1 0 Then peso itinerario i peso itinerario i 1 End If End If 2 Eliminamos quintas paralelas If itinerario i b cantus firmus b 7 Then caminos con 5 s If itinerario i b 1 cantus firmus b 1 7 Then peso itinerario i peso itinerario i 1 End If End If 3 Eliminamos octavas paralelas If itinerario i b cantus firmus b 12 Then caminos con octavas If itinerario i b 1 cantus firmus b 1 12 Then 25 peso itinerario i peso itinerario i 1 End If End If 43 Eliminamos octavas compuestas un sono octava If itinerario i b cantus firmus b 0 Then If itinerario i b 1 cantus firmus b 1 12 Then peso itinerario i peso itiner
48. la m sica son composici n musical an lisis musical interpretaci n percepci n aprendizaje etc Para este trabajo nos centraremos en el campo del an lisis musical especialmente en los trabajos realizados por K Ebcioglu y J Maxwell sobre m sica barroca An lisis musical El an lisis musical es una tarea mental dif cil y su modelado es uno de los retos m s interesantes en el campo de la IA y la m sica Los primeros ejemplos en este campo son los proyectos para construir un ndice tem tico de los trabajos de Josquin y determinar el autor de una serie de piezas musicales Lincoln 70 Otros ejemplos son programas que realizan an lisis arm nicos de los corales de Bach Winograd 68 an lisis Schenkerianos Smoliar 80 Kassler 75 Snell 79 El m todo quiz s m s ambicioso de aproximaci n a un estilo musical ha sido escribir programas que intenten generar piezas en este mismo estilo Escribiendo un algoritmo para generar nuevas piezas similares a unas dadas los investigadores esperan obtener un entendimiento m s detallado de la m sica en ese estilo y eliminar los vagos e incompletos estados verbales que son dif ciles de evitar en una aproximaci n tradicional al an lisis musical Un ejemplo de este tipo es el an lisis por s ntesis lo proporcionan el sistema experto creado por Ebcioglu para la armonizaci n de corales de Bach aunque esta tecnolog a de an lisis por s ntesis est todav a lejos de producir piezas nueva
49. ncia de c lculo importante Una primera soluci n llevada a cabo es aplicar de entrada la regla 1 del ep grafe 4 1 A cada nota del cantus firmus CF se le ha de a adir una nota consonante Sabiendo que las consonancias perfectas son un sono tercera quinta sexta y octava estas son las notas a afiadir de acuerdo con la tesitura Para que haya posibilidad de cruzamiento de voces a adimos tambi n una tercera inferior Para sobrepasar el mbito de octava a adimos una d cima De esta manera hemos simplificado el c lculo de manera considerable El n mero de caminos ahora es de 6 6 46656 El procedimiento empleado consiste en descartar o penalizar caminos en funci n de las reglas del contrapunto severo Las reglas que eliminan caminos son 1 Eliminar un sonos paralelos 2 Eliminar quintas paralelas 3 Eliminar octavas paralelas 4 Eliminar octavas compuestas un sono octava octava un sono 5 No empezar ni acabar por sexta 6 No permitir la quinta disminuida como intervalo arm nico 7 No permitir octavas resultantes salvo las de trompa 8 No permitir quintas resultantes salvo las de trompa 9 No saltos mayores que el de octava 10 No saltos de s ptima 11 No dos saltos en la misma direcci n Las reglas que penalizan caminos con una penalizaci n entre 0 1 son 12 Excesivos saltos 13 No acabar con la t nica 14 Repetir una misma nota 15 Aparici n de tritonos mel dicos 16 Aparici n de 3 o m
50. o puede emplearse en la primera especie a menos que una de las voces repita nota Ofrece al menos independencia r tmica En toda pieza de cualquier longitud hallaremos presentes los tres tipos de movimiento paralelo contrario y oblicuo 9 La independencia se reduce si se encuentran con demasiada frecuencia en primeras u octavas incluso por movimiento contrario La primera y la octava deben reservarse para el comienzo con el fin de expresar inequ vocamente la tonalidad y para el final para confirmarla 10 Debe evitarse el cruzamiento de las voces Aunque el cruce no es incorrecto resulta por lo general un camino demasiado f cil para tratar los problemas 11 La nota pen ltima se elegir siempre de las pertenecientes al acorde de dominante V o de las del VII grado Si es posible debe aparecer aqu la nota sensible La voz inferior puede usar tambi n la fundamental de la dominante pero nunca la fundamental de IV que coincide con la quinta disminuida de VII 4 2 Segunda especie Consejos y directrices 12 Si se divide una redonda en dos o en cuatro u ocho la primera de cada par de notas se convierte en un tiempo acentuado o fuerte mientras que la segunda queda sin acento como tiempo d bil Si la redonda se divide en tres o en seis la primera de cada tres notas constituye un tiempo fuerte acentuado en tanto que las dos que siguen son tiempos d biles sin acentuar El primer tiempo de todo comp s es el que lle
51. odulel itinerario Armon Text 1 Print Print 1 432 On ch 1 n Print 1 432 On ch 1 n v 64 Print 1 480 On ch 1 n Print 1 480 On ch 2 n M Nota Print 1 480 On ch 1 n M v 64 Print 1 480 On ch 2 n M Print 1 576 On ch 1 n Print 1 576 On ch 2 n Module Nota Print 1 576 Meta TrkEnd Print 1 TrkEnd Close Ejecutamos T2mf Dim hWndAct As Long vr hr hWndAct GetActiveWindow vr Shell t2mf r datos txt Do While GetActiveWindow vr DoEvents Loop hWndAct GetForegroundWindow Do While IsWindow hWndAct vr DoEvents Loop hr Shell mplayer2 v2 mid End Sub Private Sub Textl Change End Sub l cantus firmus 5 v2 mid hWndAct O 52 y 0 Text 8 v 0 v 0 v 0 7 Bibliograf a Zamacois 94 Joaqu n Zamacois Tratado de armon a Ed Labor S A Motte 76 Diether de la Motte Armon a Ed Labor S A Salzer 52 Felix Salzer Audici n estructural Ed Labor S A Motte 81 Diether de la Motte Contrapunto Ed Labor S A Forner 79 Johannes Forner J rgen Wilbrandt Contrapunto creativo Ed Labor S A Schoenberg 63 Arnold Schoenberg Ejercicios preliminares de contrapunto Ed Labor S A Schoenberg 22 Arnold Schoenberg Armon a Ed Real Musical Madrid Hoppin 78 Richard H Hoppin La m sic
52. s para voz de contralto en clave de Do en tercera La opci n play permite escuchar el cantus firmus Este cantus firmus se escribe en un fichero midi denominado Cf mid y en forma de texto en Vdef dat la manera de escribir las notas en el fichero de texto es mediante n meros que indiquen las notas separados por retornos de carro con la codificaci n midi Por ejemplo 60 C do 62 D re 64 E mi 65 F fa 62 D re 60 C do Fig 8 Cuando pulsamos O K los valores escogidos se almacenan autom ticamente en el fichero Vdef dat que ser el fichero que se cargue al arrancar el programa La opci n Primera Especie nos abre una pantalla con una serie de opciones En la parte izquierda de la pantalla tenemos una serie de reglas en las que podemos seleccionar el grado de penalizaci n que va a sufrir el camino correspondiente si incumple alguna de ellas Una vez que pulsemos O K obtendremos todas las armonizaciones posibles que superen el l mite que nosotros pongamos La pantalla que se abre cenla opci n Segunda Especie es similar excepto en el cambio de reglas ambas pantallas en el margen inferior izquierdo aparece una barra de progreso indicando el tiempo que falta para completar el c lculo Z 9 C digo fuente 1 ContrapuntoSevero Contrapunto Severo Frm Private Sub AcercaDe Click Load Acerca Acerca Show End Sub Private Sub FicheroSalir Click End End Sub Private Sub Form Load Op
53. s terceras seguidas 17 Aparici n de 3 o m s sextas seguidas 18 N mero excesivo de un sonos Estableciendo un umbral de penalizaci n los caminos que no sobrepasen ese umbral ser n eliminados El procedimiento es sencillo eficaz y r pido a pesar de haber sido implementado en Visual Basic A adimos notas consonantes al cantus firmus Fin de bucle Next Reordenamos los caminos para la salida El algoritmo de programaci n es el siguiente Reglas en el interior Establecemos dos del bucle para arrays eliminar o penalizar 1 Itinerarios caminos 2 Pesos de If itineraarios Fig 3 6 2 Segunda especie En este caso tomamos como base parte de lo ya implementado en la primera especie Teniendo en cuenta las reglas 12 y 13 en los tiempos fuertes de la segunda especie siempre debe haber consonancia por lo que el procedimiento empleado es 14 similar con la salvedad de la modificaci n de algunas reglas Hasta el momento el esquema aplicado es el mismo que el de la figura 3 A adimos notas Establecemos dos Bucle principal que consonantes al cantus arrays eval a todos los firmus 1 Itinerarios caminos 2 Pesos de For itineraarios Reglas eh el interior del buclg para eliminayjpaminos Fin de bucle Reordenamos los Next caminos para la salida Fig 4 Las reglas del interior del bucle 1 son 1 Eliminamos un sonos paralelos 2 Eliminamos quintas paralel
54. s y complejas como las que el compositor original pudiera haber escrito 2 Introducci n a la implementaci n Este trabajo pretende ser a peque a escala un sistema experto que sea capaz de realizar una segunda melod a a una dada cantus firmus bas ndose en las reglas del contrapunto severo a dos voces Se trata de un sistema basado en reglas donde a la entrada del mismo estar a la melod a a armonizar cantus firmus y a la salida obtenemos las distintas posibilidades de armonizar esta melod a a dos voces jerarquizadas en funci n de las reglas introducidas reglas arm nicas del contrapunto La implementaci n final del sistema ha sido en Visual Basic Se ha escrito el c digo de la primera y la segunda especie del contrapunto severo Posibles ampliaciones de este trabajo pasar an por implementar la tercera y la cuarta especie as como mejorar la eficiencia del algoritmo por medio de funciones en lenguaje C que acelerasen el proceso de c lculo compiladas en ficheros dll que fuesen invocados desde el programa principal Sistema basado Distintas En reglas armonizaciones 1 Fig 1 3 Contrapunto severo Especies El contrapunto severo es un procedimiento escol stico para iniciarse en el aprendizaje del contrapunto pr ctica usual en la rama de composici n de los conservatorios de m sica occidentales Esta forma de iniciarse en la escritura contrapunt stica tiene su origen en la obra del siglo XVII Gradus ad P
55. s y las aplica sino que busca caminos interesantes estima posibilidades de realizaci n se encuentra con situaciones no satisfactorias y retrocede borra lo realizado Tambi n hay que tener en cuenta que no todas las reglas tienen el mismo peso y que hay que hacer jerarqu as Por ejemplo Regla x Las quintas justas paralelas entre las voces est n prohibidas Si establecemos un camino y nos encontramos dos quintas paralelas entre las voces este camino ser incorrecto y no ser necesario seguir evaluando Por tanto podemos establecer un procedimiento de poda Mira 95 Ser in til seguir expandiendo esta rama porque va a ser una armonizaci n incorrecta Regla y Hay que evitar movimientos mel dicos mon tonos Este camino debe ser penalizado en un determinado grado pero no eliminado porque nos puede conducir a continuaci n a una soluci n satisfactoria de la armon a Para este tipo de reglas parece l gico emplear la l gica difusa Mira 95 Adem s de evaluar nota por nota el compositor levanta la vista del papel y eval a lo ya escrito y decide en funci n de lo ya hecho Puede que algo no le guste y decida volver atr s Tambi n puede darse el caso de que lo escrito sirva de inspiraci n a decisiones posteriores Por tanto en todo momento y en cualquier tipo de composici n parece necesario establecer un back traking que nos permita seguir adelante Ebcioglu 92 Esta evaluaci n debe realizarse a varios nivel
56. sos a 0 peso itinerario i 0 Next i For i 0 To caminos 1 For b 0 To 11 10 No saltos de 7 If Abs itinerario i b 1 itinerario i b 11 Then peso itinerario i peso itinerario i 1 End If If Abs itinerario i b 1 itinerario i b 10 Then peso itinerario i peso itinerario i 1 End If 10 No saltos de 9 If Abs itinerario i b 1 itinerario i b 13 Then peso itinerario i peso itinerario i 1 End If If Abs itinerario i b 1 itinerario i b 14 Then peso itinerario i peso itinerario i 1 End If 10 No empezar por 5 If Abs itinerario i 0 cantus firmus 0 7 Then peso itinerario i peso itinerario i 1 End If 10 No acabar por 5 If Abs itinerario i 10 cantus firmus 0 7 Then 43 peso itinerario i peso itinerario i 1 End If 2p Eliminamos octavas paralelas If itinerario i b 1 cantus firmus Int b 2 12 Then caminos con octavas If itinerario i b 3 cantus firmus Int b 2 1 12 Then peso itinerario i peso itinerario i 1 End If End If 2 Eliminamos octavas paralelas If itinerario i b cantus firmus Int b 2 12 Then caminos con octavas If itinerario i b 1 cantus firmus Int b 2 1 12 Then peso itinerario i peso itinerario i 10 En
57. t Format L mite Value 10 0 00 End Sub Private Sub NotaRepetida Change Text9 Text Format NotaRepetida Value 100 0 00 End Sub Private Sub NotaRepetida Scroll Text9 Text Format NotaRepetida Value 100 0 00 End Sub Private Sub TercerasSeg Change Text2 Text Format TercerasSeg Value 100 0 00 End Sub Private Sub TercerasSeg Scroll Text2 Text Format TercerasSeg Value 100 0 00 End Sub Private Sub T nicaFin Change Text8 Text Format T nicaFin Value 100 0 00 End Sub Private Sub T nicaFin Scroll Text8 Text Format T nicaFin Value 100 0 00 End Sub Private Sub TritonoM Change Textl Text Format TritonoM Value 100 0 00 End Sub Private Sub TritonoM Scroll Textl Text Format TritonoM Value 100 0 00 End Sub Private Sub Unis Change Text3 Text Format Un s Value 100 0 00 End Sub Private Sub Un s Scroll Text3 Text Format Un s Value 100 0 00 End Sub 4 Pentagramas Pentagramas Frm 30 Private Sub Armon Change Line8 0 Visible False Line8 1 Visible False Line8 2 Visible False Line8 3 Visible False pk 0 For i 0 To 5 p 0 If Modulel itinerario Armon Text i 60 Then Redonda i 6 Visible True Redonda i 6 Move 1150 i 700 900 Line8 pk Visible True Line8 pk X1 1050 i 700 Line8 pk X2 1450 i 700 Line8
58. us b 1 cantus firmus b gt 0 Then peso itinerario i peso itinerario i 1 End If End If End If If itinerario i b 1 cantus firmus b 1 7 Then If itinerario i b itinerario i b 1 gt 2 Then If cantus firmus b cantus firmus b 1 gt 0 Then peso itinerario i peso itinerario i 1 End If End If End If 9 No saltos mayores que el de octava If Abs itinerario i b 1 itinerario i b gt 12 Then peso itinerario i peso itinerario i 1 End If 103 No saltos de 7 If Abs itinerario i b 1 itinerario i b 11 Then peso itinerario i peso itinerario i 1 End If If Abs itinerario i b 1 itinerario i b 10 Then peso itinerario i peso itinerario i 1 End If 118 No dos saltos en la misma direcci n If itinerario i b itinerario i b 1 gt 2 Then If itinerario i b 1 itinerario i b 2 gt 2 Then peso itinerario i peso itinerario i 1 End If End If If itinerario i b itinerario i b 1 2 Then If itinerario i b 1 itinerario i b 2 2 Then peso itinerario i peso itinerario i 1 End If End If VO KCKCKCkCk ARA k kk kk X kk X kk kk kok ck kck ak kakak kakak akh REGLAS PARA PENALIZAR CAMINOS sy KOK kk k kok kok k k kk kk KCk Ck A 7 S lo grado conjunto If itinerario i b 1 itinerario i b gt 2 Then 27 peso itinerario i peso itinerario i GradoConjunto Value
59. va el acento principal y los tiempos fuertes del interior del comp s quedan un poco menos acentuados 13 Hay una diferencia en el tratamiento de los tiempos fuertes y d biles en relaci n con el uso de disonancias y consonancias Las consonancias primera octava quinta tercera sexta pueden usarse libremente en tiempos fuerte y d biles Las disonancias en tiempos d biles y con las siguientes reglas a Como nota de paso es una disonancia en una f rmula de tres notas La primera y la ltima de estas tres notas deben ser consonancias a distancias de tercera y han de estar situadas en tiempos fuertes La nota que queda en medio de estas dos consonancias situada en tiempo d bil es una disonancia La f rmula completa forma parte de una l nea en escala que sube o baja b Como floreo es una disonancia en una f rmula de tres notas La primera y la ltima son iguales La nota de en medio est a distancia de segunda La conclusi n en la segunda especie 14 Si el CF acaba con 2 1 la pen ltima nota de la voz superior s lo puede ser la sensible s ptima nota de la escala mayor Para el pen ltimo comp s s lo queda una posibilidad de la sexta nota a la s ptima y a la octava 15 La primera nota de la voz superior no debe ser otra que primera octava quinta o tercera La sexta no expresar a la tonalidad de forma clara 5 Reflexiones compositivas El compositor o estudiante de contrapunto no emplea reglas sin m
Download Pdf Manuals
Related Search
Related Contents
King Pigeon Hi-Tech.Co.,Ltd. MODEL 4822 Philips Multigroom Grooming kit QG3342/23 Philips AJ3953 User's Manual Iconic Plasma Support Bracket - PLB WA : Free Download, Borrow, and Streaming : Internet Archive V7 Ultra Slim Folio Stand for iPad, Black Manuel d`utilisation VS12D Current Tariffs Philips RI2081/00 blender Dalian Good Display Co.,Ltd LCD Module User Manual YM 0078 Copyright © All rights reserved.