16.04.2024, 09:40: Осколки проектів...

Оновлено: 21:50, 16.04.2024

бувай

Хто помітив, той помітив. Я теж сьогодні звернув увагу, оновлюючи лижний бло, що, нарешті, «мої», усі без виключення, домени pp.ua злетіли зі своїх NSсестів в ультрамаринову космічну далечину. Гудбай, skisport, cycling, avolab, sumo та менш відомі загалу корисні куточки. Це були хороші, там, 12—13.. десь.. років приблизно. Уф.

Що я повинен сказати?

Не маю жодної уяви.

Настільки багато всього змінилося за... минулі роки, що це, ось це , мене вже точно не колише.

P. S. В принципі, проста самописка має свої переваги, наряду із недоліками, наприклад, не треба паритися з приводу — куди подіти хоча б це.

Для архіву бло в запасі є avolab.eu.org. Бачте, хто б думав, що ці домени стануть у нагоді. Знову таки, варіант як варіант. Коли вгранчакуються dns, поступово, гмхм, знову, перенесу матеріальчики туди...

Чим оці *.eu.org хороші, тим, що їх не треба продовжувати. Ти зареєстрував домен один раз — і усе. Допоки діє цей, безкоштовний (гуманітарний, я б сказав) сервіс, а йому вже багацько років, 28, ці домени працюють під твоїм контролем (прописуються свої ns та й годі, я не заходив в адмінку років з 8 до сього часу). Тобі не треба кожного року проходити складну (крізь стороннього реєстратора, через смс, телеграм) процедуру оновлення, яку ще можна і не пройти, бо щось, після 10 років успішної пролонгації, раптом не сподобається адміну. Як було з кількома моїми pp.ua у 20 році, наприклад.

Безкоштовний сервіс повинен бути простим і зручним, інакше — нащо він існує? Якщо ставиться мета допомоги людям у певній скруті, це благородно — і викликає повагу та подяку. Якщо ставиться мета кидати маленькі понти (чи ..величкі оборудки?), те вже інша справа, до якої можна й багато питань поставити.. Подібне було з org.ua, коли ці домени були безплатними. Це була лотерея: чи вдасться зареєструвати домен, чи вдасться його продовжити на наступний рік??? Тому, я тоді за гроші зареєстрував avo.org.ua, що давало і дає певну гарантію, якщо се в принципі можливо в цьому найкращому із світів. Нерідко, відповідь саме настільки проста: заплати гроші за сервіс та спи спокійніше.. Це не панацея, але воно збільшує шанси — не колупатися кожного разу в своєму стафові після ось таких відклячувань. Навіть, якщо це витрати, які не будуть компенсовані, бо проект працює для душі й від душі. Гхе. Саме для неї і не треба жлобитися.

04.04.2024, 04:54: Helix—2024 (та жменька SoX)

Оновлено: 19:06, 17.04.2024

спектр V95

Деякі колеги в офлайні цікавились, і я пообіцяв написати пару нових слів на тему, яку я злегка чіпав певний час тому. Mp3, цей, гм, форева.

Ну, що: ентузіасти на гідрогені продовжують відчищати цей кодек від різноманітних часових нашарувань, у вигляді опалих шишок та голок. Це дуже добре, і роботу проведено вельми корисну для міжнародного товариства, котре досі захоплюється кодуванням музики в mp3. В принципі, враховуючи, у який спосіб більшість користувачів слухає музику (у навушниках-затичках з телефону) будь-який лоссі-кодек годиться, й різницю між ними почути все ще дуже складно, якщо взагалі можливо. І питання стає у швидкості отримання музики. Тобто, якщо вам треба перегнати тисячі композицій із трепетно збереженої колекції flac в більш зручний та демократичний формат за мінімальний час, Helix, скоріше за все — найкращий вибір.

2024.04.14, 18:10 Мій нехитрий (зате протестований на ламповому Hi-Res із SoXом; ця древня зараза левітує як Зекс...) hmp3.exe компіль v.5.2.3 !x64! Поки возився, Рареварець уже закомпілив сю свіженьку, ще ретельніше віднаждачену версію. Енівей...

