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