26

Odp: przykladowy SFX_ENGINE

kolejne modyfikacje.

do uzytku samplowanych SFX mamy 3 kanaly F1,F2,F4 (Atari nie ma sprzetowego licznika IRQ dla F3)
kazdy kanal moze grac sample z inna czestotliwoscia
oczywiscie caly czas mamy dostep do pozostalych kanalow dla SFX

przyklad odtwarzania SFX z International Karate na jednm kanale a na drugim jedoczesnie Jingiel z Preliminary Monty

Post's attachments

sound_engine-sample.obx 2.67 kb, liczba pobrań: 15 (od 2021-06-05) 

Tylko zalogowani mogą pobierać załączniki.
http://atari.pl/hsc/ad.php?i=1.

27

Odp: przykladowy SFX_ENGINE

SFX_ENGINE moze takze odtwarzac sample w 3 oktawach. jakby ktos chcial pisac takze muze ;-)


w przykladzie na jednym kanale idzie oktawa na gitarze a na drugin jiniel z Preliminaty monty

Post's attachments

sound_engine-st.obx 5.57 kb, liczba pobrań: 16 (od 2021-06-05) 

Tylko zalogowani mogą pobierać załączniki.
http://atari.pl/hsc/ad.php?i=1.

28

Odp: przykladowy SFX_ENGINE

synteza mowy

Post's attachments

sound_engine_speak.obx 2.43 kb, liczba pobrań: 20 (od 2021-06-07) 

Tylko zalogowani mogą pobierać załączniki.
http://atari.pl/hsc/ad.php?i=1.

29

Odp: przykladowy SFX_ENGINE

Uuuu drogi Panie. Piękne! Napisz coś więcej może jak tej syntezy używać i jak to działa może. I może więcej niż jest na atariage. Bardzo dobra funkcja!

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

30

Odp: przykladowy SFX_ENGINE

A ja to chciałem sobie zobaczyć co tu zachwalacie, ale z całego wątku ani jeden przykład mi się nie uruchamia pod Altirrą. Odpalam obeiksa i mam tylko pyknięcie w głośnikach i ciszę. W niektórych przykładach miga trochę biały pasek na ramkach... Altirra 3.90, wszystko inne pod nią mi działa.
Ma ktoś pomysła co to może oznaczać?

31

Odp: przykladowy SFX_ENGINE

Mq, nacisnij klawisz "1"

---

jeszcze troche zmienie... ale:

synteze mowy mozna zrobic w 256 bajtach ale to bedzie straszna bieda - mozna tego posluchac w demku ktore zrobilem na atari 2600. https://www.youtube.com/watch?v=ASXzDhAA814

wspominam to bo na tej zasadzie mozna robic szeleszczace tony ale nie dzwieczne co zreszta slychac w tym demie ;-)

w tej syntezie tak sa zrealizowane "szeleszczace" dzwieki. a dzwieczne to takie nakladanie "obwiedni" na bardzo uproszczonego sampla ;-)

jak dodam jeszcze 1kb danych to bedzie mozna posluchac wyrazow z nalozona intonacja i akcentami.... chcialbys posluchac jak atari mowi do Ciebie po angielsku z polskim akcentem ? :D no to posluchaj jak mowi po polsku w przykladzie.

opisze to dokladniej jak skoncze - format rozkazu jest podobny do tego z odtwarzania sampla tylko zamiast sampla bedzie wskaznik do "wyrazow"/ tonow. to caly czas tylko test...

Post's attachments

sound_engine-xb.obx 2.48 kb, liczba pobrań: 10 (od 2021-06-07) 

Tylko zalogowani mogą pobierać załączniki.
http://atari.pl/hsc/ad.php?i=1.

32

Odp: przykladowy SFX_ENGINE

O faktycznie działa:-) xxl, skąd wiedziałeś, że trzeba nacisnąć klawisz 1?:-)

33

Odp: przykladowy SFX_ENGINE

mono napisał/a:

Uuuu drogi Panie. Piękne! Napisz coś więcej może jak tej syntezy używać i jak to działa może. I może więcej niż jest na atariage. Bardzo dobra funkcja!

tablice niezbedne do dzialania sa tu - oczywiscie nie wszystkie sa potrzebne :D

https://github.com/bit-hack/SAM/blob/ma … der_tabs.h

a wzor na render tu:

https://github.com/bit-hack/SAM      przewin do final output:

A =   A1 * sin ( f1 * t ) +
      A2 * sin ( f2 * t ) +
      A3 * rect( f3 * t )

48087:     LDX 43        ; get phase   
CLC       
LDA 42240,x    ; load sine value (high 4 bits)
ORA TabAmpl1,y    ; get amplitude (in low 4 bits)
TAX       
LDA 42752,x    ; multiplication table
STA 56        ; store