2024.04.17, 19:00 Виявилося, що швидкість роботи енкодера залежить від =вдалості= компіляції. Моя (GCC 13.2.0 x64) конвертить відсотків на 15 швидше за версію шановного пана Рареварця, і лише трішки повільніше за версію шановного пана Case (що приймає активну участь у доведенні до потрібної кондиції Helix). Сей факт мене порадував, бо віднині я, мабуть, буду компілювати самостійно й не чекати, коли шановне панство зробить ласку товариству.

Простіше всього свіжу версію (учора [3.IV] версія стрімко доросла до v5.2.2) брати на rarewares.org:

Helix mp3 encoder v5.2.3

2024-04-14

Helix mp3 encoder modified by 'maikmerten' to include a 'lametag' to provide sample accurate encoding/decoding for VBR and CBR, plus a bug fix to the original code. Info tag cleanup, correct bitrate index computation for stereo files. CRC data added.
Further modifications by Case:
* Made encoder reject input tracks with zero samples.
* Added support for printing unicode filenames to the console.
* Fixed gapless data saving, the encoder tried to store too long numbers in
padding info fields and the numbers got truncated as the storage space is only
12 bits long.
* Fixed internal resampling to produce output with correct lengths.
* Fixed encoding WAV files with huge headers.
* Fixed writing empty track when input had unsupported sample rate.
* Added more detailed error message for input file rejection if the audio specs weren't supported.
Plus further updates/fixes by Case: Wave64 support, RF64 support, fix 32-bit overflows
- fix wraparound of 32-bit variables on long inputs
- new parameter "-il" to ignore the source length, automatically enabled for pipe input
- Wave64 support
- RF64 support
A point release consolidating all the updates/bug fixes detailed above.
Source code is available at: https://github.com/maikmerten/hmp3
VS2015 'masm' x32-XP compile should be XP compatible. x32-P4 GCC compile is P4 optimised. A generic GCC x64 compile and a GCC x64-AVX2 compile optimised for AVX2 compatible CPUs.
Source code is available at: https://github.com/maikmerten/hmp3

helix foobar 2000

Налаштування, наприклад, для конвертера foobar2000 стали ще більш простими. Можна використовувати вхідні з глибиною квантування у ‹32-bit float› та не використовувати проміжний файл. Все нормально працює (за виключенням того, що новітні 5.2.2 x64 версії мають якийсь глюк, бо не запрацювали в мене, на відміну від попередньої компіляції того ж автора з сирців того ж гітхаба. ..5.2.2. x32-P4 — в нормі. Ну, як завжди кажуть: хочеш зробити добре, компілюй самотужки).

Для максимально досяжної якості, яка приблизно еквівалентна Lame 'V0': -S - %d -V150 -HF2.

Варіант на скріншоті -S - %d -V95 -HF2 -F18500 дає на виході приблизно 170—190 kbps та зрізає «верхні» частоти на рівні 18,5 kHz, чого достатньо для «прозорого» сприйняття музики більшістю вух+мозків нашої планети.

Гратися можна з параметрами V від 0 до 150. -S - %d — це внутрішня кухня foobar2000: не писати у консоль (--silent), - «на лету» (‹pipes›), %d — вихідний файл, як зазначено.

-HF2 включає кодування більш повного спектру частот; за замовчуванням Helix кодує до 16 kHz.

Ах. На тему, що може почути людина з вухами із дорогоцінних металів та діамантів, існують трильярди срачів по всьому інтернету. Кожному своє. На початку 2000-х розробники Helix вважали, що «якості» ~128 кілобіт на секунду при 16 кілогерцах цілком досить. [Може, хто не знає, але Ютуб ріже усі доріжки в форматі aac на рівні 16 кГц, без виключення. 128 kbps у кодека aac — дещо інша справа, ніж у mp3, проте, щось більше за цей (середній, vbr) бітрейт ви з YouTube також не отримаєте, єжелі чіво].

Якщо ви у консолі наберете hmp3.exe input.wav output.mp3 — те й отримаєте. Vbr 128.

І гріх сміх у тому, що навіть цього, за умов якісного «вхідного» матеріалу, дійсно може вистачити. Й усі жахливі міфи, які склалися у колективному несвідомому з приводу 'mp3 128' — базуються на тому, що на рубежі тисячоліть його отримували апконвертом чи багатократною перегонкою, по схемі: 96-160 квазі-СD 128 суперквазі-CD 320 128... Це наближений еквівалент переписування з касети на касету десятки разів. Хто пам'ятає.. Зате мені досі трапляються «фірмові» CD постсовкового виробництва, банальна перевірка частотних спектрів яких видає ℜ їхнього пращура — мp3 — із головою.

Якщо ви дружите із Тоталом, можу запропонувати вам кнопку швидкої масової перегонки тирси у первак flac в mp3, проблема тільки в тому, що теги не переносяться. Одначе, дехто вважає це плюсом: гола музика, без проблем із софт- та хардварною сумісністю..

Помаранчевим виділено шляхи до потрібних файлів, яки ви, звичайно, повинні замінити на свої.

TOTALCMD#BAR#DATA
%ComSpec% /q/c for /f "usebackq delims= eol=" %f in
(`type "%WL"`) do if /i ".flac"=="%%~xf" "c:\flac.exe" -cds "%%f"|"c:\hmp3.exe" -HF2 -V150 - "%P%%~nf.mp3"
%COMMANDER_PATH%\icons.dll,123
FLAC ->> MP3 [V150 Helix]

1
-1

Якщо «розрядність» вхідного матеріалу понижувати нема нагальної потреби, частоти ж, вищі за стандартні для mp3 48 kHz, все ще необхідно попередньо зрізати. Інакше Helix просто видасть код помилки й припинить роботу. Для чого все той же SoX годиться все так же добре. Консольну версію можна гарантовано отримати на все тому ж rarewares.

TOTALCMD#BAR#DATA
%ComSpec% /q/c for /f "usebackq delims= eol=" %f in
(`type "%WL"`) do "c:\sox.exe" "%%f" -V -b 16 "%%~dpnf-1644_TPDF.flac" rate -v 44100 dither
%COMMANDER_PATH%\icons.dll,321
FLAC HR ->> FLAC 16-44 [SoX]

1
-1

На виході отримаємо файл(и) з глибиною квантування 16 біт та частотою дискретизації в 44100 Гц. З яких можна зліпити й кустарний Audio-CD. Але, це дуже окрема історія. Якщо є бажання застосувати noise shaping типу ‹shibata›, рядок параметрів буде виглядати так: (`type "%WL"`) do "i:\ECODE\SOX\sox.exe" "%%f" -V -b 16 "%%~dpnf-1644_shibata.flac" rate -v 44100 dither -f shibata

Суперечки з приводу — чи треба/не треба застосовувати дітерінг + нойз шейпинг — нескінченні. Я, після дуже тривалого вивчення питання, для себе вибрав позицію «better safe than sorry». Мінімум, це «звичайний» TPDF (Triangular Probability Density Function). Для додаткового нойз шейпинга -f ... SoX пропонує lipshitz, f-weighted, modified-e-weighted, improved-e-weighted, gesemann, shibata, low-shibata, high-shibata. Найкраща порада — експериментувати й слухати своїми вухами.

Візуальну різницю, при бажанні, можна побачити на спектрах: TPDF, shibata та low-shibata, ну й ще improved-e-weighted. Без дітера взагалі. + 24 bit — 44.1 kHz та оригінал — 24/96. Helix -V150 -HF2, 234 kbps, отриманий з 24-44.. Однак, очима музику не слухають...

Для довідки: «вбудований» dither у foobar2000 використовує саме алгоритм Наокі Шібата.

Так, так. Так! Все це каламуть для новачка. Однак, я рекомендую вам, якщо ви справді хочете самі готувати собі музику, так, як подобається саме Вам, а не чувакові з трекеру, який досі сидить на Blade чи запорює екземпляри, навіть у 320 kbps, чудернацькими «аудіофільськими» налаштуваннями... Я рекомендую вам узяти foobar2000 та почати його вивчати. Це прекрасна штука не тільки для наочного, контрольованого, проте автоматизованого конвертування, але, в першу чергу — відмінного прослуховування музики.

