User Tag List

Страница 6 из 7 ПерваяПервая ... 234567 ПоследняяПоследняя
Показано с 51 по 60 из 67

Тема: Самый качественный MOD плеер под Covox исходники и продолжение проекта

  1. #51

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    мне нужно данные не выводить в порт цапа, а складывать в буфер, который потом по прерыванию (которое генерируется по опустошению аппаратного FIFO) сбрасывается в FIFO "звуковухи". значит получается, что я все байты складываю друг за другом, без пропусков (т.е. не требуется имитировать задержки или паузы)?!
    Конкретный способ воспроизведения не важен, генерируется поток звуковых данных, рассчитанных на воспроизведение с заданной частотой.
    На всякий случай пара более конкретных примеров расчета ближе к модной действительности:
    1. Частота семпла 16544 Гц, нота до третьей октавы 1046 Гц. Если частота цикла воспроизведения 33088 Гц и нужно сыграть ноту С-3 (по "классическим" обозначениям, в файле будет 214, в OpenMPT покажет C-6), то дробная часть приращения round(1046/1046*16544/33088*256)=128.
    2. Все как в п.1, только частота цикла воспроизведения 44100 Гц. Тогда дробная часть приращения round(1046/1046*16544/44100*256)=96.

    Цитата Сообщение от Sayman Посмотреть сообщение
    а как складывать каналы?
    Умного тут ничего сказать не могу, если разрядность устройства воспроизведения позволяет, то просто складывать, если нет - то сначала уменьшить амплитуды, чтобы сумма влезала в диапазон. Еще компромиссный вариант - амплитуды уменьшить несильно и складывать с насыщением.

    Плеер для DMA USC не смотрел.

    - - - Добавлено - - -

    Цитата Сообщение от ivagor Посмотреть сообщение
    16544
    Если по американским ntscшным стандартам, то 16726 Гц. OpenMPT сохраняет как европеец (но всегда 8272).
    Последний раз редактировалось ivagor; 19.03.2020 в 21:36.

  2. #52

    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    2,940
    Спасибо Благодарностей отдано 
    150
    Спасибо Благодарностей получено 
    302
    Поблагодарили
    171 сообщений
    Mentioned
    4 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    А еще для 4 каналов строится 4 таблицы громкости , через них и идет сложение и выплевывание в ковокс. так как ковокс имеет разрядность 256 то каждый канал имеет громкость до 64
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

  3. #53

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    разрядность девайса или 8бит или 16бит (конфигурируемая), но канала 2.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  4. #54

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Маленький оффтоп. Если хочется задавать частоту дискретизации семплов, но чтобы формат был не сильно сложнее mod, то наверно стоит посмотреть в сторону stm.

  5. #55

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, примерно понимаю, что для того чтобы сэмпл играл на более высокой ноте, я делаю пропуск байт в сэмпле согласно формулы, что ты выше описал. но, что делать, когда идёт понижение октавы/ноты? ведь если подумать, то "нота" при которой сэмпл играет на своей частоте - значит я беру каждый байт сэмпла. что делать когда обратный процесс, пока не понял.
    stm формат тоже хотелось бы. сейчас смотрю вообще в сторону более простого формата - ADJ от Профи (есть там такой недотрекер/плеер). он происходит от STM, но некоторые команды не реализованы. а там далее перейти к STM, MOD.
    и сразу вопрос - если исключить вариант вбрасывания данных в порт, на чём, собственно, и тратится всё время процессора, то сколько по тактам жрёт проигрывания мод файла т.е. отработка нот, эффектов, громкости. без учёта работы с цапом потому как у меня работа с буфером, что существенно упрощает вывод и по идее снимает часть нагрузки. плюс ещё есть аппаратный таймер (4 канал внутри z84). CTC который. вот думаю, как совместить и есть ли смысл, ведь если обработка трека будет жрать 100к тактов, то ... печально конечно это будет.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  6. #56

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    ivagor, примерно понимаю, что для того чтобы сэмпл играл на более высокой ноте, я делаю пропуск байт в сэмпле согласно формулы, что ты выше описал. но, что делать, когда идёт понижение октавы/ноты?
    Обработка единообразная, посчитали приращение указателя по семплу для данной ноты и спокойно суммируем с ним счетчик. Единственный момент, на который стоит обратить внимание - это разрядность приращения. Для какого-то применения хватит 8 бит дробной части, для большинства применений хватит 8.8, т.е. 8 бит целой части + 8 дробной. В некоторых случаях разрядность дробной части может понадобиться увеличить.
    Цитата Сообщение от Sayman Посмотреть сообщение
    вопрос - если исключить вариант вбрасывания данных в порт, на чём, собственно, и тратится всё время процессора, то сколько по тактам жрёт проигрывания мод файла т.е. отработка нот, эффектов, громкости. без учёта работы с цапом потому как у меня работа с буфером, что существенно упрощает вывод и по идее снимает часть нагрузки. плюс ещё есть аппаратный таймер (4 канал внутри z84).
    В старой версии плеера Cobrы частота основного цикла примерно 32000 Гц при 7 МГц (соответственно при 3.5 было бы 16000), в новой - примерно 11000 Гц при 3.5 МГц. Почему примерно - частота у него, к сожалению, немного плавает и в старой и в новой версии.
    Цитата Сообщение от Sayman Посмотреть сообщение
    сейчас смотрю вообще в сторону более простого формата - ADJ от Профи (есть там такой недотрекер/плеер).
    Начать точно лучше не с мод или stm. На спектруме (да и не только на спектруме) есть значительно более простые собственные трекерные форматы, с 3 каналами, практически без эффектов и громкости.

    Возможно стоит это обсуждение отецпить от темы пока топикстартер не стал сильно ругаться. Сабжевого плеера касаемся, но много побочной информации.

  7. #57

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, теперь ещё вопрос про скорость трека и кол-во ударов в минуту. как с ними быть? как тайминги тут рассчитываются?
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  8. #58

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно почитать здесь ( раздел Protracker CIA (Complex Interface Adapter) Timer Tempo Calculations: ) или еще здесь. В итоге грубо говоря нужно рассчитать, сколько времени крутить основной цикл до следующего изменения параметров цикла.

  9. #59

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    эти расчёты пока не понятны. 125 даров в минуту могут быть и на 6 скорости (что собственно там и показывают в пример) и на 3й скорости. как тогда верно это всё рассчитывать? в чём разница между скоростью и ударами в минуту?
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  10. #60

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Точнее и понятнее амижников я не напишу. Можно начать делать с тем пониманием, которое есть и сверяться с плеерами, похоже играет или нет. Ну и/или посмотреть какие-нибудь исходники плеера.

Страница 6 из 7 ПерваяПервая ... 234567 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Воспроизведение MOD-ов через Covox.
    от Kakos_nonos в разделе Музыка
    Ответов: 4
    Последнее: 15.08.2017, 16:50
  2. Исходники и коды моих наработок на Z80 под Спектрум
    от Spectramine в разделе Программирование
    Ответов: 8
    Последнее: 18.02.2017, 21:00
  3. Плееры MOD файлов под covox`ы
    от Sayman в разделе Программирование
    Ответов: 21
    Последнее: 11.02.2017, 09:31
  4. Ответов: 22
    Последнее: 26.02.2010, 01:31
  5. плеер модов под ковокс
    от sv в разделе Музыка
    Ответов: 13
    Последнее: 27.07.2008, 11:13

Ваши права

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