Witaj :)

Ta instrukcja nie jest ukończona. Dlatego zajrzyj tu za jakiś czas. Na pewno coś przybędzie. A teraz - kliknij "Zaczynamy" w spisie treści.


 

 

Zaczynamy.

Muszę zaznaczyć na wstępie, że PC-Softsynth w chwili obecnej jest wersją alfa, czyli po prostu programem w trakcie powstawania. Aktualnie dostępna wersja 0.07 co prawda działa i możesz jej używać, ale program na pewno będzie się jeszcze zmieniał. Oczywiście pod warunkiem, że znajdę czas na jego pisanie i rozbudowywanie.

Na Sourceforge dostępna jest wersja skompilowana dla 32-bitowego systemu Windows. Będzie pracować także i w systemie Linux, z pomocą emulatora Wine. Jeśli chciałbyś mieć wersję, która będzie działać w systemie Linux bez pomocy emulatora, skompiluj ją ze źródeł z pomocą narzędzia do tworzenia aplikacji o nazwie Lazarus, a jeśli nie wiesz, jak się do tego zabrać, daj znać na forum. Być może w najbliższej przyszłości udostępnie eksperymentalnie wykonywalną wersję linuxową współpracującą z bibliotekami GTK+

Będziesz potrzebował bibliotek SDL w wersji 1.2. Służą one do obsługi dźwięku. Ściągnij je stąd:

Rozpakuj ściągnięty plik zip.

Z Sourceforge musisz ściągnąć dwa pliki. Ten najnowszy, domyślnie proponowany, wersja 0.07, build 135 - oraz poprzednią wersję 0.06, build 120

Rozpakuj oba pliki . W katalogu z wersją 0.06 podmień plik exe na ten z wersji 0.07. Skopiuj też do tego katalogu plik sdl.dll. Instalacja jest zakończona.

Z następną wersją nie trzeba się będzie tak bawić :)

Uruchom plik "Project1.exe". Powinno ukazać się główne okno programu. Jeśli nie - daj znać na forum :)

 


 

Pierwsze uruchomienie

Jeśli program się uruchomił, w pierwszej kolejności kliknij "Settings" i wpisz (niestety, w tej wersji wciąż jeszcze ręcznie) katalogi, do których będzie odwoływał się program. Są to dokładnie te same katalogi, które widać wewnątrz rozpakowanego katalogu z programem. Trzeba wpisać pełną nazwę każdego katalogu wraz z kończącym "\" (w systemie Linux "/")

Kiedyś zrobię autokonfigurację, ale to alfa... prosimy nie narzekać...

A więc, jeśli rozpakowałeś program na dysku D do katalogu "Softsynth" , musisz wpisać po kolei:

  • .s directory: d:\Softsynth\s\
  • .h directory: d:\Softsynth\h\
  • Module direstory: d:\Softsynth\mod\
  • Atari .lst directory: d:\Softsynth\lst\

Katalog  \s zawiera definicje kształtów fal dźwiękowych, \h - definicje zmian głośności instrumentu w czasie (coś a'la ADSR), \mod to katalog na pliki z napisaną muzyką, a \lst - jest to katalog zawierający muzykę zaimportowaną z 8-bitowych komputerów Atari. Bezpośrednio po zainstalowaniu programu można znaleźć tam kilka przykładowych utworów z Atari Softsynth.

Kliknij w "Import Atari Song". Powinien otworzyć się katalog - wybierz jeden z plików .lst. Kliknij "Otwórz". Po chwili w okienku po lewej powinien pojawić się tekst: "xxx lines loaded" (gdzie xxx to liczba załadowanych wierszy kodu), w okienku edytora z prawej strony pojawi się kod, opisujący załadowaną melodię.

Wciśnij "Play". Z lewej wyświetli się lista załadowanych plików "s2" i "h2", a muzyka zacznie się odtwarzać.

Jeśli zamiast tego zobaczysz mnóstwo kodów błędów, a muzyka albo nie zagra, albo będzie dziwnie brzmiała... sprawdź jeszcze raz i ewentualnie popraw ustawienia (klikając w "Settings"), a jeśli to nie pomożedaj znać na forum.


 

Pierwsze dźwięki...

Zagramy po prostu gamę. :)

Kliknij "New song"

Okno edytora zostanie wyczyszczone.

Kliknij w to okno, pojawi się kursor.

Teraz wpisz ten kod:

speed 4
set 1, glocke, percus, 15, 100, 30
1,c
1,d
1,e
1,f
1,g
1,a
1,h
1,c1
wait 30
1,c1
1,h
1,a
1,g
1,f
1,e
1,d
1,c
wait 30    
  