19:20 P. S. Звичайно! SoX, як і будь-який консольний інструмент (виключення мені поки не траплялися, іноді просто, якщо щось не працює, ретельніше треба перевіряти команди, ключі, шляхи тощо) можна підключити до foobar2000, якщо не вистачає (немає довіри до однойменного плагіну). Мабуть, треба буде написати окремо.

P. P. S. Як отримати «найчистіший» (хе..) 24/44? Аааа... (`type "%WL"`) do "sox.exe" "%%f" -V -D "%%~dpnf-2444-D-s.flac" rate -s 44100
-D — вимикає автоматичний дітерінг (--no-dither); rate -s - зменшує т.з. 'transition band-width' зі стандартних 5% до 1%. Тобто 99% частотної широти буде збережено. 21830 приблизно Гц. Що воно дасть? Я не знаю. Спакойствіє?**

Можна зробити прекрасну перевірку, ви можете узяти і обрізати нижні частоти, й залишити тільки щось вище 16, 17, 18, 19 кГц тощо. (`type "%WL"`) do "sox.exe" "%%f" -V -D "%%~dpnf-19.flac" sinc 19k-0k. Й спробувати почути, що ви почуєте на реальній композиції, стандартному вашому обладнанні, в стандартних умовах, вухами вашими персональними, відповідного віку та спроможностей... Як вам таке?

Я закликаю в будь-якому випадку не сильно парити собі моск. Людина, в принципові, дуже обмежено сприймає цей Всесвіт. І це дуже добре. Якщо б ми бачили й чули усе, ми б не мали жодної миті тиші, жодної миті темряви, які так нам потрібні у нашому, й без того заклопотаному житті. Я пропоную насолоджуватися музикою, в найзручніший (чи в найдоступніший) спосіб. Бо можна у прискіпливих пошуках дрібних чисел утратити те, що ними не вимірюється.

2024.04.11, 05:27 **Уф. Ресемплер, який претендує на якість, завжди щось зрізає та «вирівнює». Але, якщо ніхто, все одно, нічого не чує, навіщо? Для естетики більш високого кшталту, мабуть. Ніж людина може собі уявити та дозволити сприймати. Але я все ж таки поцікавився питанням (бо попередня відповідь не була задовільною, навіть для мене, власне), як можна просто і рівно зрізати зайві частоти. Днями вийшов FFmpeg 7.0 'Dijkstra', і ця універсальна бандура вміє багато чого. В тому числі й ігнорувати «здоровий глузд», що інші програмні продукти роблять нєохотно. Якщо ми зберігаємо вхідну бітність (24), то в цьому є сенс. Якщо ми ріжемо до 16/44, на спектрах з'являється помітний оку «шум квантування».

TOTALCMD#BAR#DATA
%ComSpec% /c for /f "delims=\" %f in
('type %WF') do "j:\1NP\ffmpeg7\ffmpeg.exe" -i "%%f" -ar 44100 "%%~dpnf_2444ff.flac"
%COMMANDER_PATH%\ICONS\MGO.dll,511
>>> rs 24/44 [FFMPEG7]

1
-1

Чим =хорош= ffmpeg — він вміє працювати з метаданими, тегами наприклад. Але ми дуже наполегливо відходимо від титульної теми про надшвидкий Helix. Зате, якщо діло у швидкості, у ffmpeg вбудовано бібліотеку lame. І можна використовувати щось, типу -codec:a libmp3lame -q:a 5 -compression_level 7 — й отримати дуже швидко дуже багато маленьких емпетришок.

20.11.2023, 18:08: Past Tense

Напівтестовий пост, ну.. щоб вже пригадати та зробити усі стилі, які можуть знадобитися (відео, наприклад, ось, ..гумова вбудовка). Й, заодно, відмітити інтересний канал «Past Tense», який я нещодавно віднайшов у клоаці ютупу. Давня, давня тема, яка мене цікавить — звуки природи й таке інше для заспокоєння нервової системи, медитації, релаксації, сприятливого засинання й решти веллбеінгів... Дуже корисний жанр. Особливо у наш час жорстких випробувань. Підтримувати себе будь-якими способами у здоровому психічному балансі дуже важливо. Цей канал просто кладень прекрасних мирних звуків та супутніх пейзажів.

