![]() |
Quote:
|
Ну вот теперь видно, что 50Гц были из-за таймера. Но очень уж они тихие, у меня гораздо громче получается. Ну и фиг с ним.
---------- Post added at 15:34 ---------- Previous post was at 15:33 ---------- Кстати, используется как раз режим 2 таймера. |
Quote:
|
Не знаю, у меня в эксолоне вообще никакого треска нет.
---------- Post added at 15:42 ---------- Previous post was at 15:40 ---------- Разница в том, что в эксолоне действительно "тычёк в один такт", а в clrs сотни тактов. |
"Режисерская версия саундтрека exolonа".
1. Сначала пару-тройку секунд мигает РУС/ЛАТ, я нажимаю БЛК+СБР 2. Распаковывается, показывает текст, нажимаю РУС/ЛАТ 3. Переход на заставку, заиграла музыка 4. Нажимаю РУС/ЛАТ, музыка прекратилась 5. Примерно на 30й секунде нажимаю БЛК+ВВОД (по индикатору уровня в редакторе видно, что в этот момент уровень уменьшается примерно на 6 дБ). |
После прекращения музыки там действительно "тычки" в один такт. Однако у меня, похоже, это не эмулируется: в одном сэмпле при частоте сэмплирования 44100Гц укладывается целых 34 такта таймера, так что вероятность того, что последнее значение будет еденица - всего 3%.
---------- Post added at 16:15 ---------- Previous post was at 16:13 ---------- При честной эмуляции значение сэмпла нужно было бы считать интегрируя каждый такт. Тогда действительно тычки были бы очень тихие. |
Сигнал Gate снимается (т.е. равен лог. 0) когда нажаты СБР+БЛК или ВВОД+БЛК, в это время счет прекращается и на выходе таймера будут неизменные сигналы. Это я к тому что необязательно обнулять прогу.
|
Quote:
|
Нет, и при частоте ШИМ более 22КГц вряд-ли будет достоверный результат.
---------- Post added at 16:38 ---------- Previous post was at 16:29 ---------- А в эксолоне используется ШИМ! А я то думаю, почему он у меня шипит?!! ---------- Post added at 16:43 ---------- Previous post was at 16:38 ---------- Там таймер для нескольких голосов не используется!!! Всё через порт 00h! |
Попытка по-быстрому изобразить ШИМ (все очень тупо, кроме того чуть медленновато, поэтому голос звучит ниже, чем должен). Все же на реале свистит несколько меньше, чем в эмуляторах.
Удалил вложение, т.к. далее выложил вариант получше |
Но ведь работает :)
|
Quote:
---------- Post added at 16:53 ---------- Previous post was at 16:50 ---------- Quote:
|
Ну там два голоса, т.е. минимум три уровня нужно. По твоей записи видно, что там три уровня, я и подумал, что был использован таймер. А там оказывается ШИМ.
---------- Post added at 16:55 ---------- Previous post was at 16:54 ---------- Quote:
Шутка. Просто разные частоты сэмплирования. |
Переделал ШИМ, в т.ч. уменьшил число используемых бит из каждого звукового отсчета - теперь по 3. Если стараться не обращать внимание на свист, то почти нормально.
После уменьшения числа бит образовался небольшой запас быстродействия, в принципе можно 11-12 кГц wavы воспроизводить. |
блин ребята, ну вы маньяки :)
чтоб до таких мелочей докапываться. |
ZEman, мы просто хотим стереть все грани между реалом и эмуляцией :)
|
у вас это кстати неплохо получается.
хотя эмулятор рамироса мне больше нравится. |
Ввел интегрирование для каждого сэмпла, теперь вроде как свистита стало немного меньше.
Ждем когда Tim0xA обновит эмуль :) |
Обновил
|
Ramiros, стало лучше. Если сравнивать ШИМ в VV и в текущей версии b2m, то счет в твою пользу. Но хотелось бы еще более похоже на реал. Сравни спектры сигналов, записанных с реала и в твоем эмуляторе (я смотрел в Sound Forge).
Attachment 14037 Это немного улучшенные версии, могут играть и из основной памяти и с КД. PWM8 - частота дискретизации 8000 Гц, PWM9 - 11500 Гц (это и по спектрам видно). В PWM9 на реале свист ушел в область выше и не так напрягает - фактически осталась одна гармоника на 11500 (только памяти не напасешься). |
Quote:
Для таймера можно просто при определенных значениях счетчика которые например дают частоту более 20 КГц отсекать эти частоты, т.к. человек их всеравно неслышит, что я и делаю при включеном фильтре, а как быть с каналом PCM ? анализировать сигнал на лету, весьма сложная задача. ---------- Post added at 15:57 ---------- Previous post was at 15:52 ---------- ivagor, неплохо бы еще сделать (переделать) тест таймера для BCD режима, какое то белое пятно остается, наверняка неукого нереализовано, или реализовано криво :) Я в новой версии (пока невыкладываю) уже сделал поддержку, но пока хотелось бы потестить, посмотреть результат с реала. |
Quote:
|
Quote:
Quote:
Quote:
|
Quote:
|
Ramiros, b2m, вы предлагаете, чтобы я взял например вот эти тесты, у которых в авторах указан в т.ч. b2m, поправил один бит при задании режима таймера и запустил на реале? Это несерьезно. Вы и svofski уже долго въезжаете в эту тему, вам и карты в руки.
|
Свист при ШИМ не давал мне покоя, поэтому сделал вариант с частотой дискретизации 17 кГц (pwm10, играет с КД) - не свистит! Вернее мое ухо не слышит, может некоторые дети и животные услышат и такой высокочастотный свист. Правда, есть некое несильное жужжание, но это гораздо меньше напрягает, чем свист. Также перезаписал wavы от pwm8 и pwm9. В прошлом варианте с pwm8 еще все нормально, а в pwm9 при записи добавился призвук, которого не было при воспроизведении с вектора. Изменил технологию записи, в новом варианте все нормально. pwm8and9and10.7z
Понял, почему немного жужжит pwm10, это убирается ценой некоторой потери частоты (до 16 кГц), но при этом становится немного слышен свист. Буду думать, как ускорить и чтобы не жужжало и не свистело одновременно. |
1 Attachment(s)
Вот переделал i8253.rom под BCD режим. Жду результатов с реала
|
Результат I8253_BCD.ROM
|
Мдя, переход через ноль я не учёл, в BCD будет не FFFF, а 9999 :)
|
Quote:
Выпускаю в свет версию VV 5.97, кроме режима BCD сделана доработка прерываний с учетом реальной длинны команд, vst10 теперьвыдает результат как на реале. Tim0xA выкладывай :) |
Эмулятор на сайте!
|
Аналогично.
|
Quote:
Сделал ФНЧ, звук в pwm значительно улучшился :) |
Выложил эмуль на сайт.
|
Ramiros, спасибо, что работаешь в этом направлении, стало лучше. Надеюсь, ты не успокоишься, пока не станет неотличимо от реала ;)
|
4 Attachment(s)
В 2009 выкладывал пример проигрывания WAVа через ВИ53+бипер. Сайта уже давно нет, теперь тот файлик на форуме.
В связи с дискуссией в теме про музыку Сергея Новикова сделал еще два примера с использованием "ЦАПа". 1. Проигрывание пяти разных форм сигнала, в т.ч. треугольника и пилы Attachment 39572 Attachment 39574Attachment 39575 2. Меандр с четырьмя разными уровнями громкости Attachment 39573 В архивах есть исходники, ROMы и WAVы. |
А как получают на ВИ53 несколько уровней громкости?
Или это какая-то особенность схемы именно Вектора? |
Три канала ВИ53 складываются на векторе с одинаковыми весовыми коэффициентами, что дает (с учетом молчания) 4 уровня. Как оказалось и бипер на векторе тоже складывается практически с тем же весом, т.е. +еще один уровень. Предполагаю, что на Апогее и ПК8002 (т.е. там, где все каналы ВИ53 могут играть звук) примерно аналогичная ситуация (если не брать в расчет ЦАП для управления громкостью на ПК8002).
|
у ВИ53 есть команды которые позволяют сформировать на выходах лог.1 или 0 (при условии что на входах GATE всегда 1), учитывая схему микшера каналов понятно что можно формировать 4-х уровневый сигнал, но это впринципе от ЦАПа ничем ни отличается и этот метод требует больших процессорных ресурсов и много ОЗУ, следовательно полезность этой фичи стремится к нулю.
|
Quote:
|
| All times are GMT +4. The time now is 23:23. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.