SunVox 2.0e с официального сайта
Среда: Debian Linux 11 Stable
Драйвер: ALSA, 32bit floating-point, 96000Гц
При загрузке нового инструмента (Область модулей - Новый - Загрузить), если попытаться проиграть пару нот на каком-нибудь *.sunsynth - файле, чтобы понять как инструмент звучит, SunVox перестает корректно воспроизводить звук. Файлы *.sunsynth берутся из стандартного набора, который идет в комплекте с программой.
Пробные ноты начинают пердеть, шуметь, звучат как шум. Если даже ничего не выбрать и вернуться в редактор, то проигрывание песни тоже превращается в какое-то бульканье и пердеж. Кроме того, меняется (ускоряется) темп всей композиции, которая теперь на музыку не похожа. Ускорение происходит в несколько раз, как минимум в два-четыре раза.
Двойное нажатие на кнопку Стоп не помогает.
Приходится выходить из SunVox и заново его запускать. Это происходит постоянно, очень трудно редактировать даже короткое призведение.
UPD: Возвращение к нормальному воспроизведению звуков может происходить спустя какое-то время, не выходя из SunVox. То есть, не трогаешь SunVox пару минут, после чего он нормально начинает играть. А так же возврат к нормальному воспроизведению возможен даже в процессе проигрывания. То есть, слушаешь ускоренный ритмичный пердеж, композиция или трек по-кругу проигрывается несколько раз, и в какой-то момент бамс - и начинается нормальное воспроизведение. С одной стороны хорошо что само восстанавливается, но пользоваться трекером с такими глюками практически невозможно.
UPD2: Еще заметил, что при клике на файл Keres OrangeKit.sunsynth происходит самопроизвольное проигрывание короткого звука. И у файла Keres Slaybells.sunsynth тоже при клике слышен тихий повторяющийся звук похожий на шум ветра. У других файлов в том же каталоге такого поведения не наблюдается.
Загрузка *.sunsynth файла приводит к "пердежу" вместо звуков
- NightRadio
- Site Admin
- Posts: 3954
- Joined: Fri Jan 23, 2004 12:28 am
- Location: Ekaterinburg. Russia
- Contact:
Re: Загрузка *.sunsynth файла приводит к "пердежу" вместо звуков
Это глюк PulseAudio, который в рандомные моменты перестает корректно эмулировать ALSA. Сталкиваюсь с аналогичной проблемой - где-то чаще, где-то реже. Зависит от системы и компа. Даже Audacity иногда сваливается в такой же шум.проигрывание песни тоже превращается в какое-то бульканье и пердеж.
Ниже перечислю решения, которые я нашел.
1. /etc/pulse/daemon.conf : уменьшить default-fragment-size-msec - вроде бы, иногда помогает.
2. Если есть возможность, можно уменьшить частоту (96000 -> 44100) и/или увеличить размер буфера.
3. Можно запустить SunVox командой: pasuspender -- ./sunvox . Это даст эксклюзивный доступ SunVox к звуковой карте через ALSA, все остальные звуковые приложения скорее всего замолчат до тех пор, пока SunVox не закроется. Предварительно в настройках звука SunVox нужно явно указать выходное устройство (вместо АВТО по умолчанию). Недостаток такого способа - если записывать видео с экрана, то звука не будет.
4. Можно перейти на драйвер JACK, предварительно запустив JACK-сервер через qjackctl
Теоретически, ситуацию должен изменить PipeWire, но с ним мне еще не довелось поработать...
Есть такое дело, но это надо спросить автора, почему его синты так работают :)UPD2: Еще заметил, что при клике на файл Keres OrangeKit.sunsynth происходит самопроизвольное проигрывание короткого звука. И у файла Keres Slaybells.sunsynth тоже при клике слышен тихий повторяющийся звук похожий на шум ветра.
Re: Загрузка *.sunsynth файла приводит к "пердежу" вместо звуков
Получается, что SunVox не использует системный таймер для синхронизации скорости проигрывания композиции? А для таймингов полностью полагается на звуковую подсистему? Ведь если бы использовался таймер компьютера, скорость музыки бы не менялась. Ноты звучали бы криво, а скорость проигрывания была бы правильной. Если этого не происходит, если музыка звучит в несколько раз быстрее, то даже для временных задержек используется информация звуковой подсистемы. Я правильно понимаю?
- NightRadio
- Site Admin
- Posts: 3954
- Joined: Fri Jan 23, 2004 12:28 am
- Location: Ekaterinburg. Russia
- Contact:
Re: Загрузка *.sunsynth файла приводит к "пердежу" вместо звуков
Да, все верно. Такая синхронизация и не нужна, т.к. звуковая подсистема - это идеальный таймер.Получается, что SunVox не использует системный таймер для синхронизации скорости проигрывания композиции?
То, что происходит с ALSA и PulseAudio - это просто серьезный баг звуковой системы, идет потеря пакетов данных. Тут никакой таймер не поможет.