i wciśnij "Play". Usłyszysz gamę C-dur zagraną dźwiękiem, przypominającym dzwonek.

Myślę, że powyższy kod jest łatwy do zrozumienia.

Speed 4 określa szybkość odgrywania utworu. Im większa liczba tym wolniej.

set 1, glocke, percus, 15,100, 30 definiuje instrument. "1" to numer kanału, dla którego tworzymy definicję. "glocke" to nazwa pliku z definicją kształtu fali dźwiękowej (plik o nazwie "glocke.s2" zostanie wczytany z katalogu "\s"), "percus" to nazwa pliku ("percus.h2" w katalogu "\h") zawierającego definicję ADSR, 15 oznacza głośność dźwięku, 100 - czas trwania dźwięku, a 30 - czas pomiędzy zagraniem kolejnych dźwięków.

Trzy ostatnie parametry, a także "speed" i numer kanału wymagają wyjaśnienia.

Kanałów mamy do dyspozycji 32, w każdym może grać jednocześnie jeden dźwięk i dla każdego musimy zdefiniować instrument - może być on dla każdego z nich inny. Atari Softsynth dysponował czterema kanałami: jeśli chcesz aby twoja muzyka nadawała się do odtworzenia przez ośmiobitowca, używaj kanałów o numerach od 1 do 4. Jeśli ci na tym nie zależy, a chcesz mieć melodię o bogatszym brzmieniu, masz do dyspozycji kanały o numerach od 0 do 31.

Głośność określamy w skali od 0 (cisza) do 15 (najgłośniej) lub, alternatywnie, od 16 (cichutko) do 32767 (najgłośniej). Pierwszy sposób jest zgodny z Atari Softsynth, ale daje możliwość użycia tylko 15 poziomów głośności. Drugi pozwala regulować płynnie głośność, ale jest niezgodny z 8-bitowym formatem. Jeśli chcesz swoją melodię zagrać w przyszłości na 8-bitowym Atari, nie używaj tej metody.

Czas trwania dźwięku i czas pomiędzy dźwiękami podany jest w jednostkach, których długość zależy od parametru podanego w poleceniu "speed". Jednostka czasu to parametr speed pomnożony przez 5 milisekund. Speed 4 oznacza, że jedna jednostka czasu będzie miała 20 milisekund.

A więc czas pomiędzy kolejnymi dźwiękami gamy będzie wynosił 600 milisekund. Jeśli zaś dać pojedynczemu dźwiękowi wybrzmieć "do końca" - będzie trwał dwie sekundy.

Polecenia 1,c; 1,d itd. oznaczają po prostu: zagraj w kanale 1 dźwięk o określonym tonie (c,d,e,f,g,a,h - te literowe określenia powinny być ogólnie znane).

Półtony otrzymujemy przez dodanie do nazwy tonu "#". c# oznacza "c podwyższony o półton"

Bemoli niestety nie ma :) Jeśli zobaczysz w zapisie nutowym d z bemolem, zastąp go przez c#; to ten sam dźwięk. A jeśli chcesz zagrać coś nietypowego, napisz znak ', a od razu po nim częstotliwość dźwięku w Hz. Na przykład 1,'200 zagra dźwięk o częstotliwości 200 Hz.

Cyfra po nazwie dźwięku to numer oktawy. Numeracja oktaw jest taka jak w Atari Softsynth (zgodność!) Numer oktawy może być także ujemny.

Polecenie wait oznacza "czekaj". Wait 30 - czekaj 30 jednostek, a więc w tym wypadku 600 milisekund.

 


 

Teraz możesz pobawić się programem. Zajrzyj do katalogów .s i .h, zobacz, jakie masz do dyspozycji brzmienia, wypróbuj je. Pozmieniaj parametry dla kanału, zobacz, który parametr jak działa, spróbuj wpisać na przykład "wlazł kotek na płotek"... miłej zabawy

 


 

Specyfikacja języka MASIC

Strona w trakcie powstawania

Nazwa MASIC pochodzi z programu Atari Softsynth. Język ten bazowany był oczywiście na BASICu, a  źe służył do opisu muzyki... podmieniono pierwszą literę nazwy na M.

Język opisu muzyki użyty w PC-Softsynth należałoby w sumie nazwać inaczej, ponieważ różni się kilkoma cechami od oryginalnego MASICa. Przede wszystkim nie używa numerów wierszy, poza tym, ponieważ dzisiejszy sprzęt komputerowy stwarza znacznie większe możliwości syntezy dźwięku, niż 8-bitowe komputery Atari, został uzupełniony o kilka nowych możliwości.