Здесь упоминается воспроизведение сэмплов через ВИ53, но программы нет и срок хранения mp3 истек.
Внимательно почитал текст по вышеприведенной ссылке (часть про звук), прикинул цифры - есть непонятки. Написано о воспроизведении 8-битного звука через ВИ53 с частотой 7,2 кГц (1 голос/канал), 3,6 кГц (2 голоса/канала). Если использовался ШИМ, то при 8ми битах (соответственно 256 длительностях) и частоте ВИ53 1,5 МГц частота дискретизации получится не более 5859 Гц. Если не ШИМ, то 256 уровней через ВИ53 никак не получится. Т.е. или не совсем 8битный (208 уровней максимум), или частота дискретизации была меньше 7,2 кГц.
Последний раз редактировалось ivagor; 25.03.2013 в 11:46.
Да там вся статья (не только про звук) мягко говоря приукрашена
Здесь можно скачать актуальные версии Virtual Vector (VV)
В принципе можно попробовать сочетать ШИМ с использованием от 1 до 3х каналов ВИ53, при этом достаточно использовать счетчик ШИМа до 85. При этом можно достичь частоты дискретизации до 17 с лишним кГц. Но нельзя одновременно включить или выключить два или, тем более, три канала. Фактически это создаст дополнительную погрешность квантования, и эта погрешность будет значительно превышать минимальный шаг передаваемый ШИМом (будет значительно больше 1 такта ВИ53 или 2х тактов проца). IMHO неудачный вариант, хотя можно попытаться уменьшить побочные эффекты. Например, использовать максимум два канала ВИ53 и считать ШИМом до 128, частота дискретизации соответственно уменьшится.
Кто-нибудь изучал вопрос, в каком состоянии находятся счетчики сразу после аппаратного сброса? По даташиту их состояние неопределено, а вот как оно в реальности? Просто попалась программа для "Микроши", в которой считывается значение счетчика 0 для получания "случайных" чисел без предварительной инициализации этого счетчика (не инициализируется он и "Монитором").
Вот тут товарищи успешно эмулируют звучание, близкое к Covox, на одном канале такого же чипа, как и в Векторе, на IBM PC с 8088 процессором, который ИМХО недалеко ушел по быстродействию от ВМ80:
http://www.reenigne.org/blog/8088-pc...-how-its-done/
Может, и на Векторе что-то подобное запилить можно? Наверное, микшировать 4 канала не получится (в статье товарищи используют адскую оптимизацию, расчитанную на конвейер инструкций, которого нет в ВМ80), но, хотя бы один "вытянуть" можно?4.77 MHz 8088 CPU. 5 MHz seems like a lot compared to other 8-bit micros, but it takes the CPU 4 cycles to read a single byte. So, compared to other 8-bit CPUs like the 6502 or 6809, which can read a byte in one clock cycle, the effective clock speed of the 8088 is more like (4.77 / 4) = 1.19 MHz.
Еще в статье описывается интересная техника псевдо-многоголосости на одном канале таймера, возможно, тоже имеющая применение на Векторе
Пару лет назад писал про успешную пробу ШИМ через ВИ53. Тогда использовал высокую частоту дискретизации (под 24 кГц), чтобы было меньше свиста, но при этом нужно очень много памяти под звук. И исходник я тогда не выкладывал. Сегодня попробовал добавить линейную интерполяцию в 2 раза при воспроизведении 8 кГц фрагмента. В VV при включенном LF Filter (насколько помню по умолчанию он как раз включен) эффект от интерполяции есть, как на слух, так и по спектру записанного из VV аудио видно.
В обоих случаях используемый wav один и тот же - 8 кГц, 8 бит. Но воспроизводится он по-разному:
nointerp - Fs=8 кГц, 7 бит (максимальная Fs, при которой еще можно 8 бит - 5859 Гц)
interp - Fs=16 кГц, 6 бит (увы, одним битом пришлось пожертвовать при увеличении частоты дискретизации)
Немного жести. При частоте дискретизации 22000 Гц (линейная интерполяция в 4 раза с 5500) эмуляторы звучат довольно своеобразно. В VV при включенном LF Filter более-менее (и по спектру тоже), в emu совсем жесть. На реале 100% будет ближе к VV с фильтром и даже лучше.
При отсутствии интерполяции, частоту Найквиста мой лично мозг успешно отсеивает от полезного сигнала. С интерполяцией, тяжело как-то воспринимать.
Да, rom файлы желательно всё таки в архивах по разному называть, если можно .
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)