Page 3 of 3

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

PostPosted: 22 Jan 2015, 23:56
by zxmak
ыходит, что длительность семпла вообще не нужна? Как же так?


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

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

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

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

PostPosted: 06 Mar 2015, 20:53
by ketmar
а сейчас я испорчу весь процесс обучения. всё равно автор давно забил.

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

поскольку это плеер AY-ков, которые с кодом Z80, то фактически это barebone эмулятор, который только и умеет, что звуком пердеть.