OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 19:54

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 233 ]  Přejít na stránku Předchozí  1, 2, 3, 4, 5, 6, 7, 8 ... 16  Další
Autor Zpráva
PříspěvekNapsal: 15.10.2016, 20:55 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
:)


Přílohy:
periody.jpg
periody.jpg [ 51.99 KiB | Zobrazeno 14354 krát ]

_________________
Amiga - PMD 85
Nahoru
 Profil  
 
PříspěvekNapsal: 03.11.2016, 16:51 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Tak 1. optimalizace části kódu pro výběr frekvence je hotova. Vznikl mi nový had v rámci kódu, co odstraním zas někdy jindy, ale již mám k dispozici stupnici s odstupem period viz tabulka výše. Tedy 25 různých tónů. To odstranění nového hada v rámci kódu mne teď nějak moc netlačí, budu řešit potřebnější věci a snad již do rutinky budu moci nasypat něco smysluplného v rámci zvuku/hudby, uvidíme.

Pro zajímavost přikládám jednu z části kódu, na které jsem teď pracoval. Dole v poznámce je původní nekompletní část kódu. Měl jsem tam ještě 1 chybu a tu jsem hned odstranil, když mi rutina hrála jen tóny do rozsahu 1 byte (pro faraona 1 bajtu ;) ), to jsem hned odstranil s ADD.W (měl jsem ADD.B), pak jsem měl jako pauzu v hraní pomocí čísla 10 a to je teď taky tón, tak jsem dal pauzu na číslo 20. Poslední věcí je, že nejnižší číslo je nejvyšší tón, tak to možná prohodím, ještě uvidím.


Přílohy:
vyberFrekvence.jpg
vyberFrekvence.jpg [ 72.29 KiB | Zobrazeno 14206 krát ]

_________________
Amiga - PMD 85
Nahoru
 Profil  
 
PříspěvekNapsal: 04.11.2016, 01:47 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Test stupnice na Kohútiku Jarabém. Editace není ideální, ale celkem v klidu. Nejhorší bude asi zadávaní pauz mezi hraním samplů, uvidí se. Snad na něco jednoduššího by to mohlo být použitelné :)
Již jsem prohodil ta čísla a nejnižší číslo je nejnižší tón.

[youtube]https://www.youtube.com/watch?v=7toitD9FMes&feature=youtu.be[/youtube]

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 13.11.2016, 20:38 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
No jo spíše jsem teď odhaloval chyby. Nejdříve po dopsaní logiky pro hraní všech 4 kanálů kde ze své absolutní nedbalosti jsem udělal hloupou chybu a já ji hledal 2 hodiny a pak něco lepšího, časovač 8520 se mi postaral o 5 hodin zábavy, když se mi postaral o problémový chod mé rutiny a já tuhle část kódu vůbec nepodezříval a jako jedinec s IQ 60 jsem koukal všude jinde. Rutina mi s použitím téhle části kódu s časovačem fungovala dobře v rámci kratšího cyklu, ale toho dlouhého již ne. Ještě jsem ten problém neodstranil, ale již vím kde konečně je, tak by to již mělo být v pohodě. Asi pro dnešek končím :). Ale na Python se pořád ještě neškrábu, tam jsem některé problémy ani nevyřešil a po 3 dnech jsem je odložil na později, kým budu v programování lepší. Byly asi 2 a i to při nějakém používaní knižnice, co mi moc nesedí a asi se k tomu již nedostanu :angel:.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 18.11.2016, 00:24 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Tak po troškách se posouvám dál, chyba s časovačem dle všeho odstraněna. Na 1 kanálu celkem odtestováno a funkční. Opět jsem tedy přidal a aktivoval všechny 4 kanály a vypadá to funkčně taky, ještě někdy více potestuji. Již jsem si myslel, že nový problém, nicméně se ukázalo, že mne dohnal vlastní program. Nejdříve jsem jen v editoru nezapnul další kanály a pak se mi to začalo sekat, že jsem musel restartovat. Bylo to jen v tom, že programu chyběl ještě 1 tón pro poslední kanál, tak to nerozchodil. No nic příště potestuji a pudu dál i když po potestování bych již mohl zkusit něco nasypat i do té nedodělané hudební rutinky ať je větší legrace. Nedokážu zatím pořád zahrát dlouhý tón, tedy při dalším zahrání dalšího tonu (i v době mlčení), se původní tón ztlumí.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 26.11.2016, 20:08 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Další test.

https://www.youtube.com/watch?v=b4gPK9l ... e=youtu.be
[youtube]https://www.youtube.com/watch?v=b4gPK9lsr8o&feature=youtu.be[/youtube]

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 26.11.2016, 21:06 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Po kompilaci a spuštění se systém u hraní "hudby" sekne. Celkově k souboru přibaleno 6 nástrojů z toho 3 jsou použity. A 2 nástroje jsou tam 2 krát (ty samé). Rutina zatím pracuje se 6 nástroji. Celkem by mne zajímalo, jestli je zvuk hraní na real HW čistý. Mne tady emulace někdy škrčí. Za to seknutí Amigy se omlouvám. Po odstavení systému systém i vracím, ještě tam bude něco špatně. Nějaký odvážlivec kterému nebude líto té amči co mu bouchne? :lol:
Nic nikomu nehodlám platit :lol:

Já zatím Amigu kvůli tomuhle vybalovat nebudu ;)

To tady nebere ani příponu TXT, ani EXE, tak jsem tomu dal příponu ZIP, ale je to exáč! Já to v dopusu pustím i s touhle příponou. A pak restartuji... :lol:


Přílohy:
musicPokus.zip [39.7 KiB]
639 krát

_________________
Amiga - PMD 85
Nahoru
 Profil  
 
PříspěvekNapsal: 27.11.2016, 18:38 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Teď si to tady chvíli nevšímejte, jdu si psát poznámky a doma bych to stejně nikdy nenašel, mohl bych do kódu, ale tohle mi vyhovuje víc. Budu muset trochu přemýšlet s to je pro mne nejlepší tady. Budu to dělat na víc krát dle chuti, nálady, času. A času teď již nemám moc. Nemusím, když musím něco řešit 2 krát. Ale někdy se musí - obrátit logiku na DMA kanály, obrátit stupnici, jsem zvědav, kolik věcí ještě budu muset obracet. Nesnáším obracení logiky! :lol:

Klidně to budu popisovat. 25 tónů, 25 je nejvyšší (19 hexa) a useknu tón při hodnotě v časovači 2560 dekadicky (A00 hexadecimálně)
01 - 2900 hexa
19 - A00 hexa

27.11. - 22:48 pauza na neurčito

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 30.11.2016, 12:08 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Délka samplu ve wordech: 3300 (Heaven)
01 - 2900 hexa (10496)
19 - a00 hexa (2560)

Délka samplu ve wordech: 2400 (TuneBass)
01 - 1e00 hexa (7680)
19 - 700 hexa (1792)

Délka samplu ve wordech: 550 (BassDrum1)
19 - 100 hexa (256) (+- 1/4000 vteřiny?)

Na drobné se nehraji, zatím mi stačí provádět v asm věci někdy i "od oka". Vzal jsem záměrně krátký sampl (BassDrum1) a použil jeho nejvyšší frekvenci. Měla by mi stačit práce s časovačem v rámci skoků po 100 hexa. Co bude směr, kterým se uberu (zatím). Na tuhle logiku by měla být rutina vlastně předpřipravena, jen jsem nepočítal že použiju v časovači tak malou hodnotu. Je to z mého pohledu na tem časovač tak trochu prasárna. Ideálnější by bylo použít v časovači větší hodnotu, nejlépe jednu pro zahrání celého samplu v konkrétní frekvenci. Tím bych se ale ubral o možnost do programu zasáhnout v době, kdy mi program stojí na časovači.

Pokračuji přístě
(30.11. - 19:49)

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 01.12.2016, 02:14 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Aktualizace při použití hodnoty 100 hexa v časovači, měním parametr určující rychlost přehrávaní hudby v nastavení samotné rutiny.

Délka samplu ve wordech: 3300 (Heaven)
01 - 8f2 hexa (2290)
19 - 236 hexa (566)

Délka samplu ve wordech: 2400 (TuneBass)
01 - 687 hexa (1671)
19 - 19d hexa (413)

Délka samplu ve wordech: 550 (BassDrum1)
01 - hexa ()
19 - hexa ()

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 25.12.2016, 14:06 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Malá aktualizace - další z mých mnoha všeobecných úvah.

Pořád jsem nedokončil část kódu usekávaní samplů ve správný moment, tedy aby mi za samplem který se má hrát nebyl v rámci zvuku "bordel". Pokud jsem na správné cestě co ještě teprve zjistím, tak mám dokončenou podstatnou část logiky. Chtěl jsem použít vzorec, ale pak jsem přišel k závěru, že by jeho použití bylo náročné jak naprogramovat, tak by to bylo náročné v rámci výpočtu, tedy náročnější než samotné doprogramování dané věci. Bylo mi jasné, že tohle budu řešit déle - proto jsem se do toho moc nehrnul, ale již jsem to nemohl dál obcházet. V současné době CIA časovač používám na nejmenší hodnotě, tedy ho nechám napočítat do logické jedničky, čím se snažím udělat samotný kód co nejrychlejší pro změny, které by v něm mohli nastat. Pokud je informace z jedné polské knihy správná tak pokud dáme časovač napočítat do 2000 hexa, tedy do 8192 v desítkové soustavě jedná se o zpomalení 1/100 vteřiny. Tak v současné době používám v rámci časovače raději slovem: jednu osmtisícstodevadesátdvoutinu z jedné setiny vteřiny. To se mi zdá být šíleně malý čas. Přes to vše mi má hudební rutina umožňuje použít i menší zpomalení, jen nevím jak bych jej docílil bez samotného časovače. Aby bylo jasno, v celkovém součtu používám větší zpomalení. Ještě se musí napočítat i čas vykonání samotného kódu. Při zahraní 1 samplu na nejnižším tónu časovač celkem pouze 35 krát napočítá do logické jedničky a to je dle mne sakra málo. A číslo 35 bude ještě menší zahraním vyššího tónu a taky provedením případně nového kódu. Pokud někdo máte nápad, jak zpomalit program na menší čas, než mi umožnuje napočítání časovače do logické jedničky a to třeba na 1/2 nebo 1/4 tohohle času dejte vědět.

