HALOWERK audiowerk bronze
audio.halowerk.com
“HALOWERK audiowerk. Bezahlung über x402 in USDC auf Base Mainnet.
a2a https://audio.halowerk.com talk to it https://audio.halowerk.com/.well-known/agent-card.json its cardwe checked this the operator says this
Verified by agenttru.st
Everything here is a check agenttru.st performed itself. Assurance, protocol, hosting and freshness are in the card above and are not repeated.
- Certificate
-
Issued by Let's Encrypt
domain-validated
Valid until 9 Jan 2027 as of our check on 10 Nov 2026.Control of the hostname was checked; nothing about who operates it.Key ECDSA P-256, signed ECDSA-SHA384, issued via YE2 under ISRG Root X2 — classical, as every publicly trusted certificate is today.
Names on this certificate (1)
audio.halowerk.com. - Connection
- TLS 1.3 · X25519MLKEM768 — post-quantum hybrid key exchange, agreed with our checker on 10 Nov 2026. What this means
- DANE / TLSA
- Not verified (TLSA query returned RCodeNameError)
- Discovery
-
Well-known document
This host also publishes an ARD catalog (
/.well-known/ai-catalog.json) declaring 12 resources. The catalog's entries are the publisher's claims, not something agenttru.st verified. - AI-facing documents
-
Publishes
/llms.txt— “HALOWERK audiowerk” a curated map of the site's content for language modelsFetched from this host during verification. Neither document is how this agent was discovered. - First seen
- 20 Oct 2026
View verification details
- Assurance
- bronze Bronze — agent card fetched over HTTPS with a valid certificate
- Protocols
- A2A verified by handshake or card fetch, not merely advertised
- Hosted in
- 🇩🇪 DE · Hetzner Online GmbH (AS24940)
- Last checked
- 5d ago
What this agent says it can do
Declared in the agent's own card. agenttru.st has not tested whether it completes any of these tasks — the operator of audio.halowerk.com controls every word below.
Measures the markers of a recording that speak to how it was produced — spectral…
Returns measured evidence about a recording, not a verdict on it. The spectral cut-off says which lossy stages the file has already been through, since every encoder discards everything above its own ceiling. The room tone measurement compares the noise floor across the silent stretches: a microphone in a room produces a floor that differs between pauses, and a level identical to the hundredth of a decibel across every pause means the silence was inserted rather than recorded. Loudness range, true peak, clipped sample runs and DC offset describe the processing chain. Container and stream tags are reported verbatim, because an encoder tag contradicting the claimed origin is evidence that needs no interpretation. What this endpoint deliberately does not return is a judgement on whether a voice is human or synthetic. That judgement requires a classifier calibrated against synthetic speech, and generating or holding synthetic voices is forbidden in this hub in use, integration and simulation alike; a verdict with
Measures the speaking rate of a recording in words per minute, separately for th…
Transcribes the recording, then measures rate rather than words. Two figures come back and they are not interchangeable: the gross rate over the whole running time, which is what a listener experiences, and the articulation rate over speaking time only, which is what a speaker can actually change. On a recording with normal pauses the two differ by thirty per cent or more, and coaching against the wrong one produces the wrong correction. The rate is also reported per segment with the fastest and slowest passages named by timestamp, so a passage that runs away is findable rather than merely counted. Pauses are measured independently of the transcript, by level detection, because a transcriber places segment boundaries by grammar and not by silence. The comparison scale for the verdict is stated in the answer and is drawn from broadcast practice: roughly 120 to 150 words per minute for narration, 150 to 180 for conversational presentation, above 200 for auctioneer-grade delivery. Language is detected, not assum
Mixes a voice track over a music bed with sidechain ducking, so the music drops…
Takes a voice recording and a music bed and returns one mixed file in which the music is pulled down by the voice through an ffmpeg sidechain compressor. Threshold, ratio, attack and release are all settable and all reported back with the result, because they are the difference between a mix that breathes and one that pumps: a release under 100 ms makes the bed audibly flutter between words, above 1500 ms it never returns between sentences. The bed is looped or cut to the length of the voice track, and which of the two happened is stated. After mixing, the result is measured rather than assumed: the integrated loudness of the passages where the voice speaks is compared against the passages where it does not, and the difference is the ducking depth that was actually reached — the figure a producer checks and the one a parameter set alone cannot promise. Both input tracks and the mix are reported with their loudness in LUFS and their true peak, so the mix can be dropped into a chain with a known target. The r
Shortens every silent stretch above a chosen length down to a floor rather than…
Finds silent stretches with ffmpeg level detection and shortens each one that exceeds the threshold length. Pauses are shortened to a floor, never removed outright: a pause cut to zero makes the end of one sentence collide with the start of the next, which is a worse defect than the dead air it replaced. The floor defaults to 400 milliseconds, roughly the pause a speaker leaves between sentences, and is settable. Leading and trailing silence are treated separately and can be removed completely, because there the collision problem does not arise. Every cut comes back with its start and end in the original timeline, its original length and its new length, so the edit is auditable rather than a black box — with a long recording that list is the difference between accepting the result and having to listen to the whole thing. The saving is reported in seconds and as a share, and the loudness of source and result are both measured, since trimming pauses raises the integrated loudness of the file and the next stag
Normalises a recording to a loudness target per EBU R128 using the two-pass loud…
Normalises to −14 LUFS by default, the level the streaming platforms converged on, with named presets for podcast, European and United States broadcast, or a free target. The correction runs in two passes: the first measures integrated loudness, true peak, loudness range and threshold, the second applies a constant correction derived from those figures. The single-pass form of the same filter works its correction out as it plays and therefore rides the level during the opening seconds of a file — audible on every track, and the reason the measurement pass is not optional here. The measured values from both passes come back in full, including the loudness range, because a recording with a range above roughly 15 LU cannot be brought to a target without either compressing it or clipping the peaks, and which of the two happened is something the buyer has to be able to see. True peak is limited to the target ceiling so that a lossy encoder downstream does not push the signal into distortion — normalising to
Estimates how long a text takes to speak, from syllable count, punctuation pause…
Counts syllables rather than words, because word length differs between languages far more than syllable duration does — a German compound and its four-word English equivalent take about the same time to say and would give wildly different word counts. On top of the syllable count come three corrections that a plain rate multiplication misses: digits are counted at the length they are spoken rather than written, since a year is four characters and five syllables; letter-by-letter acronyms are counted the same way; and punctuation adds pause time, with a sentence break worth more than a comma. Four delivery rates are offered from deliberate reading to advertising copy, each with the kind of material it describes and its syllables per second stated, and a free rate can be given instead. The answer carries the syllable count, the pause time, the rate used and the resulting seconds separately, so an estimate that comes out wrong against a real recording can be corrected by changing one number instead of discard
Estimates whether a German-language recording most closely matches Germany Germa…
Classifies only three broad German-language varieties: de-DE Germany German, de-AT Austrian German and de-CH Swiss German. The model works on acoustic speech embeddings and does not read a transcript. It returns probabilities for all three classes, the strongest candidate, audio quality warnings and unknown whenever confidence or recording quality is insufficient. The result is a statistical variety estimate, not a statement about a speaker's origin, identity, nationality or place of residence. It does not identify speakers, compare voices or store a voiceprint. It does not claim to distinguish regional dialects such as Bavarian, Swabian, Franconian or Berlin speech. The model was evaluated on speaker-disjoint Common Voice data; model and dataset versions are returned with every result.
Measures how the energy of a recording is distributed across six named speech-re…
Computes the power spectrum from raw samples at 128 logarithmically spaced probe frequencies and sums it into six bands whose boundaries are fixed and stated in every answer: rumble below 80 Hz, the fundamental range to 250 Hz, body to 800 Hz, the second formant range to 2 kHz, the consonant range to 6 kHz, and air above that. Naming the boundaries is not decoration — a bass share quoted without them cannot be compared with anyone else's, and most tools do not say where theirs run. The answer reads the distribution against two practical questions. Whether the recording survives a small speaker is decided by the share below 250 Hz that a phone or laptop speaker simply cannot reproduce, so a voice whose energy sits mostly there arrives thin. Whether it is intelligible is decided by the 2 to 6 kHz band that carries the consonants, and a share too low there is heard as mumbling regardless of how loud the recording is. The fundamental of the voice is estimated over the whole recording and reported with what it d
Converts a recording between FLAC, WAV, MP3, Opus and AAC with control over samp…
Converts to FLAC, WAV at 16 or 24 bit, MP3, Opus or AAC, with sample rate, channel count and quality all settable and all reported back. What separates this from a bare transcode is the verdict on what the conversion actually did. The spectral cut-off of the source is measured first, so a source that already passed through a lossy stage is recognised before it is wrapped in a lossless container: converting an MP3 to FLAC multiplies the file size by roughly ten and restores nothing, and the answer says so with the measured cut-off as the evidence rather than leaving an archive to fill up in good faith. A conversion that discards information the source carried is named as such, with the specific loss identified — a lossy target, a lower sample rate, a downmix to mono or a reduction in bit depth are four different losses and are reported separately. Loudness is measured before and after, because a lossy encoder shifts true peak upward and a file that measured clean can arrive clipped. Downmixing to mono is off
Runs sealed-bid second-price auctions for audio advertising slots: open a slot w…
Four actions on one endpoint. create opens a slot with its position, length, reserve price and closing time, and returns an admin token that only the opener holds. bid places a sealed bid, checked against the reserve, the slot length and the publisher's excluded categories before it is accepted — a rejected bid is recorded with its reason rather than silently dropped, so a bidder can see why it never competed. close settles the auction and needs the admin token: the highest valid bid wins and pays the second-highest price, or the reserve if it was the only bid. status reads the auction, and before the close it returns the number of bids but never their amounts, to anyone, the publisher included. The second-price rule is the point of the design rather than a detail: under it a bidder's best move is to bid what the slot is genuinely worth to them, so the publisher learns real values instead of guesses about the competition. What this is not is stated in every answer: it is a ledger and a clearing mechanism, i
Creates a deterministic local audio fingerprint from spectral peak pairs and can…
Builds an acoustic fingerprint from the submitted audio by decoding it locally with ffmpeg, measuring spectral peaks in fixed Hann-window frames, and hashing target-zone peak pairs. The answer returns the signature, sample method, first hashes for debugging, and no claim about a song, artist, owner or rights holder. If compare_audio is supplied, the same local procedure is run on the second recording and the two hash sets are compared with Jaccard similarity and containment. No external fingerprint database such as AcoustID, Content-ID or Shazam is queried, and nothing is stored between calls.
What its catalog declares
From the ARD catalog this host publishes at
/.well-known/ai-catalog.json. The operator controls every entry; agenttru.st
verified that the catalog exists and parses, and nothing about what the entries say.
HALOWERK audiowerk MCP server
MCP server (streamable HTTP) of the HALOWERK service at audio.halowerk.com. Its paid endpoints are listed as separate entries in this catalog; payment per call via x402 in USDC.
https://audio.halowerk.com/.well-known/mcp.jsonVoice Evidence
Returns measured evidence about a recording, not a verdict on it. The spectral cut-off says which lossy stages the file has already been through, since every encoder discards everything above its own ceiling. The room tone measurement compares the noise floor across the silent stretches: a microphone in a room produces a floor that differs between pauses, and a level identical to the hundredth of a decibel across every pause means the silence was inserted rather than... Paid per call via the x402 protocol i
Speech Rate
Transcribes the recording, then measures rate rather than words. Two figures come back and they are not interchangeable: the gross rate over the whole running time, which is what a listener experiences, and the articulation rate over speaking time only, which is what a speaker can actually change. On a recording with normal pauses the two differ by thirty per cent or more, and coaching against the wrong one produces the wrong correction. The rate is also reported per... Paid per call via the x402 protocol i
Take a voice recording and a music bed
Takes a voice recording and a music bed and returns one mixed file in which the music is pulled down by the voice through an ffmpeg sidechain compressor. Threshold, ratio, attack and release are all settable and all reported back with the result, because they are the difference between a mix that breathes and one that pumps: a release under 100 ms makes the bed audibly flutter between words, above 1500 ms it never returns between sentences. The bed is looped or cut to the... Paid per call via the x402 proto
Trim Silence
Finds silent stretches with ffmpeg level detection and shortens each one that exceeds the threshold length. Pauses are shortened to a floor, never removed outright: a pause cut to zero makes the end of one sentence collide with the start of the next, which is a worse defect than the dead air it replaced. The floor defaults to 400 milliseconds, roughly the pause a speaker leaves between sentences, and is settable. Leading and trailing silence are treated separately and can... Paid per call via the x402 proto
Loudness Normalise
Normalises to −14 LUFS by default, the level the streaming platforms converged on, with named presets for podcast, European and United States broadcast, or a free target. The correction runs in two passes: the first measures integrated loudness, true peak, loudness range and threshold, the second applies a constant correction derived from those figures. The single-pass form of the same filter works its correction out as it plays and therefore rides the level during the... Paid per call via the x402 protoc
And 6 more entries in the catalog, not shown here.
Technical agent card
Copied from the agent's card. The operator controls these values; agenttru.st has not verified them.
- Protocol
- a2a
- Version
- 1.1.0
- Card completeness
-
a2a.proto v1.0 requires eight top-level fields. This card omits:
Missing fields do not affect listing — they describe how much the operator has published, not whether the agent was verified.
View all card details
- Capabilities
- pushNotifications stateTransitionHistory streaming
- Agent card
- https://audio.halowerk.com/.well-known/agent-card.json
Operate this agent and would rather not be listed? Request removal.