Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19

Тема: перемещение по семплу

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

    Exclamation перемещение по семплу

    Приветствую. Возникла необходимость загрузить и проиграть MOD файл на Спринтере. Скачал несколько мануалов по формату этого файла. В целом, формат понятен, есть пара моментов, но не страшно. Вопросы возникают на следующих моментах:
    1. Для проигрывания сэмпла на какой то ноте на амиге используются периоды которые, как я понимаю, используются для Паулы. На машинах без Паулы используют формулу для преобразования периода в частоты, которые и дают те самые ноты. Если я верно понимаю, то для проигрывания сэмпла с более высокой нотой (частотой) производится выборка данных с пропуском скольких-то байт. Для проигрывания на более низких нотах, наоборот, байты дублируются. Хотелось бы понимать, как эти периоды и частоты преобразовать в алгоритм выборки данных. Т.е. когда некая частота и надо брать данные из сэмпла с пропуском или без. В общем, как корректно перемещаться по сэмплу для получения нужных нот.

    2. У мод файла есть 2 параметра - темп и кол-во ударов в минуту (BPM). При стандартных параметрах 6/125 получается ровно 50гц. хорошо. а как быть с параметрами вроде 3/125 и другими вариантами? а ещё скорость может меняться командами на каждом шаге. как корректно отслеживать эти скорости и "исполнять" трек на заданных скоростях?

    Много читал, но ответов на эти вопросы не смог найти. Может не там искал?

    Касательно проигрывания цифры на спринтере: для этого можно использовать CBL - Covox BLaster. Данный девайс умеет работать в одном из нескольких режимов, который можно настроить. Частоты от 8кгц до 96кгц, моно или стерео, 8бит или 16бит. У CBL есть своё FIFO и прерывания которые возникают по мере опустошения этого FIFO. его размер 128/256 байт, в зависимости от выбранного режима. Заполнять буфер можно через акселератор, т.е. очень быстро. Поскольку есть этот девайс, то проигрывать MOD файлы можно асинхронным методом, без привязок к таймингам машины.

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

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

  3. #2
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,778
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    144
    Спасибо Благодарностей получено 
    1,180
    Поблагодарили
    776 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    посмотри в сторону исходников прошивки GeneralSound

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

    По умолчанию

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

  5. #4
    Master Аватар для Shaos
    Регистрация
    16.01.2005
    Адрес
    California, USA
    Сообщений
    805
    Спасибо Благодарностей отдано 
    98
    Спасибо Благодарностей получено 
    99
    Поблагодарили
    66 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Через CBL не получится т.к. тебе ещё семплы складывать надо на разных скоростях - по идее самый разумный способ это на ходу складывать и играть в ковокс побайтно

    Я лично хотел под Спринтер написать STM-плеер, но сначала сеть
    Администратор сетевого сообщества nedoPC.org
    Урал 8/64К, Sp2000, ZX48K+, ZX16K (спалил), TS1000 (американский ZX81), TS2068, Дельта-С, 20 лет собираю ATM Turbo 2+
    Неспектрумы: Электроника МК-85 и МК-85М, ПК-01 Львов, БК-0011, Вектор-06Ц, Лик (спец), Апогеи, Radio-86RK SRAM 32K & 128K (всё ещё собираю)

  6. #5
    Veteran Аватар для krotan
    Регистрация
    30.08.2010
    Адрес
    Санкт-Петербург
    Сообщений
    1,263
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    192
    Поблагодарили
    159 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    По умолчанию

    Цитата Сообщение от Shaos Посмотреть сообщение
    Через CBL не получится т.к. тебе ещё семплы складывать надо на разных скоростях - по идее самый разумный способ это на ходу складывать и играть в ковокс побайтно

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

  8. #7
    Master Аватар для Shaos
    Регистрация
    16.01.2005
    Адрес
    California, USA
    Сообщений
    805
    Спасибо Благодарностей отдано 
    98
    Спасибо Благодарностей получено 
    99
    Поблагодарили
    66 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    такты и так, и эдак считать придётся
    Администратор сетевого сообщества nedoPC.org
    Урал 8/64К, Sp2000, ZX48K+, ZX16K (спалил), TS1000 (американский ZX81), TS2068, Дельта-С, 20 лет собираю ATM Turbo 2+
    Неспектрумы: Электроника МК-85 и МК-85М, ПК-01 Львов, БК-0011, Вектор-06Ц, Лик (спец), Апогеи, Radio-86RK SRAM 32K & 128K (всё ещё собираю)

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

    По умолчанию

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

  10. #9
    Master Аватар для Shaos
    Регистрация
    16.01.2005
    Адрес
    California, USA
    Сообщений
    805
    Спасибо Благодарностей отдано 
    98
    Спасибо Благодарностей получено 
    99
    Поблагодарили
    66 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    этот буфер слишком маленький

    и кстати интерполяцию тоже синхронно можно делать
    Администратор сетевого сообщества nedoPC.org
    Урал 8/64К, Sp2000, ZX48K+, ZX16K (спалил), TS1000 (американский ZX81), TS2068, Дельта-С, 20 лет собираю ATM Turbo 2+
    Неспектрумы: Электроника МК-85 и МК-85М, ПК-01 Львов, БК-0011, Вектор-06Ц, Лик (спец), Апогеи, Radio-86RK SRAM 32K & 128K (всё ещё собираю)

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

    По умолчанию

    Цитата Сообщение от Shaos Посмотреть сообщение
    этот буфер слишком маленький

    и кстати интерполяцию тоже синхронно можно делать
    как понять маленький буфер? промежуточный буфер для накопления wave данных, которые потом будут улетать в FIFO, его хоть 1кб, хоть 16кб. это уже экспериментально можно будет определить его размерность. а делать интерполяцию в синхронном режиме - это боль и унижение. нет желания заморачиваться с синхронным режимом. когда доступна фишка с асинхронным благодаря которому куча времени освобождается.

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

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. ATM Turbo 1 4.50 перемещение по меню
    от blackinwoman в разделе ATM
    Ответов: 6
    Последнее: 20.11.2018, 18:16
  2. Перемещение головки дисковода
    от newart в разделе Программирование
    Ответов: 37
    Последнее: 01.03.2012, 20:48

Ваши права

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