151

Apropos trackera - a może by wystarczyło na początek zrobić prosty konwerter z popularnego .mod . Spreparować instrumenty softsynthowe jako sample żeby można było swobodnie pod jakimkolwiek ulubionym trackerem pisać a potem konwertować moda na masic. Toć to by się dało i w pascalu zrobić :)

The problem is not the problem; the problem is your attitude about the problem

152

Mógłbym się podjąć napisania takiego konwertera z .NEO do SS.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

153

p.s.

Pajero napisał programik który modyfikuje pliki MOD tak aby sample powyżej 16KB po zresamplowaniu do 16KB odgrywać innymi nutami

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

154

Krótkie pytanie - czy Save .wav działa czy to atrapa? I jeśli działa to gdzie wypluwa plik :)

The problem is not the problem; the problem is your attitude about the problem

155

No to po kolei:
- zrobiłem konwerter, ale z .mid zamiast z .mod. Wstępnie działa. Problem jest taki, że wszystkie pliki .mid jakie mam są mocno polifoniczne i jako takie nie bardzo się nadają do grania na 4-głosowym, z 1 głosem na kanał, Atari Softsynth. Zaleta jest natomiast taka, że można zagrać jakąc melodyjkę jednym palcem na keyboardzie i skonwertować ją do softsynthowego tracka

- import .mod też mam w planie, bo 4-kanałowego mod nie ma wspomnianych wyżej problemów z polifonią. Muszę gdzieś dopaść specyfikację.. kiedyś nawet miałem, ale szybciej znajdę ją od nowa w necie niż w swoim bałaganie...

- save .wav jeszcze nie działa. Muszę dopisac procedurę do owego "wichajstra". Jako, że mnie samego wkurza brak owej funkcji, a procedura nie jest skomplikowana, myślę że niedługo zadziała. Jak zadziała, to po zaznaczeniu "save WAV" i wciśnięciu play, otworzy sie save dialog z pytaniem, gdzie owego wav zapisać. Żeby nie robić rewolucji, będzie grać i zapisywać jednocześnie, przynajmniej na razie. Po prostu wygenerowany strumień bajtów oprócz tego, że pójdzie do bufora karty dźwiękowej, trafi także do pliku.

- eksperymenty z konwersją midi pokazały, że bez porządnego track editora nie będzie nic, w związku z czym zacząłem go właśnie dziś robić. Póki co najprostsza możliwie wersja: edytor presetów (bardzo mi ich brak, więc za chwilę będą), możliwośc edycji jednego tracka naraz i odsłuchania go z wybranym presetem, rozdzielanie listingów softsynthowych na tracki wg numeru tracka i według numeru kanału, możliwośc zagrania kawałka melodyjki na klawiaturze PC i zapis tego do tracka, zapis projektu do pliku wraz z presetami i trackami, żeby nie dekodować masicowego listingu za każdym razem od nowa.

156

@pik33: - http://en.wikipedia.org/wiki/MOD_%28file_format%29 np. Noisetracker/Soundtracker/Protracker Module Format - 4th Revision

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

157

Ściągnięte, wydrukowane.

158

Działa save do .wav.

Rozgrzebałem więcej rzeczy niż nad tym panuję.. więc, żeby jakiś postęp był, skoro jakaś nowa funkcja działa, skompiluję to pod win i wrzucę wreszcie update na SourceForge. Najprawdopodobniej jutro. Muszę przetestować ten kod pod windą, zanim go wpuszczę w net.

Z innych działających nowinek - od ostatniej wersji - dodany dekoder MIDI (niestety, spoo trzeba jeszcze po nim ręcznie poprawić, żeby zagrało, ale jest) oraz stereo - kanały 1..4 są  w tej chwili domyślnie "lekko rozrzucone" po bazie stereo; poza tym polecenie pan channel, parametr (0..127, tak jak w midi) ustawia kanał w wybranym miejscu bazy stereo.

No i rozgrzebałem track editor.. i edytor do presetów. To jest rozbebrane i nie działa tam póki co prawie nic.

Przestudiowałem format .mod. Będzie trudniej z konwersją, niż .mid. Póki co, nawet tego nie zacząłem.

159

Wersja 0.06 poszła na SourceForge.

160

To jak panowie, będzie do tego tracker?

161

Myślę że aby w pełni wykorzystać możliwości masica, tracker powinien mieć nieco inną filozofię niż mod-style trackery. Przede wszystkim tracki powinny być niezależne i mieć różną długość. Da się zaprojektować wygodny interfejs - pewną namiastkę tego mamy w CMC - zwróćcie uwagę że nie ma tam patternów w klasycznym tego słowa rozumieniu. Ustawiamy zdefiniowane tracki na poszczególnych kanałach. Są oczywiście ograniczenia - tracki mają stałą długość , nie można ich zapętlać, trzeba je jawnie wstawiać w kółko, należy to trochę przemyśleć. Ideałem byłaby filozofia ścieżek , na których wstawiamy zdefiniowane tracki nadając im atrybuty - np. zapętlenie. Grałoby to sobie dopóki nie pojawiłby się na tej ścieżce event który to zmieni.

