Эмуляция звука

emulators

Postby zxmak » 22 Jan 2015, 23:56

ыходит, что длительность семпла вообще не нужна? Как же так?


да, длительность семпла сама по себе ровным счетом ничего не даст. Твоя ошибка в том что ты рассматриваешь это как просто взять длительность и записать соответствующий сэмпл в выходной поток. Таким образом хороший звук не получить. Чтобы на выходе был более менее нормальный звук нужно производить обработку сигнала, а она производится не во временной области, а в частотной. Имея просто длительность одного семпла, ты не сможешь нормально перейти из временной области в частотную и обратно. Поэтому тут нужны все предыдущие выборки, а не одна.

Почитай что такое преобразование Фурье, свертка, Sinc-фильтр, алиасинг - это базовые основы с помощью которых это все делается, я-же говорю без фундаментальных основ в это дело можешь даже не соваться ;)

Там матан весьма серьезный и все в деталях тебе не разжует даже тот кто делал, потому что фильтры например подбираются специальным софтом. По правильному обработка в частотной области должна идти в комплексных числах, при этом коэфициенты комплексного числа отражают фазу и частоту сигнала. Но при обработке сигнала это еще и оптимизируется с учетом параметров входного/выходного сигнала и параметров фильтрации. Все это давно разжевано и оптимизировано математически, выведена методология по обработке сигналов, поэтому не зная что делает алгоритм, в код можно даже не соваться. А чтобы понять что он делает, нужно изучить методолгию обработки сигналов, а для этого тебе понадобится хорошо понимать базовые вещи матанализа.
Эмулятор-виртуальная машина ZX Spectrum - ZXMAK2: https://zxmak2.codeplex.com/
User avatar
zxmak
 
Posts: 83
Joined: 26 Oct 2012, 02:25
Group: Registered users

Postby ketmar » 06 Mar 2015, 20:53

а сейчас я испорчу весь процесс обучения. всё равно автор давно забил.

значит так. по пунктам.
1. берём исходники AYLet.
2. нагло занимаемся копипиздунгом файла sound.c.
3. монтируем в свой эмулятор.
4. танцуем.

поскольку это плеер AY-ков, которые с кодом Z80, то фактически это barebone эмулятор, который только и умеет, что звуком пердеть.
User avatar
ketmar
 
Posts: 36
Joined: 06 Apr 2011, 06:08
Group: Registered users

Previous

Return to Эмуляторы

Who is online

Users browsing this forum: No registered users and 7 guests

cron