Взагалі, мене завжди дивували (між)народні примхи щодо... Мільйони користувачів валом підписуються на усілякі єрундії, а щось дійсно цінне, справжнє, цікаве — ледве набирає пару десятків тисяч за трильйон років. [І добро — що ще так.] Ну, то таке..

Спокійно, друже, спокійно. В нас ще все попереду.

Минуле нехай лишається у минулому. Назавжди.

19.11.2023, 18:08: Lorem ipsum dolor sit amet

Оновлено: 18:27, 19.11.2023

Я не люблю, коли щось не працює, тому певне дискомфортне відчуття від моїх пропалих блогів якось мимоволі перетворилось на потуги щось виправити. Точніше, хоча б навести будівельні ліси та навісити, хе, драпіровку з абстрактним зовнішнім виглядом колишнього архітектурного шедевру...

Хостинг, на якому десь 8—9 років обитали два мої провідні — за часів оних — проекти, зробив гарну річ і погану одночасно. Php було оновлено до версії 8.3, для всіх клієнтів, з миттєвим унеможливленням переключитись на попередні версії. В адмінці ця фіча була перенесена в розряд додаткових — за $. І це зламало мої блоги, в яких було зібрано чимало старих кастомних скриптів, а сама шкура(и) мною не оновлювалася з 1917 року. Все це просто відвалилося в безодню новітніх здобутків людства.

Чесно, не на часі зараз щось переробляти, зокрема зважаючи на те, що воно не окупиться, а роботи, особливо кропіткої — з виявлення усіляких застарілих дрібниць та дурничок, а також помилок і розгрєбайства та решти костиликів — вагони. Бо воно зліплювалася — аби тєлєпалось. Для мене завжди головним був контент, іноді фронтенд, але не бекенд.

Тому, для початку, я зробив два ходи лошадью. 1) Переніс движкову частину на інший (більш обмежений «об'ємно») хостинг, пожертвувавши певною кількістю картинок, та використавши старий добрий домен avolab.pp.ua. Який, наразі, як і решта моїх pp.ua, працює на заморожених ns-записах. Станом на березень 2022 року.. Керувати цим я не можу. Але — маємо. Як тимчасове рішення... .. Му-гу, тимчасове роздвоєння мого зимового блогу триває вже дев'ятий рік. Гм..

2) Я подумав, що мати можливість [раптом] щось написати в пристойному оформленні — це непогано, може, навіть, корисно. І, ґрунтуючись на попередній заглушці та деяких наробітках лижнаго html-блогу, я зібрав більш пристойний варіант для ведення записок. Що ви й спостерігаєте зараз тут.. Ось. А далі [можливо] возпослідує перенесення матеріалів і домена до ho.ua — де прекрасно себе почуває skisport, з 2018 року... Це взагалі-то був перший нормальний хостинг, на якому лежав, іноді почісуючись, ще мій тодішній мєгасайт avocreative.org — з 2006 року й до холодного та похмурого упора весни 2015-го... Та — грець, це вже мемуаристичний вінтаж. Все кануло давно й взаправду.

З =велосипедним блогом= дещо складніше, бо я не можу, як зазначив вище, змінювати налаштування домену, а зайвих гідних зручних варіантів особливо немає. Я спробував перевести його на wordpress 6.4.2 — що, природно, працює з новими версіями php. Але це виявилось марним. Бо wp від v.5 до поточної — несумісний із моїм стилем бложно-письменницької роботи, а важливі скрипти, звичайно, не запрацювали. 4.9 — останній прихисток ретрограда. Ретрограда, який бажає контролювати все, що робиться, а не поневірятись у сучасних трендах, де все менше і менше натурального інтелекту. Хє.

Може потім щось додам. Підкреслюю, що всі ці поползновєнія не означають мого повернення до регулярного побутописьменництва...

До речі.. 3-го грудня починається Адвент. Тому я підправив лічильник на загл.-сторінці. Бажаю нам всім миру і злагоди.

Нижче тут, там — тестові штуковини, які я потім приберу. Окей зен. Дякую за увагу. Слава Україні!