Wczoraj gadałem trochę z Xrayem nt. kolekcji muzycznej, którą zamierzamy wkrótce wydać. Przy okazji wyszedł pewien problem i jednocześnie jego teoretyczne rozwiązanie. W każdym bądź razie chciałbym zapytać się koderów, czy to jest sensowne i (ewentualnie) kto by to mógł zrobić...
Do rzeczy. Chcemy mieć możliwość przy odtwarzaniu modułu na atari natychmiastowego skoku do dowolnego miejsca w utworze. Nie do początku jakiegoś patternu, tylko do DOWOLNEGO miejsca. Wydaje się, że problem jest prosty do rozwiązania. Wystarczy napisać programik, który przy odtwarzaniu utworu będzie zrzucał co każde wywołanie playera zawartość wszystkich rejestrów AUDC/AUDF i AUDCTL do pliku. Wychodzi 18 bajtów dla stereo przy każdym wywołaniu playera, co dla utworu np. 2x na ramkę oznacza, że minuta muzyki będzie zajmować 108000 bajtów = 18*2*50Hz*60sek. Trochę dużo, ale bez straty jakości a poza tym - i tak mniej niż MP3... Całość można by spakować np. FP.
Później proces trzeba byłoby po prostu odwrócić i z odczytanego pliku przepisywać po prostu wartości do rejestrów...
Zalety:
1. Skok do dowolnej pozycji utworu z dokładnością do 1 wywołania playera
2. Ultra szybki player - musi tylko kierować strumień do rejestrów, no nawet jeśli będzie depacker strumienia danych, to i tak bije to na głowę thetę zapewne
3. Koniec kłopotów z róznymi playerami - ujednolicony jeden player
Wady:
1. Stosunkowo duża objętość danych w porównaniu z innymi formatami przybierająca drastyczną formę ;-)
Z rozmowy z Xrayem doszliśmy do wniosku że pomysł może nie jest nowy (FOX! - co ty na to?), ja zresztą chciałem go już kiedyś wykorzystać w Voice of Silence...
Do czego to się może przydać? Nam - czyli Grayscale - do kolekcji, ale można by przecież pomyśleć o zmodyfikowaniu np. wtyczki do Winampa, wtedy można byłoby posłuchać sobie modułek od połowy, a nie cierpliwie czekać od początku na ulubiony fragment ;-)
Co o tym sądzicie? Czekam szczególnie na głosy krytyczne.
Jeśli idea została by podchwycona, to może powstanie nowy format danych?