pySonic – międzyplatformowa biblioteka dla języka Python będąca w pełni obiektowym wrapperem biblioteki FMOD. Pakiet pySonic stworzył i rozwija Peter Parente, rozpowszechnia go na licencji MIT, jednakże sam FMOD chroniony jest inną licencją.

Cechy Biblioteka udostępnia nieskomplikowany i wygodny w użyciu obiektowy interfejs programistyczny. Składa się na niego kilka klas (Globals, Listener, Recorder, Reverb, Sample, Song, Source, Stream i World), a (prawie) cała funkcjonalność FMODa jest zawarta w metodach i właściwościach obiektów. Stosując „pythonowe” (ang. pythonic) podejście do tematu, autor starał się zawrzeć maksimum funkcjonalności, przy zachowaniu jak największej prostoty i czytelności, dzięki temu kod z użyciem pySonic powinien być zwięzły i przejrzysty.

Przykładowy kod Poniższy kod to przetłumaczony na język polski przykład ze strony domowej pySonic: import pySonic import time

def finished_stream(source): print 'Koniec odtwarzania strumienia'

# inicjalizacja systemu dźwięków w = pySonic.World()

# utworzenie dwóch źródeł dźwięku src1 = pySonic.Source() src2 = pySonic.Source()

# wczytanie jednego pliku do pamięci, strumieniowanie drugiego z dysku src1.Sound = pySonic.FileSample('short.wav') src2.Sound = pySonic.FileStream('long.mp3')

# umiejscowienie źródeł w przestrzeni 3D src1.Position = (-0.5, 0.0, 0.5) src2.Position = (0.5, 0.0, 0.5)

# zarejestrowanie funkcji callbackowej src2.SetEndStreamCallback(finished_stream)

# odtworzenie dźwięków (równoczesne) src1.Play() src2.Play()

# wstrzymanie wykonania na czas odtwarzania while src1.IsPlaying() or src2.IsPlaying(): time.sleep(1)

Linki zewnętrzne Witryna projektu pySonic FMOD

Kategoria:Otwarte oprogramowanie Kategoria:Biblioteki Pythona Kategoria:Oprogramowanie muzyczne