LDX 42        ; get phase
LDA 42240,x    ; load sine value (high 4 bits)
ORA TabAmpl2,y    ; get amplitude (in low 4 bits)
TAX       
LDA 42752,x    ; multiplication table
ADC Var56    ; add with previous values
STA 56        ; and store

LDX 41        ; get phase
LDA 42496,x    ; load rect value (high 4 bits)
ORA TabAmpl3,y    ; get amplitude (in low 4 bits)
TAX       
LDA 42752,x    ; multiplication table
ADC 56        ; add with previous values

ADC #136       
LSR A        ; get highest 4 bits
LSR A       
LSR A       
LSR A       
STA 54296    ;SID   main output command

i taka to tajemnica syntezy mowy ;-)

http://atari.pl/hsc/ad.php?i=1.

34

Odp: przykladowy SFX_ENGINE

duzo zmian ...

1. synteza mowy nie bedzie realizowana na irq
2. usuniete tablice ;-) obecnie do syntezy potrzebne sa 2 tablice (mult i sinus) 512 bajtow :-)
3. dzialaja intonacje
4. nie ma konwersji tekstu na gloski - trzeba to zrobic recznie albo uzyc zewnetrznego narzadu np. S.A.M :-) i tak bym to widzial, jak chcesz umiescic tekst w grze to generujesz loski w S.A.M. i przeklejasz do swojego programu a tu juz SFXEngine to wypowie.
5. prawie zgodny z S.A.M - wiem ze prawie robi roznice ale w zalaczniku porownanie w mp3 mam nadzieje serwer AA udzwinie te dwa sekundowe mp3

program syntezy razem z tablicami zajmuje 3 strony pamieci co oznacza ze sama synteza miesci sie w 256 bajtach - mysle ze bardzo ok.

Ostatnio edytowany przez xxl (2021-06-09 08:37:06)

Post's attachments

sam.mp3 32.24 kb, liczba pobrań: 7 (od 2021-06-09) 

sfxengine.mp3 28.98 kb, liczba pobrań: 6 (od 2021-06-09) 

Tylko zalogowani mogą pobierać załączniki.
http://atari.pl/hsc/ad.php?i=1.

35

Odp: przykladowy SFX_ENGINE

xxl napisał/a:

program syntezy razem z tablicami zajmuje 3 strony pamieci co oznacza ze sama synteza miesci sie w 256 bajtach - mysle ze bardzo ok.

Bardzo bardzo ok. A ile zajmują dane tak wypowiadanego tekstu? Np. jak chcesz powiedzieć "xBios"?

36

Odp: przykladowy SFX_ENGINE

nie chodzi o dlugosc wyrazu ale o czas - jesli masz wyraz bez intonacji to zajmuje mniej, sekunda to 2 strony pamieci... w sekunde mozesz wypowiedziec kazdy wyraz ;-)

--
jak pieknie sie kompresuja takie pliki... 50%

Ostatnio edytowany przez xxl (2021-06-09 10:35:46)

http://atari.pl/hsc/ad.php?i=1.

37

Odp: przykladowy SFX_ENGINE

Ok, fajnie:-)
Pytam, bo myślę w kontekście zrobienia np. gry, która była by w całości udźwiękowiona syntezą mowy. W sensie, że na każdym kroku masz jakieś gadanie, pojedyncze słowa właśnie. Np. odczytywanie wyniku punktów jak się zwiększa, albo każdorazowe tracenie energii w czasie zetknięcia z przeszkadzajką, albo nazwy mijanych obiektów, czy zbieranych przedmiotów. Słowem, żeby gra gadała coś ciągle, ale żeby nadal mogła być napisana na stockowe Atari.

38

Odp: przykladowy SFX_ENGINE

Masz jakiś strumieniowy kompresor, który dałoby się zaprząc do takiej syntezy?

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

39

Odp: przykladowy SFX_ENGINE

@Mono: trzebaby bylo przerobic kolejnosc danych wiec malo realne - komu by sie chcialo (ale daloby sie)

@Mq: tak pieknie to nie jest, zeby byla jako taka jakosc ekran musi byc wylaczony :(

ale mam inny pomysl, mozna wziac dane z S.A.Ma (usunac co niepotrzebne) wywalic tablice do obliczen kolejnych probek i zastapic je prawdziwymi probkami - zajmie to 4x wiecej miejsca ale jakosc syntezy bedzie jak sampling glosu ludzkiego a poza tym mozna to puscic na irq co druga linie ekranu wiec mozesz miec wlaczony ekran. z takiego sampla trzeba by bylo tlumic albo wzmacniac w zaleznosci od danych intonacji (ktore sa, czasy predefiniowane sa procentowo). sadze ze to daloby sie zrobic - przypisac tylko gloski sampli tak samo jak sa w SAMie. ide o zaklad ze te onlienowe syntezatory z ludzkim glosem gdzie wybierasz sobie osobe dokladnie tak to robia.

--
ktos chetny? mozemy zrobic pierwszy syntezator na samplach ludzkieo glosu :-)

