kategoria: Muzyka
[#1] Trzaski w module
Pytanie do ekspertów. Czy zdarzyło Wam się słyszeć takie pykanie podczas odtwarzania niektórych modułów? Nie zawsze w tym samym miejscu, ale zawsze w przypadku niektórych modułów. Na taki sam problem natrafił gość z wątku na EAB'ie. Zacytuję dla wygody najważniejszą część:

When trying Colonization I noticed that the first intro music (Bonny Morn) at some points of this there are always some cracking noise. However none of the other music of the game seem to do this. I therefore tried some other speakers but same thing. Wanting to confirm it was not an issue with the A1200 I tried the game on an A500 and same thing happened. I also tried the game on FS-UAE and again in the intro music I can hear such cracking noise but the other music of the game looks to be ok.


W ostatniej odpowiedzi znajduje się takie możliwe wyjaśnienie, choć nie pomaga rozwiązać problemu:

I don't know the exact theory behind. It seems to happen at the transition between two sounds (or from silence to a sample, or from a sample to silence, sometimes even when looping) when the output level moves abruptly.


Jeśli ktoś już coś takiego miał podczas tworzenia własnego modułu, to jak sobie z tym radzi?
Będę bardzo wdzięczny za podpowiedź. Aha, volume down na końcu sampla nie pomaga (tak twierdzi z kolei ktoś inny, kto też ma ten problem).

Jeszcze jedna ważna uwaga. Ten sam "pykający" moduł odtwarzany pod Windowsem np. ModPlug Playerem grany jest czysto. Usłyszałem takie możliwe wyjaśnienie:

Amiga doesn't have "volume ramping". Volume ramping is a kind of blending of the frequencies. So instead of cutting a tone off completely (resulting it a click), it fades down really quick. Amiga doesn't have this. So if you stop a note, you'll probably hear a click.


Nie jestem muzykiem, ale odkąd usłyszałem te pykania zaczęło mnie to gnębić i prześladować.

Tutaj można ściągnąć i posłuchać problematycznego modułu: colonization (bonny morn).mod

Ostatnia aktualizacja: 20.09.2018 21:07:41 przez Umpal
[#2] Re: Trzaski w module

@Umpal, post #1

Wczytałem ten moduł pod DigiBoosterem 3 na MorphOSie i trzasków nie usłyszałem. W których dokładnie miejscach ma być je słychać?
[#3] Re: Trzaski w module

@recedent, post #2

Niemal na całości. Ale to musiałbyś odsłuchać np. HippoPlayerem albo pod którymś z trackerów (ja próbowałem pod PT2.3E i PT3.62). Dzieje się tak pod WinUAE i na prawdziwej Amidze (nawet przekładałem karty, co mi zasugerowano i zarówno na V2, 9T Nintails i na gołej A600 ma to miejsce).

Problem potwierdził twórca klona PT na Windowsa i na Amigę. Szuka przyczyny, bo jego samego też to przygwoździło.

Ostatnia aktualizacja: 20.09.2018 21:37:55 przez Umpal
[#4] Re: Trzaski w module

@Umpal, post #1

Probowales w DblPAL go posluchac? Jesli jest ok, to jest to kwestia za niskiego okresu uzytego w nim. Na niektorych Amigach taki modul dziala a na niektorych nie.
[#5] Re: Trzaski w module

@Umpal, post #3

"Pyka" na eagleplayerze, uade, aminetradio (ptplay.player).
Pyka ale znacznie ciszej i brzmi inaczej na aminetradio (mod.player, modplug.player).
[#6] Re: Trzaski w module

@Don_Adan, post #4

Nie próbowałem, ale i nie spróbuję, bo nie mam jak teraz wyświetlić tego trybu. Jeśli ktoś inny może, to niech spróbuje. Choć to i tak nie rozwiąże problemu.

@Korni, w tym rzecz - na niektórych jest to słabiej, a na innych mocniej, ale tak czy inaczej pyka.
[#7] Re: Trzaski w module

@Umpal, post #1

Potwierdzam, na Protrackerze trzaski/clipy są bardzo słyszalne.
Zauważ, że ten moduł został najpierw potraktowany The Playerem, a później skonwertowany Pro-Wizardem. Być może po drodze powstały jakieś artefakty? Trzeba by sprawdzić jak ta muza brzmi w Colonization. A najlepiej zdobyć oryginalną wersję modułu…
[#8] Re: Trzaski w module

@Umpal, post #1

Dziwne to by dopiero było gdyby nie klikało. Panie, tu jest Amiga (rulez!) i tu musi klikać i rzęzić :). To jest po prostu najbardziej słyszalne na tego typu prostych, sinusoido-podobnych sampelkach. Kiedyś się tym przesadnie nie przejmowano, po prostu robiono techno :). Procedurki miksujące na PC czy w stylu AHI trochę inaczej działają, mogą przewidywać co będzie grane i odpowiednio dopasować przebieg - to coś co zacytowałeś. Na Amidze to leci na żywca.

Właściwie to sobie z tym nie poradzisz, jeśli tak jak w modku aktualnie grany dźwięk (sampel) będzie urwany przez następny. Ale jak będziesz miał trochę przestrzeni i czasu to... [przykład].


Tu też klika:


Ostatnia aktualizacja: 21.09.2018 00:55:05 przez nogorg
[#9] Re: Trzaski w module

@nogorg, post #8

Nie chciałem nic mówić ale czułem że Ty akurat się uaktywnisz wylozysz kawę na ławę ;)
[#10] Re: Trzaski w module

@mikecios, post #9

Nawet pokażę kawałek w którym te trzaski są celowo wykorzystane

[#11] Re: Trzaski w module

@Jazzcat, post #7

Zamieszczone wideo do YouTuba przez Nogorga potwierdza, że tak ma też oryginał. Ale nie wątpiłem, bo to nie jedyny moduł z takim "trzaskami", jaki słyszałem.

@Nogorg, dzięki za próbkę - odsłuchałem i, pomimo, że mam tzw. drewniane ucho, to jest coś strasznego. Pykanie/trzaskanie jest okropne. Ktoś wczoraj sugerował, że to może mieć związek z przełączaniem DMA i/lub z DC discontunity (nie mam pojęcia o co z tym chodzi, jedynie, że ma to związek z samplem). Generalnie ciężka sprawa do rozwikłania.
[wyróżniony] [#12] Re: Trzaski w module

@Umpal, post #11

Trzask pojawi sie zawsze kiedy na jednym kanale zmienia sie sampel i bajt sampla granego w momencie zmiany (czyli ostatnia zawartosc rejestru AUDxDAT) znaczaco sie rozni od pierwszego bajtu nowego sampla. Masz wtedy skokowa zmiane sygnalu i trzask. Glosnosc trzasu tez bedzie sie roznic w zaleznosci od roznicy miedzy poprzednia i nowa zawartoscia rejestru AUDxDAT.

Im bardziej poprzedni sampel na danym kanale "wybrzmial" i im ciszej gra tym wieksza szansa ze trzasku unikniesz.
[#13] Re: Trzaski w module

@mschulz, post #12

Ja grałem w Colonization i nie słyszałem żadnych "anomalii", a mam dobry słuch. Problemy zanotowałem co najwyżej w AHI również na Amiga OS4 na Sam440ep, więc nie sądzę by Amiga miała jakiekolwiek tu problemy.

Ostatnia aktualizacja: 21.09.2018 09:22:30 przez Hexmage960
[wyróżniony] [#14] Re: Trzaski w module

@mschulz, post #12

Pogladowy obrazek jeszcze :)

link

Ostatnia aktualizacja: 21.09.2018 09:28:01 przez mschulz
[wyróżniony] [#15] Re: Trzaski w module

@Umpal, post #11

No dokładnie. Przebieg traci ciągłość i stąd pojawia się klik. I jak pisałem, najbardziej jest to słyszalne na takich elementarnych tonach np. podobnych do sinusa, co mamy w tym wypadku. Gdy instrumenty mają bardziej złożony przebieg to się nieco lepiej maskuje i tak bardzo nie słychać.

Widać to na obrazku:


Natomiast w załączonym wcześniej przykładzie jest też drugie zjawisko wynikające z ograniczeń stopniowanej 5-bitami głośności. To był bardzo fajny trik, ale ma także skutki uboczne co właśnie słychać.

Jednej prostej recepty na to nie znajdziesz, bo dużo zależy od sytuacji w jakiej niepożądany efekt występuje tzn. jaką tam muzyczkę sobie piszesz.

No ale THIS - IS - AMIGAAAAAAAAA! Nie dla mięczaków
[#16] Re: Trzaski w module

@mschulz, post #14

Dzięki za tak szczegółowe wyjaśnienie! Przekazałem je dalej OK
[#17] Re: Trzaski w module

@Umpal, post #16

Słucham codziennie z godzinę muzyki na Amidze i nie słyszę żadnych trzasków, pików czy czegokolwiek. No, ale praktyka i teoria to dwie różne sprawy.
[#18] Re: Trzaski w module

@Hexmage960, post #17

Puść sobie na Protrackerze moduł, o którym pisze Umpal i powiedz, czy słyszysz klikanie.
[#19] Re: Trzaski w module

@Jazzcat, post #18

Pod uade slychac pykanie :) Pod xmp slychac pykanie jezeli wybierze sie "amiga mixer". Po wybraniu opcji "stereo cubic spline interpolated mixer" trzaskow prawie nie ma co wcale nie dziwi biorac pod uwage jak ten mikser pracuje.

Ostatnia aktualizacja: 21.09.2018 11:05:00 przez mschulz
[#20] Re: Trzaski w module

@mschulz, post #19

Wiem :) Ale chciałem żeby Hex posłuchał, bo mówi, że w grze pykania brak. Jeśli faktycznie w grze jest dobrze, to być może potwierdzałoby to moją teorię, że sample się popsuły w trakcie konwersji.
[#21] Re: Trzaski w module

@Jazzcat, post #20

@mschulz - tak, puszczenie modułu przez jakieś inne grajki z filtrami częściowo lub zupełnie (w przypadku ModPlug Player na Windzie) rozwiązują problem. Nawet testowy moduł Nogorga odgrywany pod ModPlug Playerem jest czyściutki, ale tam z tego co mi powiedziano zastosowano volume ramping i jakieś inne filtry. Na Amidze tego nie ma, tzn. żaden Protracker takiej funkcji nie ma i potwierdza to twórca Protrackera pod Windowsa i poprawki 2.3E na Amidze. Chłopaki teraz rozprawiają na ten temat i ewidentnie uznali to za "weird design" w Protrakerze. Wspomniany autor twierdzi, że:
These clicks are clearly happening because - even though volume is at 0 on the previous sample, volume it turned back up on this sample just before playing the next one, causing the click. That's a bug. The previous sample should have been stopped before playing the next one.<-- that could be a plausible explanation


@Jazzcat - tak jest również w oryginalnym module i dzieje się tak w innych, które są "podatne" na taki efekt. Wspomniany już moduł próbny Nogorga także to potwierdza.
[#22] Re: Trzaski w module

@Jazzcat, post #20

Dla formalności sprawdziłem na grze żeby nie było wątpliwości - pykanie jest.

Ostatnia aktualizacja: 21.09.2018 11:54:23 przez Umpal
[wyróżniony] [#23] Re: Trzaski w module

@Umpal, post #21

Coś takiego było na początku w AHI i objawiało się w DigiBoosterzePro. Może w PT też jest podobnie, ale w wypadku modułu z "Colonization" to nie bardzo widzę gdzie konkretnie to występuje. W miejscu które ja mam na myśli (pos. 02, pat. pos. 24, ch. 03) instrument jest wyciszony np. komendą A05, która go tak do końca nie wycisza i stąd jest 'cyk'. I przy okazji 'chrr'. Może Ty masz (albo oni mają) na myśli inne miejsce.

W każdym razie w tamtym miejscu, żeby to odrobinę zniwelować, trzeba by zrobić coś w tym stylu:



Ogólnie to raczej musztarda po obiedzie, nie wiem czy dzisiaj jest sens nad tym debatować i poprawiać Protrackera, bo takie poprawki mogą napsuć 'zgodność' ze starymi kawałkami. Może Protrackery 3.x zmieniały to nieco, bo pamiętam, że one miały problem z synchronizacją sampli. Tzn. udawanie np. flangera za pomocą puszczenia tego samego sampla na dwóch kanałach potrafiło odbiegać od tego jak to brzmiało w standardowej linii PT 2.x.

Natomiast zupełnie nowy tracker nawiązujący do 'tradycji' ale z funkcjami których się starocie nie doczekały mógłby być fajny.
[#24] Re: Trzaski w module

@mschulz, post #12

Czy rozwiązaniem mogło by być dodanie dodatkowych (zbliżonych wartością) bajtów w kolejnym samplu? (taki trik maskujący)
[#25] Re: Trzaski w module

@Adinfo, post #24

Czy rozwiązaniem mogło by być dodanie dodatkowych (zbliżonych wartością) bajtów w kolejnym samplu? (taki trik maskujący)


Mozna by bylo nalozyc na kolejnego sampla jakas dodatkowa funkcje, ktora opadala by w krotkim czasie od Delty (roznicy miedzy ostatnim granym bajtem starego sampla i pierwszym granym bajtem nowego sampla) do 0, tylko pytanie
a) jaka funkcje wybrac, bo liniowa dla dzwiekow nie jest najlepsza,
b) jaki komputer mialby to udzwignac, A500 raczej by nie dala rady, oraz
c) gdyby roznica byla zbyt duza moglyby sie zdazyc przesterowania psujace dzwiek na poczatku sampla. Tez slyszalne i tez przeszkadzajace.

No i taka funkcje tez by sie w jakis tam sposob slyszalo.
[#26] Re: Trzaski w module

@Adinfo, post #24

Ktoś zadał chyba to właśnie pytanie autorowi PT:

- does pt/amiga do something weird like loop the first byte of a non-looping sample when it ends? So you'd want to ensure the first byte is 0
- every sample loops. Non-looping samples loop the first two bytes after finishing. They are zero and this is not part of his problem so you'd want to ensure the first 2 bytes are 0 then :) And they are
- ok
- this is why replen is 2 on non-looping samples btw. Bet you wondered why replen aka. loop length
when you set data and length on Paula, it will just play that chunk over and over, and there's no way to know exactly when the data ended, so what they do is to first set data and length like normal, and then when the DMA had latched, they instantly set data to sampleStart and length to 2, and that will take effect after Paula has done one cycle of the sample (played through)
so non-looping samples on Paula is very stupid
the same goes for loops. After one cycle, they set data to loopStart and len to loopLength
or rather, instantly, but Paula re-reads the registers after a cycle
(and the reason replen is 2 and not 1 is because Paula works on words, not bytes. Length = words)
which also means that 2 is the lowest amount it can do.
(which internally in the PT replayer is half of that value, not the value you see on screen)


Dzięki Nogorg, że Ci się chciało poświęcić na to czas i podać przykład. Przesłałem linka dalej OK

@mschulz - właśnie kwestię kompatybilności rozważano i zmiany mogą być ciężkie w skutkach. Szkoda, że nie zauważono tego wcześniej (no chyba że tak, ale nikt się nie podjął rozwiązać od razu i tak zostało na dekady).
[#27] Re: Trzaski w module

@mschulz, post #12

No nie wiem, wszystkie sample Protrackera maja 2 lub 4 puste bajty na poczatku, tzw. null. Nie powinno tego byc slychac, przy przejsciu z jednego sampla na drugi. Byc moze ThePlayer te puste bajty wycina przy konwersji. Jak kiedys odpale Amige to sprawdze ten modul wtedy. Ogolnie to ktos sprawdzal ten modul na najnowszej wersji EP 2.05? Ma chyba najlepszy player Protrackera, i odgrywa chyba ThePlayera najlepiej ze wszystkich playerow.
[#28] Re: Trzaski w module

@Don_Adan, post #27

No nie wiem, wszystkie sample Protrackera maja 2 lub 4 puste bajty na poczatku, tzw. null.


No i dobrze. A czy kazdy sampel w momencie przejscia do kolejnej nuty (kolejnego sampla) gra wlasnie 0? Bo z tego co wiem jest tylko jedne sampel ktory taki warunek zawsze spelnia - cisza.

PS. Dlatego wlasnie wczesniej pisalem ze trzaskow nie bedzie jezeli poprzedni sampel "wybrzmial" do konca albo prawie do konca. Pusc za to w petli sinusa i bedziesz mial bardzo duze szanse na to ze przy przejsciu do kolejnego sampla pojawi sie trzask.
[#29] Re: Trzaski w module

@Umpal, post #26

Mozna by protrackera i odtwarzacze poprawic w jeden sposob, ewentualnym kosztem lekkiego rozjechania muzyki w czasie. Mozna by np. ustalic ramy czasowe (np. +-10 ms, +-5ms czy tez konfigurowalne) w ktorych zmiana sampla musi nastapic, a samego sampla/dma zmienic w momencie w ktorym aktualny sampel gra albo zero, albo jego przebieg wlasnie przez zero przechodzi (z - na + albo z + na minus). W ten sposob mozna by sie pozbyc nieprzyjemnego pykniecia kosztem tego ze kazda z granych nut mogla by w najgorszym razie zagrac 10 ms za pozno lub 10 ms za wczesnie.

Cos w stylu "zero cross circuit" (link) tyle ze do przelaczania sampli.
[#30] Re: Trzaski w module

@mschulz, post #28

Powinien kazdy, tylko ThePlayer chyba je wycina i zastepuje jednym null samplem, ale juz nie pamietam po tylu latach przerwy. Ogolnie trzaski przy odgrywaniu muzyki na Amidze sa zwykle wtedy:
1. odgrywanie sampli z fast ramu
2. odgrywanie smieci (glownie grafiki) z pamieci chip
3. za krotki DMA wait
4. za niski uzyty period (starsze Amigi zwykle daja rade, nowsze zwykle nie)
5. brak odgrywania null sampla po zakonczeniu odgrywania calego sampla
Jesli ThePlayer wycina null sample, to pewnie wystarczy pododawac puste 2 bajty przed kazdym samplem i pozmieniac dlugosc sampli.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem