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%
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
STOS BASIC V5.5 Alpha Popularny język programowania dla Atari ST powraca po ponad 30 latach w nowoczesnej wersji.
Command & Conquer na Atari ST Kultowy RTS Command & Conquer zmierza na Atari ST. Zobacz niesamowity port legendarnej strategii.
Altirra 4.50 test 13 Avery Lee udostępnił kolejną wersję testową najdoskonalszego emulatora Atari.
CT60 TOS 1.03e Po blisko 21 latach ukazała się oficjalna aktualizacja CT60 TOS do wersji 1.03e.
Gearlynx 1.2.14 Ukazała się kolejna odsłona zaawansowanego emulatora Gearlynx dla konsoli Atari Lynx.
atari.area forum » Posty przez xxl
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%
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.
choruje ktos na to jeszcze? bo chyba temat przycichl
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 ;-)
dodawałem możliwość "extensions"
super... to moze jeszcze jeden pomysl: http://www.atari.org.pl/forum/viewtopic.php?id=17382
w skrocie mialob to dzialac tak, ze wszystkie odwolania do D800 (pakiet matematyczn) przy powyzszych zalozeniach wykonywalyby sie w czasie bliskim zero :-)
takie turbo na obliczenia zmiennoprzecinkowe.
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...
synteza mowy
to co podlinkowales gra w stereo.
wystaw ten utwor w neo sam go sobie zaladuje :-)
heh a czy to nie idzie w stereo?
porownujesz 8 bit covoxa z NeoTrackera z playerem na gole atari na POKEYa i mowisz ze gra tak samo ?
:D
Moze na COVOXIE lub nieAtari bo na POKEY nie robi roboty ;-) co zreszta nie zmienia faktu ze sam program jest super.
mp3?
boisz sie sprawdzic ;-)
do uruchomienia poprosze :-)
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
gra tak samo jak NeoTracker
zamiast polegac na wrazeniach mozna to sprawdzic :-)
umiesc jakas muze z NeoTrackera najlepiej w formie samouruchamialnej :-)
Yerzmyey na POKEYu
tak wylada wlasciwa jakosc odtwarzania sampli na POKEY
https://megawrzuta.pl/download/a1b3f0b9 ... 5125f.html
i mp3:
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
Fajny silniczek. Czy aby na pewno okrzyki w IK są na samplach? Bo np to http://asma.atari.org/asmadb/search.php?play=1839 chyba nie...
po malych modyfikacjach mozna uzywac instrumentow z RMT jako SFXy, tu przeniesiony fragment utworu Rastra.
sfxEngine swietnie sobie radzi z odtwarzaniem muzyki albo SFX takze podczas wczytwania danych :-) xB
===
kolejne zmiany:
podzial funkcji (dla kazdego kanalu osobno)
1. funkcje ktore dzialaja 1x, 2x, 3x, 4x... na ramke zawsze przed zapisem do rejestrow dzwieku (moga sluzyc np. do realizacji obwiedni)
2. funkcje ktore dzialaja na czytanych danych dla rejestrow AUDF/AUDC podczas pobierania danych z SFXa
3. funkcje sterujace, np. POKE adres,dana, wlaczanie/wylaczanie funkcji nr. nn typu 1 lub 2, JMP, JSR, RTS, LOOP, OFF
dzieki funkcji typu 1 mozemy przeniesc dowolny instrument z edytorow muzycznych
dzieki funkcji typu 2 mozemy przeniesc dowolny utwor z tych edytorow
funkcje 3 zwlaszacza POKE pozwala synchronizowac nasze SFX z akcja w grze... wywolujemy naszego SFX ktory w pewnm moemencie sam zglosi wykonanie zadania ;-) np. podobnie jest synchronizowany kot w AlleyCat z muzyka w ktorej gra instrument "miałłłłłłłł"
proceduralne SFX? dlaczego nie... :-)
przykladowe uderzenie pioruna z Cavelord:
.HE A0 81
.HE C0 01 1C 00
.HE 00 02 0A 00
w zalaczniku uderzenie pioruna i wybuch wulkanu z Cavelord
mam klopoty z nazewnictwem, jak "fachowo" nazwac:
1. efekt nakladany na wartosc audf co ramke
2. efekt nakladany na wartosc audc co ramke
3. efekt nakladany na audf lub audc co jednostke "speed" utworu np. raz na 4 ramki przy pobieraniu kolejnej wartosci z utworu
obecnie "2" nazywam Envelope a "3" Plugin, "1" - ?
i kolejna zmiana:
;1. TIME,AUDF,AUDC ; play
;2. REPF+FUNC,COUNT ; repeat audf C0 +FUNC NO
;3. REPC+FUNC,COUNT ; repeat audc 80 +FUNC NO
;4. 00,LOOP ; loop
;5. 00,FF ; end/rts
;6. JSR nnnnn ; jsr nnnnn A0+sfx no !=0
;7. JMP nnnnn ; jmp nnnnn E0+sfx no !=0
;8. SET,ENV ; set env E0,nn
mozemy juz robic SFX proceduralne, mozemy robic SFX ktore pobieraja wartosci z dowolnych rejestrow, mozemy przekazywac parametry z SFX do pluginu
ale może jesteśmy przywiązani do zapisu nutowego, albo edytor którego używamy zapisuje indeksy do wartości nut? za pomocą funkcji możemy otrzymywać wartość zależną od parametru. przkladowo mozemy za pomoca pluginu czytac dane muzyki z jakiegos edytora i konwertowac na podstawie tablicy czestotliwosci, mozemy tez w ten sposob zrobic obwiednie i przekazywac parametry ADSR (czasowe) z danych ale...
dostajemy nowa komende SETENV
format rozkazu SET zmieni się, obecnie obwiednie są predefiniowane bez ograniczen wielkosci ale być może obwiednie powinny być pobierane z danych SFX, albo definiowane jak funkcje? jeszcze nie wiem.
w zalaczniku przkladowa muzyka z the Goonies - klawisz "1" - on, "2" off
za duzo danych? dwa dodatkowe rozkazy pozwalajace znacznie skrocic ilosc danych:
1. TIME,AUDF,AUDC ; play
2. REPF,COUNT ; repeat audf C0
3. REPC,COUNT ; repeat audc 80
4. 00,LOOP ; loop
5. 00,FF ; end/rts
6. JSR nnnnn ; jsr nnnnn A+sfx no !=0
7. JMP nnnnn ; jmp nnnnn E+sfx no !=0
dzieki JSR i JMP mozna wywolywac instrumenty z wlasnego SFX. przyklad muzyki z Preliminary Monty
ins5
.HE 09 39 AA
.HE C0 07
.HE 22 1D 44 2B 22 39 22
.HE 00 FF
ins6
.HE 09 87 AA
.HE C0 07
.HE 55 44 AB 72 55 87 55
.HE 00 FF
ins7
.HE 07 5B AC
.HE C0 18
.HE 36 2D 44 36 22 5B 36 2D 44 36 22 36 22 1B 2D 1B 17 36 22 1B 2D 1B 17 1B
.HE 00 FF
ins8
.HE 07 87 AC
.HE C0 18
.HE 5B 44 6B 5B 36 87 5B 44 6B 5B 36 5B 36 2D 44 2D 22 5B 36 2D 44 2D 22 44
.HE 00 FF
ins9
.HE 05 6B AE
.HE C0 1C
.HE 48 36 2B 55 36 2B 24 6B 48 36 2B 55 36 2B 24 48 2B 24 1B 36 24 1B 15 2B 24 1B 15 12
.HE 00 FF
insA
.HE 05 90 AE
.HE C0 1C
.HE 6B 55 48 6B 55 48 36 90 6B 55 48 6B 55 48 36 55 48 36 2B 48 36 2B 24 36 2B 24 1B 15
.HE 00 FF
sfx1
.HE A5 A7 A9 A5
.HE 09 1D AA
.HE C0 0B
.HE 2B 1D 15 39 22 1D 2B 1D 1A 18 15
.HE A7 A9
.HE 00 FF
sfx2
.HE A6 A8 AA A6
.HE 09 44 AA
.HE C0 0B
.HE 72 44 39 87 55 44 72 44 39 40 44
.HE A8 AA
.HE 00 FF
nalezy pamietac ze jesli zalezy nam na super szybkiej procedurze to korzystamy tylko z rozkazu 1 ;-)
duza zmiana (nie uaktualniona na stronie)
nowy format danych (bardziej czytelny) a przy okacji daje mozliwosc wprowadzenia podprocedur modyfikujacych wartosci - dodatkowo moze skrocic SFXy... moze posluzyc np. do zmiany losu meskiego na zenski w tym przykladzie z pseudo synteza mowy ;-)
testowy import muzy z Soundmachine ;-) ale mozna z dowolnego programu :p
zawsze
Co do AtariDos, przypomnę, że Memlo np. $700 dla FOXa dos. Zapis jest, co prawda tylko jako zastępowanie istniejących danych.
zawsze mozna uzyc: https://xxl.atari.pl/xbootdos/
wątpliwe, a można przynajmniej zyskać pełną kompatybilność z hardare'm.
licze na kunsztowna "wybieraczke do bankow"
;-)
mam tylko nadzieje ze walka z "DOS" nie wplynie negatywnie na gre sama w sobie.
użyj słowa pedał w filmiku np. z serwisowaniem rowerow. zobaczysz co sie stanie :D
kazdy o lewicowych pogladach ... zamiast lisci ;-)
atari.area forum » Posty przez xxl
Wygenerowano w 0.231 sekund, wykonano 18 zapytań