С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
А нельзя ли добавить громкости? Для того чтобы более или менее комфортно слушать музыку приходится выкручивать громкость на максимум. И то бывает не хватает.
Your life is REAL. Change it UNREAL!
Vitamin, Lenovo P2, Android 7, через гарнитуру. Все треки звучат гораздо тише чем при воспроизведении музыки через play музыку и aimp (последний похоже дополнительно увеличивае громкость даже при выключенном эквалайзере). В тишине ещё можно слушать. А в шумном месте (на улице) даже при полной громкости шум перебивает звук.
Your life is REAL. Change it UNREAL!
Sony XA ведро 7.0 ,4190, симптомы теже, на вызов ставил кстати мелодию, та оно вроде как по громкости как музыка обычная через стоковый плеер
Билд 4280
[+] добавлена поддержка формата MPEG Audio Layer (MP1/MP2/MP3)
[+] добавлена поддержка формата Ogg Vorbis audio (OGG)
[+] добавлена поддержка формата Waveform Audio (WAV, только PCM-encoded типы)
[+] добавлена поддержка формата FMOD sound banks (FSB)
[*] zxtune-qt: исправлена пауза перед анализом больших файлов в известном формате
[*] zxtune-android: оптимизировано использование памяти
[+] zxtune-android: добавлены архивы FM Towns, Mobile plaforms, NeoGeo CD and PC в каталог joshw.info
[*] zxtune-android: кешированные файлы будут обновляться в случае изменения на серверной стороне
[*] zxtune-android: исправлен и улучшен поиск внешних хранилищ на современных устройствах
[*] zxtune-android: исправлены некоторые сообщенные и найденные проблемы
Очень тяжелый, прямо-таки вымученный релиз.
Основное нововведение, ради которого все затевалось - поддержка форматов MP3 и OGG, не являющихся чиптюнами или специализированными форматами компьютерной музыки. Все же, огромное количество треков этих форматов в коллекциях joshw сыграло решающую роль.
Блуждая по просторам GitHub, наткнулся на небольшую (буквально, один файл) библиотеку minimp3, предназначенную, как понятно из названия, для декодирования данных в формате .mp3. Поскольку работа с метаинформацией там отсутствовала, таки пришлось написать свой парсер файлов для поддержки всех популярных форматов тегов и индексации файла для быстрого позиционирования (а также борьбы с корявостями самого формата .mp3). С позиционированием как раз возникли проблемы, но автор библиотеки подсказал ЧЯДНТ и все заработало. Несмотря на скромный размер, библиотека поддерживает аппаратное ускорение (SIMD/NEON), но есть проблемы с его детектированием на 32-битных ARM устройствах. Но все работает быстро (быстрее некоторых chiptune форматов, да, проверял на Raspberry Pi).
С поддержкой .ogg было чуть проще - несмотря на тонкости (ogg - это только контейнер, vorbis - это непосредственно кодирование звука), разбор формата и метаданных получился проще. В качестве декодера выступила библиотека stb (точнее, ее часть). Вовремя найденый репозиторий getID3-testfiles с образцами разных форматов файлов и тегов нереально облегчил процесс тестирования.
А вот с каталогами joshw хлебнул проблем по полной...
Зеркала для 12 поддерживаемых до этого момента каталогов занимали в сумме чуть больше 200Гб и довольно вольготно располагались в своем волюме коммунального LVM/thinpool диска сервера:) Зеркало каталогов FM Towns + NeoGeo CD увеличило его на скромные 15Гб и проблем не вызвало. А вот дальше начался трэш и угар. При скачивании каталога для PC то и дело заканчивалось место, что заставляло понемногу, но часто увеличивать размер волюма. Так вот, незаметно, случилось фатальное переполнение- размеры выделенных волюмов суммарно могут превышать физический размер диска, проблемы начинаются при заполнении данными. И они начались (сам дурак, да:))
Пострадавшие соседние волюмы были перезалиты из бекапа, а вот виновника пришлось аккуратно восстанавливать, вычищая битые архивы- не хотелось терять результаты многодневной конвертации. Тут всплывает еще одна очень важная вещь, которая была также сделана помимо простого зеркалирования (да, локальная копия имеет и преимущества, не все же мучаться с ней:)). Как известно, содержимое архивов joshw представляет собой наборы 7zip файлов, сжатых (в большинстве своем) в режиме solid. Для некоторых форматов (например, spc) это серьезно улучшает качество сжатия без заметного замедления работы. В случае же наличия чужеродных файлов (обычно, большого размера и крайне плохо жмущихся- например, те же mp3/ogg), точечный доступ к файлам архива фатально замедляется, что на фоне невозможности даже отслеживать прогресс распаковки (да и вообще понять чем приложение занимается), очень огорчало пользователей.
Для уменьшения страданий была написана тулза, которая пытается соптимизировать архивы: отключить сжатие вообще (если толку от него не особо много), уменьшить максимальный размер блока для solid сжатия до разумных пределов, ну и включить тщательный анализ файлов архиватором на предмет поиска оптимального способа сжатия. Все эти манипуляции даже позволили выиграть несколько гигабайт места:)
Тем не менее, наиболее жирные файлы (>2Гб) пришлось удалить (все равно там нет поддерживаемых треков). И без этих 55Гб размер зеркала превышает 840Гб. Поскольку это достаточно много, образ хранилища был изгнан на NAS, где и живет по сей день:)
Также в процессе разборок с каталогами joshw наткнулся на их сайт индекса. Имеющаяся там аналитика подсказала, что связкой OGG+MP3 отделаться не получится. После беглого анализа вариантов и поиска информации о деталях, наскоро поддержал формат FSB - звуковые банки для движка FMOD. И уже после этого выяснилось, что в этих контнейнерах не так уж и много mp3/ogg потоков (ogg еще и не так просто оттуда выковырять, что и не сделано пока), а вот несжатого аудио - навалом. Поэтому пришлось допиливать еще и поддержку формата WAV. Что и было сделано для подмножества PCM (моно/стерео от 8 до 32 бит, включая float), более сложный подвид ADPCM пока не осилил.
Работу над android версией пришлось вести сразу по двум направлениям: адаптация под требования новых API и доработка функционала, связанного с новыми форматами и каталогами.
Начиная с ноября 2018 года Google Play ввел очередные ограничения на минимальную версию используемого приложениями sdk. Это значит, что новые приложения или их обновления не смогут быть опубликованы без адаптации под новые версии платформы. Так что есть риск, что ваши любимые программы надолго останутся без обновлений, если авторы не адаптировали их новым версиям систем по мере появления оных. К сожалению, помимо новых фишек, новые версии привносят и ограничения, которым надо следовать. Стыдно признать, но 70% крешей в предыдущей версии - последствия такого вот упущенного ограничения:(
Изменения в функционале вылились в добавление каталогов с поддерживаемыми теперь форматами файлов, а также в серьезное улучшение механизма кеширования скачанных файлов. Как было рассказано выше, файлы архивов могут быть изменены для ускорения, поэтому приложение должно уметь определять этот факт и обновлять кеш.
Скачать версию для Android
Скачать версию для win32
Скачать версию для win64
Скачать версию для win32 (MMX/SSE/SSE2)
Скачать версию для win64 (MMX/SSE/SSE2)
Последний раз редактировалось Vitamin; 03.12.2018 в 21:58.
Preamp, как понимаю, добавлен не был. Жаль.
Чтобы была понятна суть проблемы.
ZXTune (Андроид) и AIMP
Последний раз редактировалось transman; 05.12.2018 в 16:18.
Your life is REAL. Change it UNREAL!
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)