Придется отказаться от OPUS (Китайфон и артефакты @ 48kHz)
|
Dave_Scream
|
Дата: Понедельник, 02 Ноября 2015, 21:08 | Сообщение #1
|
Группа: Проверенные
Сообщений: 51
Статус: Оффлайн
|
Сегодня выяснилось, что мой китайфон Jiayu G4 имеет проблемы с воспроизведением 48kHz, точнее с ресемплингом - при воспроизведении спокойных композиций с игрой на пианино слышатся щелчки. Это значит, что OPUS с его нативным 48kHz для моего телефона, к сожалению, отпадает. Всю коллекцию придется перекодировать в другой формат, поддерживающий 44.1 kHz
Думаю переходить на QAAC. Подскажите какие настройки использовать лучше для кодирования? Качество аудио чипа в китайфоне не очень, наушники тоже слабенькие. Обычно я всё кодировал в OPUS@90kbps. Для QAAC ближайший профиль к 90 это VBR Q45 (96kbps) - как считаете нормальная замена будет опусу?
Насторожило немного, что в этой таблице http://wiki.hydrogenaud.io/index.p....nations
Для стерео@44.1kHz советуют AAC-LC от 112kbps - это выше чем 90kbps.
Сообщение отредактировал Dave_Scream - Понедельник, 02 Ноября 2015, 22:48
|
|
|
|
|
Audiophile
|
Дата: Вторник, 03 Ноября 2015, 13:27 | Сообщение #2
|
Группа: Администраторы
Сообщений: 1274
Статус: Оффлайн
|
Dave_Scream, вряд ли ресемплинг может давать щелчки. Да и декодер Opus вообще-то сам должен выполнять преобразование к исходному семплрейту (а таковой обычно 44.1), это только в foobar2000 сделали декодер без авторесемплинга.
Да и к тому же очень многое зависит от плеера - вы чем воспроизводите? |
|
|
|
|
mpuzirew
|
Дата: Вторник, 03 Ноября 2015, 15:47 | Сообщение #3
|
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
|
В слышимые щелчки именно из-за ресемплинга верится слабо, хотя всякое бывает. Не пробовали использовать другой плеер? В Neutron вроде самый качественный встроенный ресемплер (опция передискретизации имеет два режима: Качество и Аудиофилия), если на то пошло. http://audiophilesoft.ru/publ....1-0-348
Если смена плеера ничего не даст, тогда уже можно подумать о переходе на другой формат.
Цитата Dave_Scream ()
Насторожило немного, что в этой таблице
Эта таблица взята из документации к кодеру FDK AAC, и для него она и предназначена. FDK по умолчанию на низких битрейтах очень уж радикально режет высокие частоты (начиная аж с 13-14 кГц), поэтому не мудрено, что для него режим HE-AAC (с искусственным синтезом высоких) может оказаться предпочтительнее даже на битрейтах чуть выше 100. QAAC VBR Q45 передает высокие вплоть до ~16 kHz, что для портатива уже вполне приемлемо, поскольку более высокие частоты оказывают влияние скорее на окраску звука, чем на его субъективную "звонкость". Звук, конечно, несколько упрощается, но "количественно" верхи на слух не страдают, тональный баланс не нарушается. В конце концов, OPUS ведь на низких битрейтах тоже не звучит неотличимо от оригинала, хотя и передает более полный спектр частот. Чудес не бывает, в чем-то звук все равно деградирует. Не в спектрограмме счастье, как известно.
Цитата Dave_Scream ( )
как считаете нормальная замена будет опусу?
ИМХО, почему нет. Я предпочитаю битрейты заметно выше, но для портатива с плохонькими наушниками QAAC VBR ~96 вполне вариант. О полной неотличимости от оригинала речь, понятное дело, не идет, но звук уже достаточно приличный и комфортный, сжатие обходится без разрушительных последствий. Тут самому надо решать, на слух. Хотите перестраховаться - кодируйте с чуть большим запасом по качеству, QAAC -V 64 (~128 kbps), например.
Сообщение отредактировал mpuzirew - Вторник, 03 Ноября 2015, 16:30
|
|
|
|
|
Dave_Scream
|
Дата: Вторник, 03 Ноября 2015, 19:06 | Сообщение #4
|
Группа: Проверенные
Сообщений: 51
Статус: Оффлайн
|
Цитата Audiophile ()
Dave_Scream, вряд ли ресемплинг может давать щелчки. Да и декодер Opus вообще-то сам должен выполнять преобразование к исходному семплрейту (а таковой обычно 44.1), это только в foobar2000 сделали декодер без авторесемплинга.
Да и к тому же очень многое зависит от плеера - вы чем воспроизводите?
Я использую GoneMAD Music Player - достаточно навороченный.
Для примера я сделал запись с выхода телефона на линейный вход портативного рекордера Sony PCM-M10 http://rghost.ru/6RNvyHFTF
В записи слышно последовательные щелчки - т.т.т.т. - это и есть проблема.
Цитата mpuzirew ( )
В слышимые щелчки именно из-за ресемплинга верится слабо, хотя всякое бывает. Не пробовали использовать другой плеер? В Neutron вроде самый качественный встроенный ресемплер (опция передискретизации имеет два режима: Качество и Аудиофилия), если на то пошло.
К выводу, что виноват ресемплинг я пришел не сразу. Сначала сконвертировал OPUS в mp3 это не помогло, щелчки оставались. Затем я попробовал прослушать именно этот трек через плеер vkontakte - там щелчков уже не было. Спустя какое-то время меня осенило - я решил посмотреть частоту дискретизации mp3хи, полученной из OPUSа, на которой были щелчки - оказалось мп3ха была 48kHz. Конвертнув её SOXом до 44.1 и запустив в своём GoneMAD Music Player - всё было чётко никаких щелчков. QAAC @[email protected] тоже играет без щелчков. Тут явно виноват ресемплер устройства.
Audiophile,
Я помню что кодек OPUS на выходе должен ресемплить аудио в исходный семплрейт, и что в фубаре это отключено для большей гибкости. Но считаю что это так же могло быть отключено в библиотеках мобильных-плееров, чтобы снизить расход батареи на ресемплинге в исходную частоту, ведь ресемплинг в реальном времени это не дешевый с точки зрения вычислительных мощностей процесс, а в портативной технике вычислительная мощность ограничена батареей и на вес золота.
Так что я думаю, что OPUS моем плеере GMMP не ресемплируется обратно в 44.1, а играет на нативных 48, и эти 48kHz моё устройство не умеет играть без артифактов. На 4pda владельцы других девайсов сказали, что у них без щелчков воспроизводится, а у меня 48kHz щелчки полюбому, хоть какой кодек выбери.
И что ещё печально - даже если я пойду по сценарию mpuzirew и найду способ ресемплить 48 в 44.1 (посоветовал Neutron плеер) - то я получается буду тратить лишнюю вычислительную мощность и считай батарею на ресемплинг, Получается на портативных устройствах, которые артефачат при проигрывании 48kHz, OPUS отпадает, т.к. придется тратить немалые мощности для ресемплинга в 44.1, это печально.
Сообщение отредактировал Dave_Scream - Вторник, 03 Ноября 2015, 19:37
|
|
|
|
|
RetainedProfit
|
Дата: Вторник, 03 Ноября 2015, 23:43 | Сообщение #5
|
Группа: Проверенные
Сообщений: 4
Статус: Оффлайн
|
Цитата Dave_Scream ()
И что ещё печально - даже если я пойду по сценарию mpuzirew и найду способ ресемплить 48 в 44.1 (посоветовал Neutron плеер) - то я получается буду тратить лишнюю вычислительную мощность и считай батарею на ресемплинг, Получается на портативных устройствах, которые артефачат при проигрывании 48kHz, OPUS отпадает, т.к. придется тратить немалые мощности для ресемплинга в 44.1, это печально.
Да, все так. Я как увидел, что Opus работает только в принудительное ресемплирование, сразу понял, что это выйдет боком. Может где-то в узко-специализированных задачах это и нормально, но для обычных пользователей добавление лишней неотключаемой операции в кодирование/декодирование - это зло в чистом виде. Можно сказать - Opus сам себе могилу роет.
PS: сам слушаю на смартфоне QAAC TVBR 127 (~320kbps), экономить на битрейте не вижу особого смысла, т.к. места хватает. Хотя субъективно мне TVBR в ~256kbps уже достаточно.
|
|
|
|
|
Dave_Scream
|
Дата: Среда, 04 Ноября 2015, 00:52 | Сообщение #6
|
Группа: Проверенные
Сообщений: 51
Статус: Оффлайн
|
Цитата RetainedProfit ()
Можно сказать - Opus сам себе могилу роет.
Врятли ресемплирование это прям могила для OPUS.
Ведь на десктопах это вообще не проблема, а на портативных устройствах обратный ресемплинг можно отключить как в фубаре (GoneMAD Music Player на Android так и делает) - главное, чтобы устройство нормально умело воспроизводить 48kHz. А я думаю, что большинство устройств воспроизводят 48kHz без проблем (судя по отзывам на мою проблему на 4pda)
Это только у китайцев как всегда со всем косяки))))) Просто мне не повезло с китайфоном, который щелкает на 48kHz, а так OPUS крут.
Сообщение отредактировал Dave_Scream - Среда, 04 Ноября 2015, 00:53
|
|
|
|
|
mpuzirew
|
Дата: Среда, 04 Ноября 2015, 02:47 | Сообщение #7
|
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
|
Цитата Dave_Scream ()
Просто мне не повезло с китайфоном, который щелкает на 48kHz, а так OPUS крут.
Вы все-таки попробуйте другой плеер, не обязательно Neutron, любой другой плеер, какой-нибудь простой и бесплатный, но всеядный, с поддержкой OPUS, вроде ArmAmp - хотя бы для очистки совести. Никакого встроенного аудиофильского ресемплера в таком проигрывателе определенно нет, но это и к лучшему - если щелчки останутся, это только подтвердит наличие проблем с ресемплингом на уровне системы, а если вдруг щелчки уйдут, что ж, выходит, ваш китайфон по какой-то причине не смог подружиться с GoneMad - чем не шутит черт, хоть я и материалист, но с китайфонами чего только не бывает
|
|
|
|
|
Dave_Scream
|
Дата: Среда, 04 Ноября 2015, 13:40 | Сообщение #8
|
Группа: Проверенные
Сообщений: 51
Статус: Оффлайн
|
mpuzirew, ArmAmp щелкает. Но я установил Neutron - вот это он навороченный! Интерфейс не понравился, но кое-что зацепило и теперь я в сметении.
Во-первых, OPUS перестал щёлкать.
Во-вторых, ресемплер там включен по умолчанию и его даже отключить нельзя. В разделе "Аудио оборудование" - плеер обнаружил, что на моем устройстве поддерживается только 44100 и всё ресемплит в этот формат, единственное что можно поменять это качество ресемплирования (обычное или аудиофил).
В-третьих, этот плеер поддерживает набор инструкций ARM-процессора "NEON", которые предназначены как раз для более эффективной работы с media (видео, аудио). У меня процессор поддерживает neon и спец.версия плеера под эти инструкции у меня заработала и режим NEON активирован. Я поотключал все лишние навороты типо Дизеринга, эквалайзера итд и посмотрел сколько используется процессора при воспроизведении OPUS - всего 2-4 процента. Затем запустил мой GoneMAD Music Player - он использует тоже 2-5 %.
Так же не совсем ясно какой аудио-драйвер использовать. Системный AudioTrack JNI или же OpenSL ES - и в чём их различия.
У меня возник закономерный вопрос: ресемплинг не лёгкая процедура. За счет чего Neutron делает ресемплинг в реальном времени, а потребление процессора не вырастает? и щелчки прекратились, значит ресемплинг действительно делается. За счет инструкций NEON нагрузка не вырастает или не понятно за счет чего??
По гибкости настроек аппаратных возможностей плеер очень продвинут, но мне очень не нравится интерфейс Нейтрона - я привык использовать файловую систему для блуждания по коллекции, а в нейтроне как-то не удобно всё это сделано, или не привычно.
---
UPD. по поводу драйвера OpenSL ES против AUDIO track кое-что прояснил:
Сообщение отредактировал Dave_Scream - Среда, 04 Ноября 2015, 13:54
|
|
|
|
|
mpuzirew
|
Дата: Среда, 04 Ноября 2015, 14:56 | Сообщение #9
|
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
|
Цитата Dave_Scream ()
ресемплинг не лёгкая процедура. За счет чего Neutron делает ресемплинг в реальном времени, а потребление процессора не вырастает? и щелчки прекратились, значит ресемплинг действительно делается. За счет инструкций NEON нагрузка не вырастает или не понятно за счет чего??
Может быть, и за счет Neon, сложно сказать, хотя, судя по описанию технологии в Wiki, похоже на правду. А вообще, ресемплинг в обычном (не аудиофильском) режиме совсем немного ресурсов ест - вряд ли больше, чем системный (ну, надо полагать, кроме случаев, когда системный = аппаратный в самом аудиочипе). Возможно, сказывается общая хорошая оптимизация программы. Не секрет ведь, что мало ресурсов ест не та программа, которая маленькая, а та, которая хорошо написана.
Цитата Dave_Scream ( )
По гибкости настроек аппаратных возможностей плеер очень продвинут, но мне очень не нравится интерфейс Нейтрона - я привык использовать файловую систему для блуждания по коллекции, а в нейтроне как-то не удобно всё это сделано, или не привычно.
Интерфейс у него и правда здорово перегружен, это все признают, и многих это отпугивает, но я считаю, что это дело привычки. Мой опыт работы с компьютерными программами и устройствами говорит, что за пару недель активного использования привыкнуть можно к чему угодно. А навигация по папкам там тоже присутствует, хотя и реализована не самым очевидным образом http://i.imgur.com/S0iPoC7.png http://www.head-fi.org/t/566664/android-neutron-music-player/135
Сообщение отредактировал mpuzirew - Среда, 04 Ноября 2015, 16:39
|
|
|
|