aktualności

Dźwięk na osiem fajerek... pardon - flopów

26 10 grudnia 2012, 09:03 Marek Kowalski

Zaprezentowana po raz pierwszy 29 lutego br niewielka platforma sprzętowa Raspberry Pi nie stała się nigdy bohaterką pierwszych stron czołowych serwisów i gazet. Bardzo ją za to polubił nasz redakcyjny programista - Daniel Kukieła. Nie wierzycie? Poczytajcie, a przede wszystkim... posłuchajcie.

Relatywnie niewielka popularność Raspberry Pi, nie przeszkodziła pasjonatom nowoczesnych technologii zaadoptować możliwości tego urządzenia do realizacji własnych, niekoniecznie stricte komputerowych planów. 

Przykładem nietypowego zastosowania tego niewielkiego komputera opartego na układzie zgodnym z architekturą ARM jest projekt zrealizowany przez naszego redakcyjnego kolegę - Daniela Kukiełę. Daniel oficjalnie jest programistą, jednym z tych niedocenianych i absolutnie niezbędnych ludzi, którzy trzymają w ryzach kod naszego serwisu. Znacznie bardziej interesujące jest to, czym zajmuje się Daniel po godzinach.

Tak, domyślacie się - Daniel ma Raspberry Pi.

Ma też osiem 3,5-calowych stacji dyskietek, co wyszło z tego połączenia? Na pierwszy rzut oka wygląda to jak nieskładna plątanina kabli. Obdarzeni co większą fantazją i wyobraźnią być może dostrzegą w tym artystycznym nieładzie miniaturowy model przyszłej stacji kosmicznej - będą w błędzie. To... orkiestra. Ale może dość, oddajmy głos samemu Twórcy. Pytanie zasadnicze: Daniel, coś Ty zbudował? Jak to coś gra?

D.K.: Elementem grającym są głowice w stacjach dyskietek. Steruje się nimi podając impulsy na odpowiednie piny złącza do którego podłącza się taśmę. Jedna para pinów „włącza” stację, kolejna odpowiada za kierunek ruchu głowicy (stan wysoki i niski) i ostatnia to ruch głowicy o jeden krok. Jeśli zacznie się podawać impulsy o odpowiedniej częstotliwości, głowica zacznie drgać z tą częstotliwością generując dźwięk. Głowica może wykonać 82 kroki w jednym kierunku, wiec kroki trzeba zliczać i w odpowiednim momencie zmieniać kierunek głowicy.

PCLab: Czy ma znaczenie jakich stacji dyskietek użyjesz?

D.K.: O tak, dobranie odpowiednich stacji jest bardzo ważne. Najlepsze jakie teraz mam potrafią grać dźwięk A w zerowej oktawie, te słabsze zagrają F z oktawy -1. Różne stacje mają różną charakterystykę dźwięku, np. dźwięk jest nieco inny w zależności od kierunku ruchu głowicy, znacznie gorzej brzmi, gdy mechanizm stacji jest poluzowany.

PCLab: OK, dyskietki to orkiestra, takowa jednak sama z siebie nie zagra...

D.K.: Sercem projektu jest Raspberry Pi, model B w pierwszej rewizji. Na moim blogu opisałem sposób sterowania diodami i rodzaj użytych buforów. W moim projekcie przyłączyłem w ten sposób stacje dyskietek do Raspberry Pi. Bufory są potrzebne, ponieważ Raspberry Pi nie ma zabezpieczeń nadprądowych i nadnapięciowych na złączu GPIO, więc łatwo uszkodzić rPi. Druga rzecz to różnica poziomu napięć – rPi używa 3v3, a stacje dyskietek 5v.

PCLab: A skąd "orkiestra" czyta nuty?

D.K.: Źródłem muzyki są pliki midi. Napisałem parser i coś w rodzaju prostego sekwensera w PHP. PHP dlatego, ze całość będzie się opierać o interfejs webowy. Wynikiem działania tego narzędzia jest plik z instrukcjami dla odtwarzacza. Odtwarzacz napisany jest w języku C. Ładuje plik z informacjami i gra :)

PCLab: Co było dla Ciebie największym wyzwaniem podczas realizacji tego projektu? 

D.K.: Największym problemem od strony odtwarzacza było napisanie kodu tak, aby na 16 pinów był w stanie w odpowiednich momentach podawać impulsy – aby każda stacja grała inny dźwięk. Każdy grany dźwięk to seria impulsów wysyłanych do każdej stacji. Nawet małe opóźnienia przekłamują i zniekształcają dźwięk. Kod jeszcze nie jest optymalny, bo na razie ma działać :) Ostatnio np. dodałem prostą emulację perkusji, czego nie widziałem w innych rozwiązaniach. Docelowo chcę postawić prosty portal z wiki i kodem źródłowym – chce udostępnić wszystkim kod źródłowy i opis całego projektu z instrukcją wykonania po polsku i po angielsku. Projekt jest całkowicie mojego autorstwa – zarówno od strony softu (kod) jak i sprzętu (sposób podłączenia do rPi).

PCLab: Pozostaje nam pogratulować i życzyć powodzenia w realizacji dalszych pomysłów, ale nie zapominaj o kodzie serwisu! ;-) Dzięki za rozmowę Daniel, może oddajmy teraz głos Twoim "muzykom".

D.K.: Jasne, miłego słuchania!

 

Więcej hitów na kanale Daniela w serwisie YouTube.

Źródło: własne
tortureZobacz profil
Poziom ostrzeżenia: 0%
torture2012.12.10, 09:15
33#1
Samo patrzenie na to powoduje uśmiech na twarzy. Dobra robota :)
jukojukoZobacz profil
Poziom ostrzeżenia: 0%
jukojuko2012.12.10, 09:17
19#2
Dobre :)
robgrabZobacz profil
Poziom ostrzeżenia: 0%
robgrab2012.12.10, 09:31
Świetne, naprawdę robi wrażenie. Kolejny krok to próba użycia głowicy jako 1bitowy przetwornik DA i odtworzyć jakieś sample niczym z zxspectrum
Jackal_plZobacz profil
Poziom ostrzeżenia: 0%
Jackal_pl2012.12.10, 09:33
22#4
Widziałem już kilkanaście takich projektów, zarówno na youtubie, jak i na pewnym popularnym polskim forum dla elektroników, zarówno 3,5cala jak i 5 cali. I najciekawsze jest to, że każda jest zupełnie inna. Każda inaczej gra choćby te same kawałki. I każdy twórca ma swoją własną wizję takiego cacka.
Gratuluję udanej konstrukcji!
ZIB2000Zobacz profil
Poziom ostrzeżenia: 0%
ZIB20002012.12.10, 09:33
-30#5
myslałem ze cos oryginalnego ale takie filmiki widziałem juz pare lat temu i nie trzeba było do tego raspberry

lepiej niech wyprodukuje porządny odtwarzacz filmów na podstawie xbmc i ładnie opakuje to i chetni się znajdą

robgrab nie da się - musi przejśc i tak przez sterownik silnika krokowego a ten nie poradzi sobie z wysokimi czestotliwościami
zresztą to nie ma sensu - wystarczy głośnik i mamy super jakość - jak chcesz więcej to poczytaj o jedynym w pełni cyfrowym wzmacniaczu TACT
tam za przetwornik DA robi właśnie głośnik
kadajoZobacz profil
Poziom ostrzeżenia: 0%
kadajo2012.12.10, 09:42
12#6
Krótko - zajebiste.
manriuszZobacz profil
Poziom ostrzeżenia: 0%
manriusz2012.12.10, 10:11
Przedni pomysł.Gratuluję inwencji.Czekam na więcej.
robgrabZobacz profil
Poziom ostrzeżenia: 0%
robgrab2012.12.10, 10:23
12#8
ZIB2000 czemu nie ma sensu? Gdyby tak podchodzić, to tracenie czasu na takie zabawy ogólnie nie ma sensu. Ale to jest świetne hobby, ludzie dalej robią dema na zx spectrum/c64/atari ......
RungoZobacz profil
Poziom ostrzeżenia: 0%
Rungo2012.12.10, 10:47
Gratuluję pracowitości. Jeśli chodzi o brzmienie Ghostbusters - dla mnie ideałem jest to wykonanie: http://www.youtube.com/watch?v=lx_vWkv50uk
Może to kwestia mikrofonów?
GregixZobacz profil
Poziom ostrzeżenia: 0%
Gregix2012.12.10, 10:49
zarąbiste!
szacun!
Zaloguj się, by móc komentować
1