Interfejs jest tu kluczowy, a idea trackera nie jest w cale ograniczona  - główne ograniczenie to myślenie patternami, jako zestawami tracków o jednakowej długości. Tak naprawdę interfejs klasycznych trackerów jest dość prymitywny :)

The problem is not the problem; the problem is your attitude about the problem

162 Ostatnio edytowany przez booker (2010-09-29 13:01:56)

Takie rozwiązanie jak mówisz wieczor w zasadzie jest klasyczne dla programów muzycznych na 8bitach. Zasadniczo jeno tylko pozostaje kwestia pokazania tego w stylu mod-trackera, czego ze świecą szukać. (Wyświetlanie zawartości pojedynczego patternu na korzyść ścieżek z numerami patternów to zło :) )

Czyli, masz niezależne patterny, o niezależnej długości. Wstawiasz je w ścieżkę, i odgrywane są kolejno po sobie. Ew. funkcjonalnie jest dodać możliwość loopowania oraz transpozycji dla paterrnu. Wreszcie edytor co najwyżej wyświetla je po prostu razem w tym samym momencie scrollując pozycję (a jeżeli nie scrolluje to podświetla odgrywany krok) i tym samym ukazuje się efekt mod-style trackera ;)

Przykład z Goat Trackera dla C64 (program dla PC) http://www.youtube.com/watch?v=omFjhj9ZPxU gdzie Linus musiał wykorzystać zmienne długości patternów dla zmniejszenia wielkości pliku właśnie.

Aktualnie różna długość patternu w praktyce jest bezużyteczna, chyba, że zależy na jak najmniejszym rozmiarze wynikowego tuna.

Albo wystarczy zobaczyć Raster Trackera oczywiście ;)

Również obsługa interfejsu MIDI musowo (poproszę) :)

163

W planach jest tak (trochę widać w 0.06)
- edytujemy jeden track naraz lub Main Melody (zestawianą głównie z tracków)
- trzymamy się filozofii Masica - track ma długość dowolną i gra w pętli przez czas zdefiniowany w głównej melodii
- po wybraniu presetu program wstawi definicje SET do tracka i ustawi syntezę na wybraną kombinację parametrów
- po czym można będzie w realtime zagrać na klawiaturze pc i zapisać to w postaci masicowego kodu, który potem można będzie sobie doedytować, odsłuchać, pozmieniać presety albo ręcznie dopisać cokolwiek,
- w późniejszym terminie będzie midi in, póki co mam odpowiednie biblioteki dla linuxa i chyba znajdę dla win; bez pomocy posiadaczy maców obsługo midi-in do maca nie jestem w stanie zrobić; wszystko to jednak w późniejszym terminie.

Nie mam jeszcze pomysłu na edytor do głównej melodii, żeby ją elegancko złożyć z tracków w inny sposób, niż ręczne pisanie tron..wait..troff...

No i wolno mi teraz wszystko idzie, bo nie mam teraz na to czasu, a nawet jak mam, to za bardzo jestem zmęczony żeby pisać więcej linii kodu, niż błędów.

164 Ostatnio edytowany przez wieczor (2010-09-30 06:29:11)

pik33 napisał/a:

Nie mam jeszcze pomysłu na edytor do głównej melodii, żeby ją elegancko złożyć z tracków w inny sposób, niż ręczne pisanie tron..wait..troff...

Może po prostu ustawiasz tracki na wielowarstwowym timelinie np. podobnym do flashowego (albo pionowym jak kto woli, jeśli jest  to bardziej sugestywne) w postaci np. takich klocków w danym kolorze. które trwają tyle czasu jaką mają długość - ustalasz to np. ręcznie wprowadzając czas, lub jeśli Ci się będzie chciało ( :) ) to rozciągasz je myszą i np:

0  10   20    30   40   50   60    70 ........
______[-----t1----]________________
___[-------t2------]________________

I na powyższym przykładzie o ile się nie mylę bo się trochę gubię jeszcze w masicu ;) to by wyglądało tak:

wait 10
tron 2
wait 10
tron 1
wait 20
troff 1
troff 2

Oczywiście poza tym można by na timelinie poza trackami w czasie ustawiać bloki odpowiadające za włączenie efektów. Byłoby to i obrazowe bo muzyka jest jednak związana z czasem i proste do ogarnięcia i nietrudne chyba do konwersji na masic odpowiednio go zagospodarowując.