Dnes ráno v 6 hodin se mi povedlo nalézt v mém programu zatím nejdéle hledanou chybu v rámci asm, kterou jsem hledal v rozsahu 15 až 20 hodin a hledal jsem to na tři krát. V současné době mi již nebrání nic k zjištění toho, jestli to, co jsem doprogramoval pro správné ztlumení samplu ve správný čas bude dostačující, nebo tomu v rámci programu budu muset ještě něco přidat, pokud to vůbec budu umět, ale to až příště.

EDIT: Teď mne napadlo, že zpomalení, které by bylo kratší než CIA časovač napočítá do logické jedničky budu muset vyzkoušet přímo v kódu a ne mimo něj jak jsem to udělal... .

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 25.12.2016, 19:14 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Takový pořádek kdyby jsem měl i doma... :lol:


Přílohy:
uklizeno.jpg
uklizeno.jpg [ 85.46 KiB | Zobrazeno 15966 krát ]

_________________
Amiga - PMD 85
Nahoru
 Profil  
 
PříspěvekNapsal: 25.12.2016, 20:19 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Lisiak4 píše:
V současné době mi již nebrání nic k zjištění toho, jestli to, co jsem doprogramoval pro správné ztlumení samplu ve správný čas bude dostačující, nebo tomu v rámci programu budu muset ještě něco přidat, pokud to vůbec budu umět, ale to až příště.

Tak to uhýbá a clekem o hodně :lol:. U jednoho samplu je to 35 opakovaní a u druhého samplu 22 opakovaní v rámci stejné frekvence aby se zahrál sampl správně tak jak chci.

1. sampl má 3300 wordů
2. sampl má 2000 wordů

Tedy aby jsem docílil u 2. samplu jeho ztlumení při 35 opakovaní, uměle bych mu měl počet wordů ještě snížit :).

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 25.12.2016, 20:58 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Viz výše, asi jsem našel celkem dobrý způsob korekce. Je to dobře vidět z předešlého příspěvku. Ověřil jsem si to na 3 samplu, který má 2400 wordů a byla odchilka pouze v jednom jediném opakování, to ale není problém o tak malý čas useknout dříve i ostatní sample na té samé frekvenci. Ještě se nechci předčasně radovat ale vypadá to ze začátku alespoň slibně!

A kdo mi napíše jakou korekci je třeba udělat :?:

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 29.12.2016, 10:43 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Obi: v ten den jsem ještě přišel na 1 chybu v mé rutině zavedenou doprogramovávaním samotné rutiny a tedy měření byla chybná. Tak za 2 hodiny se mi ji podařilo najít - další z mnoha hloupých chyb. Nedalo mi to a vrhl jsem se opět na zjišťování toho, co musím udělat proto, aby se mi sample o různé délce a stejné frekvence ztlumovali ve správní čas. 3 hodiny jsem dělal různé zbytečně složité kombinace metodou pokus-omyl. Pak jsem to smazal a šel jsem na to jednoduše a pak přišel na něco co bude asi správně a u nejnižší frekvence jsem měl přímo učebnicové čísla. 1. měření byla odchylka 2048 opakování a při druhém měření 1024 opakování. Třetí jsem již neprovedl, ale asi tam bude odchylka 0. Tedy při nejnižší frekvenci by byl sampl o různé délce ztlumen s přesností na 1 byte/word. Snad se nepletu a tohle bude to správné řešení i pro ostatní frekvence jen s malou změnou. Nedokázal jsem s těmahle hrátkami s programováním skončit dříve než před 4 hodinou ranní a já si dal na spánek 90 minut. I tak jsem do práce zaspal a přišel o 30 minut později - to programování mne jednou zabije :).

PS: Jak jsem psal o tom počtu možných zásahů mimo hudební rutinu (do možné budoucnosti). Uváděl jsem nízká čísla a byla chybná. Zásah do programu při běhu rutiny můžu udělat minimálně po každém wordu, tedy pokud má sampl 5000 wordů, tak minimálně 5000 krát. Samozřejmě pak jde o to co utáhne procesor.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 233 ]  Přejít na stránku Předchozí  1, 2, 3, 4, 5, 6, 7, 8 ... 16  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz