User Tag List

Страница 7 из 7 ПерваяПервая ... 34567
Показано с 61 по 68 из 68

Тема: МСЗ-1

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Между 4-мя чемхотите, при требуемой частоте выборки, доступ к памяти прекрасно можно разрулить синхронно по фазам. Ф1 -- канал 1, Ф2 -- канал 2, ... Фх - процессор, Фу - регенерация. Общая память на всех и не надо городить никаких магистралей и автобанов.

    Не проще сложить 4 8-битных канала в цифре и скормить получившиеся 12 бит одному ЦАПу, чем ставить 4 здоровенных ЦАПа? Честно не знаю ответа на этот вопрос, потому что страшно даже подумать, как будет выглядеть 8+8+8+8=24 на 555 серии. Может быть можно применить схему последовательного сложения со сдвиговыми регистрами.

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    И вообще, а как эти сэмплы готовить и откуда их брать?
    Не знаю, с какой стороны начать.
    http://ru.wikipedia.org/wiki/Импульс...дуляция
    http://ru.wikipedia.org/wiki/MOD
    http://ru.wikipedia.org/wiki/Direct_Digital_Synthesizer
    http://synthmusic.ru/articles/synthesistypes/wavetable

    Вообще с русскоязычными источниками на эту тему мрачновато. Все забито какой-то копипастой начального уровня.
    Больше игр нет

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    30.05.2009
    Адрес
    Novosibirsk, Russia
    Сообщений
    86
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    а вот ещё и два ВИ53, это за гранью моего понимания, по крайней мере сейчас, да и зачем они.
    Семплы надо воспроизводить с разной скоростью - чтобы получать разные ноты. ВИ53 можно программировать на генерацию импульсов разной частоты. Эти импульсы предполагается использовать как сигналы DRQ (запрос данных) для контроллера ПДП. По приходу очередного импульса контроллер ПДП будет читать очередной байт из памяти и выводить в ЦАП. В зависимости от того, на какую частоту запрограммирован ВИ53 - с такой скоростью будет воспроизводиться семпл. В контроллере ПДП четыре канала, а в ВИ53 - только три таймера, поэтому надо две ВИ53.

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Надо думать, посмотрим, что скажет hdc
    Одного контроллера ПДП вполне должно хватить на 4 канала. И общее для всех каналов ОЗУ позволяет более эффективно использовать память - можно, к примеру, одним инструментом играть на нескольких каналах и при этом в памяти будет только одна его копия.

    Вот что ещё подумалось по поводу варианта с ПДП... раз у нас теперь нет проблемы с частотой дискретизации, то качество звука теперь упирается только в восьмибитность. Предлагаю подумать над тем, как сделать 16-битные каналы.

    Общая концепция такова - сделать организацию ОЗУ 16-разрядной.
    Когда контроллер ПДП выставляет адрес и читает данные - отдавать ему младшие 8 бит, а старшие 8 бит защёлкивать в отдельном регистре. Когда ПДП выдаёт данные в порт - его 8 бит выводить на младшие разряды ЦАП, а старшие разряды брать из того самого регистра.

    Процессор должен видеть всё пространство ОЗУ как 8-разрядное - это несложно сделать.

    При этом получаем совершенно другой уровень качества звучания.

    ...мне уже интересно - а эти контроллеры ПДП как-то можно каскадировать? А то может получится упихнуть 4 контроллера ПДП и 16 каналов сделать? Тогда и MIDI можно будет играть...

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    [/COLOR]И вообще, а как эти сэмплы готовить и откуда их брать?
    Музыкальные файлы от трекеров (MOD, STM, S3M, XM и др.) содержат в себе семплы. Также семплы можно выдирать из документированных форматов (Sound Font, к примеру).

    Или просто звуковой картой оцифровать реальный инструмент/голос/какой-нибудь звук и из полученной WAV'ки сделать семпл. Суть семпла - та же WAV'ка, только с дополнительными данными. Например - какая нота в семпле сыграна, длительность "атаки" (начало звучания), длительность "удержания" (та часть семпла, которая воспроизводится по-кругу, пока звучит нота) и длительность "затухания" (то, что играется, когда нота закончилась). Надо только аккуратно подбирать участок удержания, чтобы не было щелчка при переходе на начало.

    ---------- Post added at 23:27 ---------- Previous post was at 23:18 ----------

    Цитата Сообщение от svofski Посмотреть сообщение
    Не проще сложить 4 8-битных канала в цифре и скормить получившиеся 12 бит одному ЦАПу, чем ставить 4 здоровенных ЦАПа?
    Честно не знаю ответа на этот вопрос, потому что страшно даже подумать, как будет выглядеть 8+8+8+8=24 на 555 серии. Может быть можно применить схему последовательного сложения со сдвиговыми регистрами.
    Не всё так просто. Надо ведь каждому каналу ещё задать громкость и баланс стерео. Простым сложением здесь не отделаться. Для четырёх каналов аналоговое микширование проще.
    Музей цифровой археологии: http://www.asvcorp.ru/darch/
    Занимаюсь разработкой облачного САПР для электронщиков: https://sapr.asvcorp.ru/

  4. #3

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hdc Посмотреть сообщение
    Не всё так просто. Надо ведь каждому каналу ещё задать громкость и баланс стерео. Простым сложением здесь не отделаться. Для четырёх каналов аналоговое микширование проще.
    Согласен, громкость канала — это аргумент.

    9. аналоговое микширование (громкость на каждый канал и баланс стерео на каждый канал - не знаю как это делать)
    В самом простом случае как-то так:

    Для получения каждого управляющего напряжения — еще один ЦАП на канал. И, если нужен стерео микс, то два. Ничего здоровенного, просто лишняя пара дюжин корпусов =)
    Больше игр нет

  5. #4

    Регистрация
    30.05.2009
    Адрес
    Novosibirsk, Russia
    Сообщений
    86
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Применить 16-битные ЦАП -ы.

    И получается, что останавливаемся на том, что:

    2. Микропроцессор КР580ВМ80А, в стандартном включении!
    3. Частота резонатора 22,5МГц (тактовая 2,5МГц)!


    ???
    4. Один контроллер ПДП ВТ57
    5. Два таймера ВИ53
    6. Один контроллер прерываний ВН59
    7. 512 килобайт памяти (две линейки РУ7)
    8. четыре канала по 8 бит (572ПА1)
    9. аналоговое микширование (громкость на каждый канал и баланс стерео на каждый канал - не знаю как это делать)
    10. Параллельный интерфейс для связи с компьютером

    Это всё фиксируем на первую версию устройства.
    Музей цифровой археологии: http://www.asvcorp.ru/darch/
    Занимаюсь разработкой облачного САПР для электронщиков: https://sapr.asvcorp.ru/

  6. #5

    Регистрация
    30.05.2009
    Адрес
    Novosibirsk, Russia
    Сообщений
    86
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Появилось вот такое предложение по поводу номера порта который использовать. Если будут создаваться другие модули, то они будут иметь перемычки П1 и П2 и ими можно будет выбрать номер порта. То именно в МСЗ-1 можно эти перемычки убрать, сэкономив тем самым немного места на плате, упростив разводку.
    На мой взгляд МС3-1 не должен подключаться к внутренней шине компьютера. Это ограничивает его универсальность/переносимость.
    Устройство лучше сделать подключаемым как принтер. Тогда его можно будет использовать с большим количеством компьютеров - вплоть до PC.

    Воткнул например эту карточку в параллельный порт БК0010, и послушал какой-нибудь MOD... загружая его перед этим полчаса с кассеты =)

    Если в ИРИШЕ нет параллельного порта - то тогда надо просто сделать отдельный контроллер параллельного порта, у которого будет разъём какой-нибудь, к которому уже будет подключаться МС3-1.

    Возникает вопрос с питанием. Возможно имеет смысл питать от внешнего блока питания 12V и все нужные напряжения формировать из него.

    Т.е. формат устройства предлагаю выполнить в виде "внешняя звуковая карта".
    Музей цифровой археологии: http://www.asvcorp.ru/darch/
    Занимаюсь разработкой облачного САПР для электронщиков: https://sapr.asvcorp.ru/

  7. #6

    Регистрация
    30.05.2009
    Адрес
    Novosibirsk, Russia
    Сообщений
    86
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    КР1802ВР3 - биполярный быстродействующий параллельный умножитель 8х8 разрядов.
    Можно подумать о её применении.
    Хороший вариант. Как время будет - пририсую её.

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Но микропроцессорная часть, остаётся при этом без изменений, а то я как раз подошёл к её разработке.
    Да, там можно сказать без изменений. В чём-то даже проще наверное.

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Вот думал про память, получается что надо делать 8 банков по 64Кбайта, при применении К565РУ5Д с буквой Д - как вроде самая быстрая, тогда можно сделать так, при включении по умолчанию выбирается ПЗУ, которая начинается с адресов 0000Н и банк 0. А для управления выбором банка использовать порт с регистром и дешифратором. В итоге будет 8 банков по 64Кбайта, всего 512Кбайт. Но надо это всё ещё очень продумать.
    Про быстродействие можно не заморачиваться. Это с четырьмя процессорами проблема была. А с одним процессором быстродействия РУ7 хватит более чем.
    Музей цифровой археологии: http://www.asvcorp.ru/darch/
    Занимаюсь разработкой облачного САПР для электронщиков: https://sapr.asvcorp.ru/

  8. #7

    Регистрация
    30.05.2009
    Адрес
    Novosibirsk, Russia
    Сообщений
    86
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    С РУ7 проблема не понимаю я как их туда присобачить, так как у нас адрес 16 бит. А у РУ7 18 бит.

    Поэтому как-то само напрашивается 8 страниц памяти по 64 Кбайта. Счётчик команд тоже 16 бит. И поэтому великолептно получается если он в своём адресном пространстве вращается 0000Н - FFFFH и не о чём не подозревает, что ему подсунули например 1 страницу памяти, вместо нулевой.
    Да, это только страницами и делается. Недостающие адресные биты берутся из регистра порта переключателя страниц. И в целом неважно РУ7 использовать или РУ5 - шина адреса в итоге 18-разрядной получится.

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Реализовать я это думаю так, при включении автоматически выбирается 0-страница памяти, в её начальных адресах находится ПЗУ (2Кбайта или 4 Кбайта или столько сколько нам нужно.
    У меня вертится чуть другая идея.
    C нулевого адреса начинается ПЗУ. Адресом 7FFF заканчивается непереключаемое ОЗУ. Где-то между адресами 0000 - 7FFF находится граница между ОЗУ и ПЗУ - в зависимости от объёма ОЗУ. По адресам 8000-FFFF находится окно, куда отображаются переключаемые страницы по 32 килобайта. Т.е. размер страницы будет 32 килобайта.

    Для чего это надо - ПЗУ должно быть доступно вне зависимости от того, какая страница сейчас включена - там программа и она всегда должна выполняться. Также нужен какой-то непереключаемый блок ОЗУ, который нужен для переменных и стека.

    Будем исходить из расчёта, что прямо сейчас нам хватит 2кб ПЗУ, но пока неясно что там в итоге получится.

    ---------- Post added at 13:34 ---------- Previous post was at 13:23 ----------

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Оставив в стороне сэмплы, как насчёт операторного синтеза? FM (частотная модуляция) или ее разновидность, фазовая модуляция, более легко реализуемая в цифровом виде.
    И отечественная промышленность ведь даже успела испустить аналог импортной микросхемы 4046 под славянофильским наименованием 561ГГ1.
    FM-синтез хорош только как дополнение. И это очень хорошее дополнение.
    Но простота как правило заканчивается, когда начинаются реальные схемы =)

    ---------- Post added at 13:37 ---------- Previous post was at 13:34 ----------

    Цитата Сообщение от mbojenov Посмотреть сообщение
    Viktor2312, а почему не хотите посмотреть схему MagicSound от Aleste? вот здесь написано про это http://aleste520.narod.ru/magicsound.html
    и здесь http://n64.icequake.net/mirror/valer...agicsound.html
    Если что, схема где то есть и у меня.
    А похоже мы это устройство и пытаемся изобрести.
    И с чего это мы не хотим посмотреть схему? =)

    Мне вот интересно - на какую проблему они встали с 580ВТ57... 16 килобайт за один приём это строго говоря не проблема. Меня больше интересует общая пропускная способность в кб/сек.

    ---------- Post added at 13:44 ---------- Previous post was at 13:37 ----------

    По поводу цифрового микшера...
    Откопал в одном из подручных справочников про микросхему умножения:
    https://sapr.asvcorp.ru/library/deta...p=5440&tcid=96

    Теперь мне интересно, что там имеется в виду под округлением и нецелыми числами.

    Вспомнилась ещё одна проблема.
    Насколько я помню, в семплах отсчёты кодируются следующим образом:
    "Ноль" - 80h
    "Один" - 81h
    "Два" - 82h
    "Минус один" - 7fh
    "Минус два" - 7eh
    и т.д.

    Грубо говоря - вычитается постоянная составляющая и прибавляется 80h.
    Поэтому требуется огород для того, чтобы это можно было перемножать и суммировать, иначе совсем не то получится, что требуется. "Огород" пока не придумался.
    Музей цифровой археологии: http://www.asvcorp.ru/darch/
    Занимаюсь разработкой облачного САПР для электронщиков: https://sapr.asvcorp.ru/

  9. #8

    Регистрация
    15.06.2010
    Адрес
    г. Чита
    Сообщений
    65
    Спасибо Благодарностей отдано 
    110
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Насколько я помню историю разработки magicsound для aleste то там отказ от пдп контроллера 580 серии в пользу 1810 был именно в маленьком окне в 16 кб 580-го (были отчетливые щелчки при окончании сэмпла каждые 1,5 секунды) и в неустойчивой работе на требуемой частоте проигрывателя, плюс 1810 мог оперировать 1 мб озу. И еще вроде 1810 быстрее программировался (но я могу ошибаться)

Страница 7 из 7 ПерваяПервая ... 34567

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •