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

User Tag List

Страница 62 из 267 ПерваяПервая ... 585960616263646566 ... ПоследняяПоследняя
Показано с 611 по 620 из 2664

Тема: Xpeccy

  1. #611
    Guru Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,055
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    218
    Поблагодарили
    92 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Собрал накопленное с предыдущего раза.
    [ win32 ][ deb x86 Qt ]
    Все любят гипножабу

  2. #612
    Master
    Регистрация
    11.04.2006
    Адрес
    Novosibirsk
    Сообщений
    966
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Q-Master Посмотреть сообщение
    становится сразу практически вменяемым. Надо проверять либо порядок (endiannes), либо размеры буферов.
    Под ALSA звук вроде-бы не хрипит, зато икает. Такое впечатление что просто нехватает буфера для проигрывания, либо проигрывается быстрее чем расчитано и буфер кончается раньше чем должен, но и зацикливания не происходит.
    В исходники не глядел (не под рукой), можно на пальцах как работа с буфером сделана ? По уму нужно делать два буфера, и пока один проигрывается заполнять второй, а потом менять их местами.

    Кстати есть мысль что эмуляцию AY лучше попробовать сделать через OPL2 (11-голосным FM синтезатором можно выкружить очень много, а по ресурсожоркости копейки). Тем более что он во всех звуковухах урожденно YM3812 совместимый и так или иначе преемственность есть нативная.

  3. #613
    Guru Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,055
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    218
    Поблагодарили
    92 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ram_scan Посмотреть сообщение
    В исходники не глядел (не под рукой), можно на пальцах как работа с буфером сделана ? По уму нужно делать два буфера, и пока один проигрывается заполнять второй, а потом менять их местами.
    На пальцах всё, кроме SDL действует так: есть таймер, по сигналу которого буфер отправляется на проигрывание и выдаётся сигнал на начало эмуляции (от INT до INT), во время эмуляции этот же буфер заполняется. Для SDL работает его собственный callback.
    Надо попробовать с двумя буферами. Хотя, мне всё равно сложно решать проблему, не имея её - даже на ноутбуке (2-ядерник intel), когда с отрисовкой по Qt эмулятор жрёт 45%, звук не хрипит и не заикается!
    Все любят гипножабу

  4. #614
    Master
    Регистрация
    26.03.2005
    Адрес
    Ivanovo
    Сообщений
    640
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SAM style Посмотреть сообщение
    На пальцах всё, кроме SDL действует так: есть таймер, по сигналу которого буфер отправляется на проигрывание и выдаётся сигнал на начало эмуляции (от INT до INT), во время эмуляции этот же буфер заполняется. Для SDL работает его собственный callback.
    Надо попробовать с двумя буферами. Хотя, мне всё равно сложно решать проблему, не имея её - даже на ноутбуке (2-ядерник intel), когда с отрисовкой по Qt эмулятор жрёт 45%, звук не хрипит и не заикается!
    Да не в скорости проца проблема. Проблема заключается в том, что у тебя генерация буфера привязана к 50Гц, а реально он может проигрываться быстрее. Вот похоже у меня такая фигня с ALSA и происходит. Что с SDL не так я пока не знаю. Небыло времени для экспериментов. Плюс к тому, у тебя циклический буфер нихрена не циклический 8). Я не вкурил нафига ты его сбрасываешь каждый раз после проигрывания.
    Посмотри сорцы zemu. Там правда только SDL версия, но там у меня все работает как часы.

  5. #615
    Master
    Регистрация
    11.04.2006
    Адрес
    Novosibirsk
    Сообщений
    966
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  6. #616
    Guru Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,055
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    218
    Поблагодарили
    92 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Попробуем так... build 20130110
    • За кадр звуковой буфер не заполняется больше положеного.
    • ALSA выводит звук так же, как SDL - из кольцевого буфера в промежуточный вытаскивается определенное кол-во байт и отправляются на проигрывание
    • Исправил переинициализацию памяти выше 128К при смене профиля.
    • Возможность всегда запускаться на профиле default, а не на последнем выбраном (галка Options->Xpeccy->Profiles->Start on default)
    Последний раз редактировалось SAM style; 10.01.2013 в 17:09.
    Все любят гипножабу

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

  8. #617
    Master
    Регистрация
    26.03.2005
    Адрес
    Ivanovo
    Сообщений
    640
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    В первом случае причиной может быть целочисленное переполнение из-за микширования и/или ресэмплинга, второй вобщем-то очевиден сам по себе.
    В альзе заикается из-за того, что есть пауза между выводами в аудиобуффер. В СДЛ хрипит, но я не знаю почему. Буду играться.

  9. #618
    Master
    Регистрация
    11.04.2006
    Адрес
    Novosibirsk
    Сообщений
    966
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SAM style Посмотреть сообщение
    [*]ALSA выводит звук так же, как SDL - из кольцевого буфера в промежуточный вытаскивается определенное кол-во байт и отправляются на проигрывание
    Вот два буфера как раз нужны чтобы ничего не вытаскивать и не складывать. Поменял указатель - буфер новый вместо старого. пока один играется, второй наполняется.

    А кстати зачем буфер именно кольцевой ? При переполнении буфера звук все равно испортится, только в случае кольцевого буфера у него будет съедаться начало, а в случае линейного - конец. Что при восприятии на слух абсолютно не принципиально, все равно будет "дырка" в звуке, но линейный буфер проще закодить и работать с ним быстрее из-за отстутствия "заворота".

  10. #619
    Guru Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,055
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    218
    Поблагодарили
    92 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ram_scan Посмотреть сообщение
    А кстати зачем буфер именно кольцевой ?
    SDL принципиально устанавливает свою длину буфера, немного больше той, которая нужна для проигрывания 1/50 сек. И процедурину проигрывания вызывает сам, независимо от моего таймера. Так что лучше пусть бегут по кругу, чем тягать туда-сюда кусок недоигранного.
    Все любят гипножабу

  11. #620
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,259
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А что у тебя вынесено в отдельный поток? Непосредственно генерация звука или воспроизведение результата этой генерации?

Страница 62 из 267 ПерваяПервая ... 585960616263646566 ... ПоследняяПоследняя

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

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

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

Ваши права

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