Атауальпа
Нет никакого батника. Всё собирается VC или любым другим компилятором
sound, SB, AC97 и другое
Serge
Не должно, хотя в бета релиз вошла новая версия движка, которая ещё глобально не тестировалась на предмет качества звучания. Трещит в случайных местах или всегда на одной и тойже секунде?Потестил примеры всё работает но mini иногда потрескивает.
Колонки трещат всё время, как будто plug не совсем чётко вошёл в разьём. Но звук то всё равно выводится виндой в другой разьём и перенаправить его в винде нельзя нигде в настройках (или я просто не знаю как).Щелчки идут при автоопределении нагрузки. Потом Win запоминает конфигурацию и следующей загрузке уже не щёлкает.
Quantum
Мне покаалось что щелчки повторяются. Я подумал что проблема в стыковке звуковых фрагментов если звук воспроизволится через статический буфер.
Мне покаалось что щелчки повторяются. Я подумал что проблема в стыковке звуковых фрагментов если звук воспроизволится через статический буфер.
Значит это от драйвера зависит. У меня если переключить штекер запускается автоопределение нагрузки и потом звук всё время выводится в этот разъём.Но звук то всё равно выводится виндой в другой разьём и перенаправить его в винде нельзя нигде в настройках (или я просто не знаю как).
Quantum
Добавил вызов SND_GETFREESPACE equ 17
Только для PCM_OUT. Возвращает размер незаполненной части буфера
Добавил вызов SND_GETFREESPACE equ 17
Только для PCM_OUT. Возвращает размер незаполненной части буфера
Code: Select all
get_buffer_free:
;param
; eax=stream
;retval
; ebx = buffer free space
; eax = error code
push ecx
push 0 ;output
mov ebx, esp
push eax ;input
mov eax, esp
push 4 ;.out_size
push ebx ;.output
push 4 ;.in_size
push eax ;.input
push SND_GETFREESPACE ;.code
push dword [hSound] ;.handle
mov eax, 68
mov ebx, 17
mov ecx, esp
int 0x40
add esp, 24+4 ;skip input
pop ebx ;load output
pop ecx
ret
SPraid
Если хочешь сделать mp3 плеер для sb16 то единственный способ писать на С. Я добавил к mpg123 функции для чтения mpeg потока.
Они все собраны в mpg/readers.c Сначала надо создать reader функцией create_reader потом установить читаемый файл вызовом init_reader. head_read читает заголовок фрейма а read_frame - фрейм. test_mp3 и play_mp3 в плеере выполняют всю работу по определению файла и его декодированию
Если хочешь сделать mp3 плеер для sb16 то единственный способ писать на С. Я добавил к mpg123 функции для чтения mpeg потока.
Они все собраны в mpg/readers.c Сначала надо создать reader функцией create_reader потом установить читаемый файл вызовом init_reader. head_read читает заголовок фрейма а read_frame - фрейм. test_mp3 и play_mp3 в плеере выполняют всю работу по определению файла и его декодированию
Serge
Кстати о треске. Теперь я тоже заметил этот эффект на старте воспроизведения (файл не имеет значения). При задании частоты в 44.1КГц эффект пропадает. Такое ощущение, что на самом старте в буфере мусор. При использовании ресемплера ничего подобного не происходит.
Отлично! Теперь можно обновлять буфер в неблокирующем режиме, что даёт определённые плюсы.Добавил вызов SND_GETFREESPACE equ 17
Кстати о треске. Теперь я тоже заметил этот эффект на старте воспроизведения (файл не имеет значения). При задании частоты в 44.1КГц эффект пропадает. Такое ощущение, что на самом старте в буфере мусор. При использовании ресемплера ничего подобного не происходит.
Quantum
Треск очень слабый, как статика на виниле. При ресемплировании он может сглаживаться.
Какой буфер имеется ввиду ?
Треск очень слабый, как статика на виниле. При ресемплировании он может сглаживаться.
Какой буфер имеется ввиду ?
Serge
Возможно, мы говорим о разных вещах. Я заметил, что на протяжении первых 100-200 мсек проигрывания слышна не музыка из трека, а какой-то мусор, т.е. проигрывание как бы спотыкается на самом старте. Потом всё играет нормально (как и должно). Если перезапустить приложение, глюк повторяется. Это всё при 48КГц. Если же включить ресемплер, то этот глюк мистическим образом исчезает, т.е. проигрывание стартует гладко. Никакого треска, накладывающегося на проигрывание в моём случае не слышно.
Чтобы переключить частоту достаточно изменить константу в исходнике (mini.asm):
Попробуй поставить 44100.
И ещё, на всякий случай, предлагаю тебе скачать виндовую версию uFMOD. В папке masm32 есть экзешник по функциональности аналогичный mini. Там тоже 48КГц и никакого треска и подобных артефактов быть не должно.
Возможно, мы говорим о разных вещах. Я заметил, что на протяжении первых 100-200 мсек проигрывания слышна не музыка из трека, а какой-то мусор, т.е. проигрывание как бы спотыкается на самом старте. Потом всё играет нормально (как и должно). Если перезапустить приложение, глюк повторяется. Это всё при 48КГц. Если же включить ресемплер, то этот глюк мистическим образом исчезает, т.е. проигрывание стартует гладко. Никакого треска, накладывающегося на проигрывание в моём случае не слышно.
Чтобы переключить частоту достаточно изменить константу в исходнике (mini.asm):
Code: Select all
UF_FREQ equ 48000 ; Set sampling rate to 48KHz (22050, 44100, 48000)
И ещё, на всякий случай, предлагаю тебе скачать виндовую версию uFMOD. В папке masm32 есть экзешник по функциональности аналогичный mini. Там тоже 48КГц и никакого треска и подобных артефактов быть не должно.
Буфер стрима, который создаётся функцией CreateBuffer.Какой буфер имеется ввиду ?
Serge
Есть проблемы с воспроизведением:
(оба файла с битрейтом 320)
http://www.kolibri.hut1.ru/temp/1.mp3 прерывистое воспроизведение
http://www.kolibri.hut1.ru/temp/2.mp3 замедленное воспроизведение
Есть проблемы с воспроизведением:
(оба файла с битрейтом 320)
http://www.kolibri.hut1.ru/temp/1.mp3 прерывистое воспроизведение
http://www.kolibri.hut1.ru/temp/2.mp3 замедленное воспроизведение
Quantum
Исправил все ошибки с 2_16_48. Теперь mini.beta играет без статики и пульсаций в начале файла.
Исправил все ошибки с 2_16_48. Теперь mini.beta играет без статики и пульсаций в начале файла.
Mario79
Для первого файла надо обновить дрова, а для второго плеер http://infinity-sound.narod.ru/ac97snd
Для первого файла надо обновить дрова, а для второго плеер http://infinity-sound.narod.ru/ac97snd
Залил на SVN новое дерево каталогов для плеера. Если путь к Фасму не прописан в PATH надо отредактировать fasm.rules.
http://infinity-sound.narod.ru/sdk.7z - pe2kos.exe и sound.lib
http://infinity-sound.narod.ru/sdk.7z - pe2kos.exe и sound.lib
Serge
Оперативно.Исправил все ошибки с 2_16_48
Интересно, почему у меня не было статики... Может ICH6 как-то её поглощает? Например, SB Live действительно фильтрует звук перед выводом. Поэтому я перестал тестить движок на этой карточке.Теперь mini.beta играет без статики и пульсаций в начале файла.
Quantum
Скорее это кодек и потом я слушаю через наушники. Был баг с копированием семлов 2_16_48 когда воспроизведение смещалось и ещё менялось чередование каналов. Поэтому было ощущение потрескивания пластинки.
Скорее это кодек и потом я слушаю через наушники. Был баг с копированием семлов 2_16_48 когда воспроизведение смещалось и ещё менялось чередование каналов. Поэтому было ощущение потрескивания пластинки.
Serge
mp3-файлы с CD/DVD воспроизводятся с короткими паузами через каждые ~3-4 секунды
Эта фича-баг излечима? и будет ли лечится?
mp3-файлы с CD/DVD воспроизводятся с короткими паузами через каждые ~3-4 секунды
Эта фича-баг излечима? и будет ли лечится?
Who is online
Users browsing this forum: No registered users and 0 guests