--
sprobowalbym jeszcze inneo rozwiazania, nagral sampla z jakiegos PC syntezatora, przerobil na 4 bitowy, odegral obecnym SampleNotePlayerem z SFXEngine na roznych ustawieniach, po znalezieniu wlasciwych mielibysmy dane do zrobienia resamplingu na tym zrodlowym (zawsze kilka % na dlugosci pliku) usunac niepotrzebne dane i poupychac po 2 probki na bajt

ciekawe ile by to zajelo miejsca ale zalet byloby sporo - jednoczesnie moze mowic i np. grac muzka, krotka procka odtwarzania itd..

Ostatnio edytowany przez xxl (2021-06-09 12:03:09)

http://atari.pl/hsc/ad.php?i=1.

40

Odp: przykladowy SFX_ENGINE

xxl napisał/a:

i... w sekunde mozesz wypowiedziec kazdy wyraz ;-)

Konstantynopolitańczykiewiczówna .... ufff ... zmęczyłem się w sekundę :)

41

Odp: przykladowy SFX_ENGINE

ale napiecie ;-)

zdaje sie juz dwa projekty beda z tego korzystac :-)


LEVEL2 z przykładami na stronie: http://xxl.atari.pl/sfx-engine/

dziwne, ze wystarczy tylko LEVEL2

nikt nie chce sampli odtwarzanych w definiowanej wysokosci, syntezy, adsr, funkcji, pluginow, pokow?


---
LEVEL 1 - wersja minimum opublikowana + kilka przykladow

Ostatnio edytowany przez xxl (2021-06-09 21:10:30)

http://atari.pl/hsc/ad.php?i=1.

42

Odp: przykladowy SFX_ENGINE

Możesz wrzucać także na swojego GitHuba?

43

Odp: przykladowy SFX_ENGINE

dwie osoby chcialy sprawdzic u siebie ale to nie tak bedzie wygladac - chce zeby to byl jeden kod z kompilacja warunkowa dla Level1/2/3 - moze wtedy, chociaz nie jestem przekonany; w czym przeszkadza Ci Atari.pl :-)

Ostatnio edytowany przez xxl (2021-06-09 22:49:18)

http://atari.pl/hsc/ad.php?i=1.

44

Odp: przykladowy SFX_ENGINE

U siebie na stronie masz kod rozstrzelony (pusta linia co wiersz) - dlatego wycinam kod ze źródła html i czyszczę z tagów.

Jeżeli tak Ci się lepiej czyta i tak ma być to OK, ale GitGub nie robi czegoś takiego z kodem, to tego dostawałbym na @, że coś weszło do kodu nowego albo bym widział to na dashboardzie. Lepiej mi się śledzi zmiany za pomocą narzędzia do tego przeznaczonego.

45

Odp: przykladowy SFX_ENGINE

poprawione, juz mozesz kopiowac bez kombinowania. :-)

http://atari.pl/hsc/ad.php?i=1.

46

Odp: przykladowy SFX_ENGINE

Dzięki :]

47

Odp: przykladowy SFX_ENGINE

a moze zrobic taki numer ze sfxengine po integracji z rmt (ale nie takiej jak w pierwszym poscie) podmieni jakis instrument na samplowany?

efekt bylby taki ze RMT moglby uzywac samplowanych instrumentow :-)

http://atari.pl/hsc/ad.php?i=1.

48

Odp: przykladowy SFX_ENGINE

To by było chyba fajne. Z miłą chęcią skorzystał bym z możliwości dodania sampli do RMT w jakiś przyjazny, prosty i wygodny sposób dla muzyka/użytkownika/programisty.

49

Odp: przykladowy SFX_ENGINE

i prosze. da sie: mam tylko jednego sampla wiec mimo ze tam graja dwa instrumenty RMT na drugim kanale to to ja podkladam ten sam sampel ...

przydalby sie jakis wzor na resampling - mam tylko 3 oktawy przeliczone na nuty a teszta to z glowy ;-)

Post's attachments

sound_engine-rmt.obx 9.98 kb, liczba pobrań: 6 (od 2021-06-10) 

Tylko zalogowani mogą pobierać załączniki.
http://atari.pl/hsc/ad.php?i=1.

50

Odp: przykladowy SFX_ENGINE

Kurde, chciałbym tak umieć miksować sample do RMT. Chociażby np. kilka dźwięków perkusyjnych gdyby zastąpić samplami, to by muzyczki były o niebo lepsze nieraz.