Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   максимальная частота оцифровки при воспроизведении БЕЗ AY (http://zx-pk.ru/showthread.php?t=3809)

TomCaT 21st September 2006 16:01

максимальная частота оцифровки при воспроизведении БЕЗ AY
 
сабж, в общем

например, такой плеер
ld hl,<звук>
ld c,0 (конец звука, выровненный по 256)
qplay LD a,(hl) ;7
ld b,8 ;7
rrca ;4
out (fe),a ;12
nop ;
nop ;8
djnz $-5 ;13/8
inc hl ;7
ld a,h ;4
cp c ;4
jr c,qplay ;12/7
пересчет тактов дает:
37*8-5+14+15+12=332 -- т.е. столько тактов на 8 бит вывода
3.5*1000/332*8=84.33Khz -- так? или напутал что?

key-jee 21st September 2006 16:16

Может и так (хотя плеер можно написать и более "качественно"), но встречный вопрос: что ты им проиграешь? откуда столько памяти возьмёшь?

TomCaT 21st September 2006 16:36

Да мне короткий звук эффект в заставке, и 30к хватит с головой...

Да, а намного качественнее? меня все-таки интересует не этот быстро склепанный пример, а максимум?

Titus 21st September 2006 16:51

Фсе попутал :v2_wink2:
Нет даже компенсации тактов при перехода с байта на байт :v2_jawdr:

TomCaT 21st September 2006 17:21

Ну ламер, так и говорите, не обижусь. У меня вообще от потактовых расчетов зубы начинают болеть... ;) неужели это смертельно скажется на результате?

получается пауза в полтора бита после каждого байта, что ли?


ну тогда djnz переделываю на прыжок в 43-тактовую задержку перед rrca. а после ld b,8 -- обход этой задержки прямо на rrca. Итого 43318Hz?
ld hl,<звук>
ld c,<High для конца звука>
qplay LD a,(hl) ;7
ld b,1dh ;7
jr $+9 ;7
djnz $+2 ;13+
djnz $+2 ;+13+
djnz $+2 ;+13+
nop ;+4=43
rrca ;4
out (fe),a ;12
nop ;
nop ;8
djnz $-12 ;13/8
inc hl ;7
ld a,h ;4
cp c ;4
jr c,qplay ;12/7

Vitamin 21st September 2006 18:37

Хехе... Компенсация переходов между байтами... Да фихня это! Даже переход между страницами на звуке практически не отражается, а тут еще и звук однобитный, качеством особо не отличается (даже на 80кгц). У GriV'а есть плеер такого звука со сжатием, на 100+ кгц играет достаточно приемлимо, правда память кушает...

Titus 21st September 2006 18:57

Quote:

Originally Posted by Vitamin
Хехе... Компенсация переходов между байтами... Да фихня это! Даже переход между страницами на звуке практически не отражается, а тут еще и звук однобитный, качеством особо не отличается (даже на 80кгц). У GriV'а есть плеер такого звука со сжатием, на 100+ кгц играет достаточно приемлимо, правда память кушает...

На звуке отражается все.
Кроме ряда высокочастотных гармоник, естественных для однобитного прямоугольного сигнала, мы еще и получим дополнительную паразитную гармонику частотой ~1/8 частоты дискретизации, плюс ее субгармоники. Оно вам надо?

Darkman007 21st September 2006 19:03

ну вы и мозги... :)

Robus 21st September 2006 19:06

Я заметил, что во многих плеерах придумывают разнообразные способы опоределения окончания сампла. Хотел предложить немного альтернативный вариант. Все "0" в сампле меняем на "1", в конце добавляем "0" или десяток нулей, если хотим прыгать через байт(ы). Таким образом сампл можно сделать длиной на вообще всю доступную память. Так было реализовано в моём музыкальном редакторе MASON, где получалась частота на SounDrive 12000 герц с 16-тью громкостями на каждом канале.

ld hl,<звук>
loo1
ld a,(hl)
or a
jr nz,loo2
out (port),a
inc hl
jmp loo1
loo2

Vitamin 21st September 2006 20:47

Quote:

Originally Posted by Titus
На звуке отражается все.
Кроме ряда высокочастотных гармоник, естественных для однобитного прямоугольного сигнала, мы еще и получим дополнительную паразитную гармонику частотой ~1/8 частоты дискретизации, плюс ее субгармоники. Оно вам надо?

ВЧ гармоники будут находиться далеко за пределами области звуковоспроизведения. Другое дело производные частоты, полученные в результате интерференции-сложений-вычитаний. Но на них можно в принципе забить. Потому как если смешать 1 кг варенья (звук без субгармоник) и 1 кг дерьма (1 битный звук), получим 2 кг дерьма...


All times are GMT +4. The time now is 21:31.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.