{"id":1609,"date":"2025-11-14T21:32:41","date_gmt":"2025-11-14T21:32:41","guid":{"rendered":"https:\/\/radzishevsky.com\/blog\/?page_id=1609"},"modified":"2025-11-14T21:32:41","modified_gmt":"2025-11-14T21:32:41","slug":"aulyzer","status":"publish","type":"page","link":"https:\/\/radzishevsky.com\/blog\/aulyzer\/","title":{"rendered":"Aulyzer"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" id=\"block-7cb7178b-d9f3-46d9-91b0-b711da89f1ea\">Aulyzer \u2013 a cross-platform command-line tool for <strong>scientific audio analysis<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-37179585-3680-4726-8508-0f5cdf07402c\">Aulyzer was originally built as an internal lab instrument for validating audio watermarking, fingerprinting, and various processing chains. We are now releasing it as a standalone tool for <strong>engineers, researchers, and audio professionals<\/strong> who require precise and repeatable measurements on audio files.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"block-6ee15c45-a8c1-432a-bdbc-982b244e9bd2\">What Aulyzer Is<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-cfad50d3-9171-43f4-bf39-2819482a4d21\"><strong>Aulyzer<\/strong> is a <strong>command-line audio analyzer<\/strong> designed for:<\/p>\n\n\n\n<ol id=\"block-a97a73e5-1aec-4ce9-868b-ea537d35517a\" class=\"wp-block-list\">\n<li><strong>Single-file analysis<\/strong> \u2013 extracting a rich set of metrics from one audio file (quality control, characterization, validation).<\/li>\n\n\n\n<li><strong>Pairwise comparison<\/strong> \u2013 comparing one or more \u201cprobe\u201d files against a \u201creference\u201d file to quantify differences in level, time, and frequency domains.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-1b35eb27-1179-4a9c-8d16-4f3e2015aaf2\">It is <strong>not<\/strong> a \u201cpretty GUI\u201d spectrum viewer. It\u2019s a <strong>measurement instrument<\/strong>: deterministic, scriptable, and designed to integrate into automated workflows and test benches.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-fd428ab1-a32f-483d-b734-1fb21d13da01\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"block-e572320c-09d5-4221-83fd-bfb13c5bb368\">Core Use Cases<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-ad605339-e5f4-4596-b8d8-19d5178a434b\">Typical scenarios where Aulyzer is useful:<\/p>\n\n\n\n<ul id=\"block-bf1bd982-7bf5-46b5-b539-37d3d9ce0e3c\" class=\"wp-block-list\">\n<li><strong>Codec \/ processing evaluation<\/strong><br>Compare original vs. processed audio (codecs, streaming pipelines, DSP chains) and quantify: Level differences, Time alignment \/ lag, Band-power and spectral changes<\/li>\n\n\n\n<li><strong>Production &amp; Broadcast QC<\/strong><br>Run automated checks on delivered content to verify: Peak \/ true-peak limits, RMS levels<\/li>\n\n\n\n<li><strong>Algorithm &amp; Product Testing<\/strong><br>Validate new DSP algorithms, devices, or firmware by running repeatable batch tests against reference material and collecting machine-readable JSON results.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-9bea6a43-7fa2-48d3-86b8-f67455fc2ff2\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"block-08c72d39-39cc-4312-b335-f495705ecd30\">Key Features at a Glance<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-4d87cce3-a761-4c45-8017-04ffd4bec8aa\"><strong>1. Comprehensive Measurements (Single File)<\/strong><br>Aulyzer computes a wide range of metrics, including:<\/p>\n\n\n\n<ul id=\"block-b37b6a2b-835e-4fc6-a3b3-02bb119d6ba5\" class=\"wp-block-list\">\n<li>Duration, detected sample rate, nominal and inferred bit depth<\/li>\n\n\n\n<li>Peak and <strong>true-peak (ISP)<\/strong> levels with timestamps<\/li>\n\n\n\n<li>RMS statistics (peak \/ mean \/ min \/ total)<\/li>\n\n\n\n<li>Crest factor traces, frame power, spectral centroid<\/li>\n\n\n\n<li>DC offset, clipping percentage and counts<\/li>\n\n\n\n<li>Click detection via abs-delta PCM<\/li>\n\n\n\n<li>Activity timing and bandwidth estimation (when enabled)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-bb438705-643f-42b6-b9a2-8ded12e68a66\"><strong>2. Advanced Pairwise Comparison (Reference vs Probe)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-0df33a9a-97b4-4dd5-a1de-fcce83ddd090\">When you provide a reference and one or more probes, Aulyzer can:<\/p>\n\n\n\n<ul id=\"block-54055317-c40d-4f49-9efb-6ead3bcbbc25\" class=\"wp-block-list\">\n<li>Detect <strong>lag<\/strong> via cross-correlation (with optional automatic lag compensation)<\/li>\n\n\n\n<li>Compute <strong>RMS and peak deltas<\/strong> (abs\/peak\/mean\/min\/total) with optional level compensation<\/li>\n\n\n\n<li>Compare <strong>band-power<\/strong> across frequency bands<\/li>\n\n\n\n<li>Evaluate <strong>log-spectral distance<\/strong> and per-band <strong>frequency-response deviation<\/strong><\/li>\n\n\n\n<li>Optionally render aligned \/ EQ-compensated probe WAVs for listening checks<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-5cfa6e01-725c-4299-9404-d890a15ee884\"><strong>3. Batch &amp; Fragment Analysis<\/strong><\/p>\n\n\n\n<ul id=\"block-f28385a6-cfd8-4852-a392-33e631f4f6e1\" class=\"wp-block-list\">\n<li>Process <strong>one reference vs many probes<\/strong> in a single command.<\/li>\n\n\n\n<li>Target <strong>specific time fragments<\/strong> per file using simple notation:\n<ul class=\"wp-block-list\">\n<li><code>{\"file.wav\",start,stop}<\/code> \u2013 without touching the original files.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-aba78a3b-d32b-421f-9074-d88ab3a94945\"><strong>4. Configurable Limits &amp; Alerts<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-0b328339-d066-49dd-94de-39e62fbbdbc8\">Almost every measurement can have:<\/p>\n\n\n\n<ul id=\"block-26bdc999-0d8d-464f-a406-4899db5d9e96\" class=\"wp-block-list\">\n<li><code>.min<\/code>, <code>.max<\/code><\/li>\n\n\n\n<li><code>.delta_min<\/code>, <code>.delta_max<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-edce47d4-7512-4996-885a-02003e2bcae8\">When limits are violated, Aulyzer flags <strong>alerts<\/strong> in both console and JSON reports \u2013 ideal for <strong>automated QC pipelines<\/strong> and CI systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-57df5eff-362d-43a5-9018-ea31cfa004b0\"><strong>5. Output &amp; Reporting<\/strong><\/p>\n\n\n\n<ul id=\"block-8c6bdaa5-27e8-44b9-a848-a1c3674c06d6\" class=\"wp-block-list\">\n<li><strong>Console output<\/strong> \u2013 human-readable blocks, with optional \u201calerts-only\u201d mode.<\/li>\n\n\n\n<li><strong>JSON export<\/strong> \u2013 every run produces structured JSON in a report directory (default: <code>res\/<\/code>), ready for further parsing or dashboards.<\/li>\n\n\n\n<li><strong>Visualization<\/strong> \u2013 Aulyzer can generate <strong>Gnuplot scripts + PNGs<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Waveform plots<\/li>\n\n\n\n<li>Spectrograms (customizable palettes, size, fonts)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-d79388b2-0dcf-4932-9af4-3f1603f5d93c\"><strong>6. Optional Processing &amp; Tools<\/strong><\/p>\n\n\n\n<ul id=\"block-0bbdb1c0-d8aa-4496-adb4-7d6dc7f97e42\" class=\"wp-block-list\">\n<li>Controlled <strong>resampling<\/strong> (single and pairwise flows)<\/li>\n\n\n\n<li>Optional <strong>dither<\/strong> injection<\/li>\n\n\n\n<li>Band-pass preparation<\/li>\n\n\n\n<li>Lag-compensated or frequency-response-compensated audio renders for deeper investigation.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-4479787d-e3c8-4a70-a39e-ec845a2dafb8\">Download Aulyzer: <a href=\"http:\/\/audiowatermarking.com\/aulyzer\">http:\/\/audiowatermarking.com\/aulyzer<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aulyzer \u2013 a cross-platform command-line tool for scientific audio analysis. Aulyzer was originally built as an internal lab instrument for validating audio watermarking, fingerprinting, and various processing chains. We are now releasing it as a standalone tool for engineers, researchers, and audio professionals who require precise and repeatable measurements on audio files. What Aulyzer Is&#8230; <a class=\"more-link\" href=\"https:\/\/radzishevsky.com\/blog\/aulyzer\/\">Continue reading <span class=\"meta-nav\">&#8594;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1609","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/radzishevsky.com\/blog\/wp-json\/wp\/v2\/pages\/1609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/radzishevsky.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/radzishevsky.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/radzishevsky.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/radzishevsky.com\/blog\/wp-json\/wp\/v2\/comments?post=1609"}],"version-history":[{"count":1,"href":"https:\/\/radzishevsky.com\/blog\/wp-json\/wp\/v2\/pages\/1609\/revisions"}],"predecessor-version":[{"id":1610,"href":"https:\/\/radzishevsky.com\/blog\/wp-json\/wp\/v2\/pages\/1609\/revisions\/1610"}],"wp:attachment":[{"href":"https:\/\/radzishevsky.com\/blog\/wp-json\/wp\/v2\/media?parent=1609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}