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ł.