A poza tym podoba mi się jako muzykowi Twój tok myślenia :) Szykuje się zawodowy edytor.

The problem is not the problem; the problem is your attitude about the problem

165

wieczor napisał/a:

A poza tym podoba mi się jako muzykowi Twój tok myślenia :) Szykuje się zawodowy edytor.

Ooo, a mozesz dac link(i) do Twojej muzycznej tworczosci?? Chetnie sie zapoznam... :)

166 Ostatnio edytowany przez wieczor (2010-10-03 22:41:46)

Żebym ja miał taki link :) Plumkam sobie po kontach. Lata temu zdradziłem Atari na rzecz modułów, tego co robiłem kiedyś za chiny nie pokażę ;) Ale jak będę w Polsce za 2-3 tygodnie przeszukam archiwum, może coś dla ludzi się znajdzie. Ale to nie jest typowo scenowa muzyka :)

Kiedy miałem Atari to byłem trochę za młody żeby coś fajnego robić - wszystko to była taka lameriada. Teraz może bym się spróbował - temu mi tak ślinka cieknie na ten edytor ;)

The problem is not the problem; the problem is your attitude about the problem

167

Coby zdebugować toto, zacząłem z pomocą softsyntha konwertować Noisy Pillars :) jako że lubię tę muzyczkę, a błędy i niedoróbki najlepiej wychodzą przy "prawdziwej" robocie. No i... wylazło trochę tego, więc będzie w rezultacie trochę zmian... i muzyczka z c64 przekonwertowana na atari. Ale to za co najmniej parę dni.

168 Ostatnio edytowany przez pik33 (2010-10-17 18:39:56)

.. no i Atari Softsynth też swoje błędy ma....
Nie zaakceptował tego:

1010 1,'500,random,default,10,1,1

Po wprowadzeniu takiej linijki polecenie list 1010 wyświetla krzaki zamiast random i default (albo inne nazwy, albo wręcz serduszka z atascii). Pomogło to:

1010 1,a,random,default,10,1,1

Kolejny kwiatek:

set 3,rechteck, default, 8,1,1

Tak zdefiniowany dźwięk na Atari po prostu nie gra. Minimalna długość, żeby grał, wynosi 2. ...

Trzeba dać speed 1 i zdefiniować 8,4,4. Wtedy gra.

169

A ja tak się zastanawiałem... Double pokey jest dość rozpowszechniony , czy nie byłoby dobrze ustereofonicznić Softsyntha? Rozszerzając o dodatkowe kanały, lub po prostu rozrzucając istniejące ew. wykorzystać 8 jako 4 z możliwością panningu?

The problem is not the problem; the problem is your attitude about the problem

170 Ostatnio edytowany przez pik33 (2010-10-20 17:35:38)

Dobrze by było, ale to wymaga przepisania lub napisania na nowo Atari Softsyntha. Przy tym Softsynth był szokiem gdy powstał, ale później na A8 powstały procedury stanowczo ładniej grające i nie wymagające do tego gaszenia ekranu.

171

Ehm, jakiś przykład? Ja nie mam na myśli grania na samplach - SoftSynth niesie nową jakość sam w sobie jako emulator analogowego syntezatora. A co do gaszenia ekranu przy tej - lub samplowej - technice grania - jak to jest rozwiązywane że antic nie przeszkadza?

The problem is not the problem; the problem is your attitude about the problem

172

Więc tak: Softsynth liczy sample, ale potem Pokey musi je wypuścić w świat. To są dwie różne sprawy. Jakby poprawić procedury wypuszczania przez Pokeya tych samych sampli, jakie mu dostarcza procedura syntezy, mogłoby być ładniej.

A ekran gasi się właśnie po to, żeby antic nie przeszkadzał. Po prostu: wyłącza się Antica. Mnie zastanawia co innego: jak są wypuszczane (ładne, nie zniekształcone) sample, gdy Antic pracuje. Atari 8bit nie mam od 90 roku; wtedy takie techniki jeszcze nie były znane... a nowych już nie poznałem.

173

ANTIC zawsze będzie przeszkadzał

w przypadku pierwszych playerów MOD-ów - MD8 sumowało się wartości z wszystkich kanałów i na podstawie predefiniowanej tablicy wyliczało się nową wartość którą wpisywało się do wszystkich rejestrów głośności POKEY-a, chodzi o ominięcie właściwości POKEY-a polegającej na zagłuszaniu się kanałów

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

174

Ok, ale skoro antic przeszkadza to jak grać bez jego wyłączania?

The problem is not the problem; the problem is your attitude about the problem

175

Pierwsze co mi do głowy przychodzi, to przy włączonym anticu wypuszczać sample w DLI; nie wiem na ile to dobra metoda; przez 20 lat cokolwiek zapomniałem... :(