NeoGS for 32-channel XM, IT, S3M

NeoGS software and hardware

Postby fk0 » 26 Apr 2010, 22:31

Интерполяция для ПТУшников. Правильный олгаритм передискретизации подразумевает КИХ-фильтр (реализуется аппаратно) и разнообразные манипуляции над битами. У меня есть мысль, что вообще 1-битный (или низкой разрядности) фильтр не обязательно щитать на умножителе, а можно в железе свести исключительно к сдвигам и сложениям. Причём параллельно. Да, желательно ЦАП разогнать на 100КГц. Иначе опять же будем слышать эту противнную ступеньку (называеца шум квантования). Или дельту-сигму взять.

Панорама или нет, но нужна для наушников. Но железно это практически (без ядра ЦПУ) не реализуемо.
* Origin: два пятдесят тридцать! (2:5030/1559)
User avatar
fk0
 
Posts: 7
Joined: 07 Apr 2007, 02:08
Group: Registered users

Postby lvd » 27 Apr 2010, 13:16

TS-Labs wrote:Толсто, двери трещат. Из-за вас приходится перестраивать детектор.

Вообще он прав. Если надо передискретизовать цифровой сигнал, то правильно так - сначала перевести его на частоту НОК(частота1, частота2) путём вставления нулей между отсчётами, потом на этой чатсоте профильтровать фильтром до половины чатсоты выходной, и далее выгнать на выходную частоту путём взятия каждого энного отсчёта. В реальности это делается полифазными КИХ-фильтрами.
Ну и само собой, что для проигрывания модов и ХМов вся эта поебень никуда не всралась, линейной интерполяции хватает :)

TS-Labs wrote:Курим РТФМ по формату ХМ

За неимением оного - что мешает процессору переводить 32 громкости и паннинг в 64 громкости?

TS-Labs wrote:если частота ЦАП-а ниже частоты семпла (целая часть инкремента >0), то пропускать интерполяцию.

Тут в чём фишка. Когда так интреполировать при целом шаге >1, то дробная часть шага показывает не дистанцию между соседними отсчётами, а погоду на луне. Потому тут интреполяция может даже вредить.

Ещё вот вопрос. Как делается лупинг при условии что целая часть шага >1 ? А то аппаратно сразу вылезают компараторы и вычитаторы...
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1580
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby lvd » 27 Apr 2010, 18:02

TS-Labs wrote:Я знаю, что они вылезают... Я посчитал, что для полного коммунизма нам требуется 4 бита целого инкремента, то есть на очень высокой ноте выбиратор будет пролетать аж почти по 16 байт. (например, инструмент на ноте С-3 оцифрован на частоте 76000, тогда чтоб сыграть его на ноте С-6 на частоте 37000 нам надо читать его в 16 раз быстрее. Как бы не не хватило...)И в этом случае, да, нужны и сумматоры и компараторы.Сумматоры: 24.12 бит адреса прибавить к 4.12 бит инкремента, то есть 36 и 16.Компараторы:24 бит адреса сравнить с 24 бит адреса, то есть 24 и 24.

Я правильно понимаю, границы лупинга можно сделать по краям 16 байтовых блоков?
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1580
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby breeze » 28 Apr 2010, 00:31

/me читает умные слова и роняет слюни на пол в ожидании явления чуда в реале…
User avatar
breeze
 
Posts: 761
Joined: 07 Feb 2009, 17:19
Location: Оттуда
Group: Registered users

Postby lvd » 28 Apr 2010, 10:20

TS-Labs wrote:Чип должен играть петлю с ЛЮБОГО адреса по любой.

Я извиняюсь, если зададут петлю длиной 3 байта, а шаг по семплу выйдет 13 байт, мне что, делить с остатком???
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1580
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby krb » 28 Apr 2010, 17:04

TS-Labs wrote:ХМ отпал - некоторые IT при конвертировании в него превращаются в калъ.


.it жрёт очень много ресурсов - в нём каждый канал полифоничен. Потери при конвертировании it в xm очевидны, так как it на ступень, а то и две выше .xm, и некоторые итшные фишки теряются.
мои смешные звуки избавят вас от скуки
User avatar
krb
дядька
 
Posts: 3
Joined: 21 Oct 2006, 16:47
Group: Registered users

Postby krb » 28 Apr 2010, 23:40

Вот так нормально будет.

.it на спеке это наверняка будет очень дорого - помню не каждый пенек умел навороченые .it играть без треска\передергиваний.
мои смешные звуки избавят вас от скуки
User avatar
krb
дядька
 
Posts: 3
Joined: 21 Oct 2006, 16:47
Group: Registered users

Postby deathsoft » 29 Apr 2010, 01:40

Я вот знаю хороший годный плеер с исходниками на ц++, кубик плеер называется, думаю оттуда можно понять как и что проигрывается (форматов он поддерживает намного больше чем перечислено здесь). ftp://ftp.cubic.org/pub/player/ocp260pre6src.tar.gz
User avatar
deathsoft
 
Posts: 348
Joined: 07 Apr 2007, 01:58
Group: Registered users

Postby lvd » 29 Apr 2010, 15:11

TS-Labs wrote:Also, Линух must die.

[flame=on] Ты висту започём покуплял?
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1580
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby krb » 16 May 2010, 04:29

TS-Labs wrote:Ищешь, где подешевле?

ты не болтай - знай делай себе. покажешь потома.
мои смешные звуки избавят вас от скуки
User avatar
krb
дядька
 
Posts: 3
Joined: 21 Oct 2006, 16:47
Group: Registered users

PreviousNext

Return to NeoGS - софт и железо

Who is online

Users browsing this forum: No registered users and 1 guest

cron