podręcznik użytkownika [PL]

Transkrypt

podręcznik użytkownika [PL]
Add harmony
Automatyczna harmonizacja melodii
PODRĘCZNIK UŻYTKOWNIKA
Filip Łakomik
Spis treści
1. Wstęp.................................................................................................2
1.1 Prawa autorskie...............................................................................2
1.2 Zawartość dokumentu.....................................................................3
2. Instalacja i usuwanie wtyczki............................................................3
2.1 Wymagania sprzętowe i systemowe................................................3
2.2 Instalacja w systemie Windows XP.................................................4
2.3 Odinstalowanie wtyczki..................................................................8
3. Uruchomienie i konfiguracja wtyczki...............................................9
3.1 Uruchomienie wtyczki....................................................................9
3.2 Konfiguracja algorytmu harmonizacji...........................................10
4. Baza akordów..................................................................................17
4.1 Budowa..........................................................................................17
4.2 Nazwy akordów.............................................................................17
4.3 Przykład bazy akordów.................................................................18
5. Baza reguł........................................................................................19
5.1 Budowa..........................................................................................19
5.2 Wzorce nazw.................................................................................19
5.3 Przykładowa baza reguł.................................................................19
1. Wstęp
1.1 Prawa autorskie
Niniejszy materiał jest częścią składową pracy inżynierskiej Filipa Łakomika pod
tytułem „Automatyczna harmonizacja melodii”, napisanej pod kierunkiem dr Macieja
Smołki, w Bielskiej Wyższej Szkole im. J. Tyszkiewicza.
1.2 Zawartość dokumentu
Dokument opisuje sposób instalacji oraz użytkowania wtyczki „Add Harmony” do
programu Sibelius, służącej do automatycznej harmonizacji melodii. Opisano również zasady
tworzenia baz akordów oraz reguł na bazie których działa wtyczka.
W razie jakichkolwiek wątpliwości, pytań lub uwag proszę o kontakt:
Filip Łakomik
e-mail: [email protected]
GG: 4223898
2. Instalacja i usuwanie wtyczki
2.1 Wymagania sprzętowe i systemowe
Wtyczka opracowana została dla programu Sibelius 5 w wersji Demo dla systemu
Microsoft Windows. Do jej działania wystarczy komputer na którym działa sam program
Sibelius w wersji 5 czyli:
•
Windows XP SP2 lub Windows Vista
•
512 MB RAM (zalecane 1GB)
•
350 MB wolnego miejsca na twardym dysku (+ 1MB dla wtyczki)
Program Sibelius 5 Demo można ściągnąć z witryny http://www.sibelius.com/, można tam też
zamówić pełną wersję programu. Wtyczka do działania w systemie MAC-OS może wymagać
modyfikacji części kodu.
2.2 Instalacja w systemie Windows XP
Po zainstalowaniu programu Sibelius 5, lub Sibelius 5 Demo należy uruchomić
instalator wtyczki – plik: „Add harmony install.exe”.
Na ekranie pojawi się komunikat powitalny:
Ilustracja 1: Instalacja - okno powitalne
Należy zamknąć wszystkie uruchomione aplikacje i kliknąć przycisk „Next >”.
Pojawi się okno z informacją o tym gdzie należy zainstalować wtyczkę i jak ją uruchomić
oraz informacją o prawach autorskich.
Ilustracja 2: Instalacja - okno z dodatkową informacją
Klikamy przycisk „Next >”. Na ekranie pojawi się kolejne okno.
Ilustracja 3: Instalacja - okno wyboru ścieżki do katalogu "Plugins"
W oknie należy wybrać ścieżkę do katalogu: „Plugins” znajdującym się w katalogu
instalacyjnym programu Sibelius. W przypadku standardowej instalacji programu jest to:
„C:\Program Files\Sibelius Software\Sibelius 5 Demo\Plugins”, dla wersji Demo i
„C:\Program Files\Sibelius Software\Sibelius 5\Plugins” w przypadku pełnej wersji
programu.
Klikamy przycisk „Next >”. Na ekranie pojawi się kolejne okno:
Ilustracja 4: Instalacja - okno potwierdzenia wpisanych danych
Jeżeli podana przez nas ścieżka jest prawidłowa klikamy przycisk „Start”. Po chwili powinno
pojawić się okno informujące o prawidłowym ukończeniu instalacji:
Ilustracja 5: Instalacja - okno informujące o poprawnym zakończeniu
instalacji
Klikamy przycisk „Next >”.
Wyświetlone zostanie jeszcze okno z informacją na temat programu „Install Creator”, za
pomocą którego został przygotowany plik instalacyjny.
Ilustracja 6: Instalacja - okno z informacją o programie "Install Creator"
Instalacja jest już ukończona klikamy przycisk „Exit” w celu zamknięcia programu
instalacyjnego.
2.3 Odinstalowanie wtyczki
Wtyczkę odinstalować można klikając:
„Start -> Programy -> Add harmony -> Uninstall Add harmony”
3. Uruchomienie i konfiguracja wtyczki
3.1 Uruchomienie wtyczki
Przed uruchomieniem wtyczki należy za pomocą myszki i klawisza „Shift” zaznaczyć
fragment melodii, który chcemy harmonizować:
Ilustracja 7: Uruchomienie wtyczki - zaznaczenie fragmentu melodii do harmonizacji
Jeżeli chcemy harmonizować melodię, której fragment został już wcześniej
zharmonizowany powinniśmy zaznaczyć także ostatni z już zharmonizowanych taktów, w
przeciwnym przypadku reguły łączenia nie będą stosowane do połączenia ostatniego z
wcześniej zharmonizowanych akordów z aktualnie harmonizowanym fragmentem.
Ilustracja 8: Uruchomienie wtyczki - zaznaczenie fragmentu melodii w celu kontynuacji
harmonizacji
Po zaznaczeniu fragmentu melodii w menu głównym programu należy wybrać:
„Plug-ins -> Add Harmony -> Wizard”
Ilustracja 9: Uruchomienie wtyczki - włączenie programu
3.2 Konfiguracja algorytmu harmonizacji
Po uruchomieniu wtyczki na ekranie jawią się dwa okna:
- Okno z przyciskiem „Stop!” nie jest częścią wtyczki, ale jest wyświetlane przez program
Sibelius 5 przez cały czas działania wtyczki, żeby umożliwić wyłączenie wtyczki w razie
problemów.
Ilustracja 10: Konfiguracja - okno
umożliwiające zatrzymanie
wtyczki
- Okno powitalne:
Ilustracja 11: Konfiguracja - okno powitalne
Klikamy przycisk „Next >>”. Na ekranie pojawi się okno wyboru ścieżki do pliku
zawierającego bazę akordów.
Ilustracja 12: Konfiguracja - okno wyboru pliku z bazą akordów
Ścieżkę do pliku z bazą akordów możemy wpisać ręcznie lub wybrać plik klikając
przycisk „Browse”. Można samemu stworzyć bazę akordów w sposób opisany w rozdziale
czwartym („Baza akordów”), lub wykorzystać jeden z dwóch przykładowych plików
dostarczonych razem z wtyczką znajdujących się w katalogu: „Plugins\samples\” „C major chords.sib”, lub „C minor chords.sib”.
Po wybraniu ścieżki do pliku klikamy przycisk „Next >>”. Jeżeli ścieżka do pliku jest
wpisana poprawnie na ekranie pojawi się kolejne okno wyboru interwału o jaki mają być
transponowane akordy.
Ilustracja 13: Konfiguracja - okno wyboru interwału transpozycji
Akordy w bazie akordów zapisane są w jednej tonacji np. C-dur. Jeżeli melodia
napisana jest w innej tonacji durowej np. D-dur mimo wszystko możemy wykorzystać do jej
harmonizacji bazę akordów napisaną w tonacji C-dur z tym że musimy podać interwał o jaki
akordy mają zostać przetransponowane. W tym celu wybieramy ilość półtonów o jaką mają
być przetransponowane akordy. Wybór liczby dodatniej powoduje transpozycję w górę, a
ujemnej w dół. Tak więc w przypadku harmonizacji melodii napisanej w tonacji D-dur
używając bazy akordów „C major chords.sib” należy wybrać wartość 2. Jeżeli melodia
napisana jest w tonacji C-dur wybór liczby 0 spowoduje że akordy nie będą transponowane.
Po wybraniu interwału klikamy przycisk „Next >>”. Na ekranie pojawi się kolejne okno
wyboru ścieżki do pliku z dodatkowymi regułami.
Ilustracja 14: Konfiguracja - okno wyboru ścieżki do pliku z bazą dodatkowych reguł
Ścieżkę do pliku z bazą dodatkowych reguł możemy wpisać ręcznie lub wybrać plik
klikając przycisk „Browse”. Można samemu stworzyć bazę reguł w sposób opisany w
rozdziale piątym („Baza reguł”), lub wykorzystać przykładowy plik dostarczonych razem z
wtyczką znajdujących się w katalogu: „Plugins\samples\” - „rules.sib”.
Po wybraniu ścieżki do pliku klikamy przycisk „Next >>”. Jeżeli ścieżka do pliku jest
wpisana poprawnie na ekranie pojawi się kolejne okno w którym ustawia się parametry
oznaczające ważność reguł zaimplementowanych w programie.
Ilustracja 15: Konfiguracja - okno konfiguracji parametrów reguł
W programie zaimplementowane są podstawowe ogólne reguły łączenia akordów. W
celu dostosowania wyników działania programu do swoich potrzeb można określić ważność
tych reguł poprzez wpisanie odpowiednich liczb rzeczywistych w pola po prawej stronie. Im
większa liczba tym reguła jest ważniejsza dla programu. Liczba ujemna zaś oznacza odwrotne
działanie reguły. Znaczenie kolejnych reguł:
1. „Random rule” - reguła powoduje losowe zmiany w ocenie połączenia akordów i jest
zaimplementowana w celu ograniczenia schematycznego działania programu. Jej
ważność powinna być ustawiona odpowiednio nisko. Ustawienie zbyt dużej wartości
parametru w stosunku do parametrów innych reguł spowoduje dobór losowych
akordów, a pozostałe reguły będą miały jedynie wpływ na prawdopodobieństwo ich
wylosowania. Ustawienie wartości parametru o kilka rzędów niższej, niż w przypadku
pozostałych reguł spowoduje że reguła ta będzie miała wpływ na wybór pomiędzy
połączeniami jednakowo ocenionymi, co pozwala uniknąć powtarzających się
schematów.
2. „Nearest connectons” - tzw. „reguła najkrótszej drogi” ustawienie parametru
dodatniego spowoduje preferowanie przez program tych połączeń akordów w których
dźwięki w trzech pierwszych głosach przechodzą najbliższą drogą na dźwięki
drugiego akordu.
3. „Hold common note” - dodatni parametr powoduje preferowanie tych połączeń w
których został zachowany wspólny dźwięk.
4. „Avoid paralel 1, 5 and 8” - dodatni parametr powoduje preferowanie połączeń w
których nie występują równoległe: prymy, kwinty lub oktawy.
5. „Change function if sopran stays, hold if moves” - dodatni parametr powoduje
preferowanie tych połączeń w których dla zatrzymanego dźwięku w sopranie
zmieniana jest funkcja, a dla zmienionego dźwięku w sopranie, na inny dźwięk tej
samej funkcji, funkcja jest powtarzana.
6. „Avoid 7 and more then 8 jumps in voices” - dodatni parametr powoduje
preferowanie tych połączeń w których nie występują skoki o septymę i większe niż
oktawa.
7. „Don't repeat functions through barlines” - dodatni parametr powoduje
preferowanie tych połączeń w których nie powtarza się funkcja przez kreskę taktową.
Po ustaleniu parametrów reguł klikamy przycisk „Next >>” i na ekranie pojawia się okno z
informacją że konfiguracja algorytmu została zakończona. Aby zharmonizować melodię
klikamy przycisk „Harmonize!”.
Ilustracja 16: Konfiguracja - okno informujące o poprawnym ukończeniu konfiguracji
Po kliknięciu przycisku „Harmonize !” rozpocznie się automatyczna harmonizacja melodii
pojawi się też okno informujące o jej postępie. Czas harmonizacji zależy od liczby dźwięków
w melodii oraz ilości reguł i akordów w plikach.
Ilustracja 17: Okno informujące o postępie
harmonizacji
4. Baza akordów
4.1 Budowa
Baza akordów to plik tekstowy, który można przygotować za pomocą np. notatnika i
zapisać z rozszerzeniem „sib”.
Pierwsza linia pliku zawiera informację o ilości akordów w bazie, kolejne linie zawierają
informacje o kolejnych akordach. Akord opisany jest poprzez ilość dźwięków, wysokości
dźwięków oraz nazwę. Struktura bazy reguł wygląda więc następująco:
Liczba akordów w bazie
liczba dźwięków w pierwszym akordzie
wysokość pierwszego dźwięku w pierwszym akordzie
...(wysokości kolejnych dźwięków w pierwszym akordzie)
nazwa pierwszego akordu
liczba dźwięków w drugim akordzie
wysokość pierwszego dźwięku w drugim akordzie
...(wysokości kolejnych dźwięków w pierwszym akordzie)
nazwa drugiego akordu
...(informacje o kolejnych akordach)
Wysokości dźwięków powinny być podawane od najniższej do najwyższej według standardu
MIDI, gdzie c razkreślnemu odpowiada wartość 60, a kolejnym dźwiękom kolejne liczby
całkowite (cis¹ = 61, d¹ = 62 itd...). Górne dźwięki akordów (dźwięki melodii) powinny
mieścić się w oktawie razkreślnej czyli w przedziale 60 – 71. Jeżeli harmonizowana melodia
wykracza poza oktawę razkreślną akordy będą automatycznie transponowane o dodatkowe
oktawy.
4.2 Nazwy akordów
Nazwy akordów powinny być budowane w następujący sposób:
•
1 znak nazwy to pierwsza litera nazwy funkcji akordu
•
2 znak to cyfra oznaczająca dodany składnik np. 7 oznacza dodaną septymę, przy czym 0
oznacza brak dodanego składnika
•
3 znak to cyfra oznaczająca podstawę akordu np. 3 oznacza akord o podstawie tercji
•
4 znak to cyfra oznaczająca pozycję akordu np. 5 oznacza akord w pozycji kwinty
•
5 znak to cyfra oznaczająca stopień na którym zbudowany jest akord
•
6 znak oznacza układ akordu: S – układ skupiony, R – układ rozległy
•
kolejne znaki to numer akordu (jeśli istnieje inny akord o tej samej nazwie)
4.3 Przykład bazy akordów
Przykładowa baza akordów zawierająca 3 akordy może wyglądać w następujący sposób:
3
4
48
52
55
60
T0111S
4
45
48
53
65
S0314R
43
50
59
67
D0115R
5. Baza reguł
5.1 Budowa
Baza reguł to plik tekstowy, który można przygotować za pomocą np. notatnika i
zapisać z rozszerzeniem „sib”.
Pierwsza linia pliku zawiera informację o ilości akordów w bazie, a kolejne zawierają nazwy
akordów, lub ich wzorce oraz ocenę ich połączeń (liczba rzeczywista). Struktura pliku
wygląda więc następująco:
liczba reguł w bazie
nazwa/wzorzec nazwy pierwszego akordu w pierwszej regule
nazwa/wzorzec nazwy drugiego akordu w pierwszej regule
ocena połączenia akordów pierwszej reguły
nazwa/wzorzec nazwy pierwszego akordu w drugiej regule
nazwa/wzorzec nazwy drugiego akordu w drugiej regule
ocena połączenia akordów drugiej reguły
...(kolejne reguły)
5.2 Wzorce nazw
Wzorce nazw pozwalają definiować reguły bardziej ogólne niż dotyczące połączenia
dwóch konkretnych akordów. Dokonuje się tego poprzez zastąpienie nieistotnych elementów
nazwy akordu znakiem „X”. np. D7X15X oznaczać będzie dominantę septymową opartą na
dowolnym składniku w pozycji prymy w dowolnym układzie.
5.3 Przykładowa baza reguł
Przykładowa baza reguł zawierająca jedną regułę może wyglądać następująco:
1
DXXXXX
SXXXXX
-100000
Reguła bardzo nisko ocenia wystąpienie funkcji subdominanty w dowolnym układzie po
dominancie w dowolnym układzie, co spowoduje że takiego (niedozwolonego) połączenia
program będzie unikał.