AVCoders.Dsp
2026.11.1
Prefix Reserved
dotnet add package AVCoders.Dsp --version 2026.11.1
NuGet\Install-Package AVCoders.Dsp -Version 2026.11.1
<PackageReference Include="AVCoders.Dsp" Version="2026.11.1" />
<PackageVersion Include="AVCoders.Dsp" Version="2026.11.1" />
<PackageReference Include="AVCoders.Dsp" />
paket add AVCoders.Dsp --version 2026.11.1
#r "nuget: AVCoders.Dsp, 2026.11.1"
#:package AVCoders.Dsp@2026.11.1
#addin nuget:?package=AVCoders.Dsp&version=2026.11.1
#tool nuget:?package=AVCoders.Dsp&version=2026.11.1
AVCoders.Dsp
Audio DSP drivers for the AV Coders device library. Built on AVCoders.Core. Targets .NET 8.0 and .NET 10.0.
Install
dotnet add package AVCoders.Dsp
Published to nuget.org. See the repository README for details.
Drivers
BiampTtp— Biamp Tesira- Shows the Tesira's model, revision, firmware, serial number, hostname, network interfaces and DNS as details. They're read on connect and on each
Reinitialise, which also runs every few minutes while idle - Instance tags the driver uses that aren't in the Tesira's configuration show as Missing Controls, with an issue for each
- The idle keep-alive reads the active fault list every 10 s and raises each fault as an issue. Its round trip shows as Reply Time. A reply slower than
BiampTtp.SlowKeepAliveReplyMs(500 ms) raises an issue, and one missing afterBiampTtp.KeepAliveReplyWindowMs(1 s) is flagged straight away.BiampTtp.MaxSlowKeepAlivesslow orBiampTtp.MaxMissedKeepAlivesmissed keep-alives in a row reconnect the session, which clears the TTP slowdown in older firmware - Raises an issue when the firmware is below 4.11, which isn't supported, or is a 5.x below 5.7
- A read the Tesira answers with
-ERR ATTRIBUTE_NOT_SUPPORTEDor-ERR '<attribute>' is not supported by ...showsNot supported:and the raw reply in its details (the fault list in Active Faults), with no issue. Any other-ERRto a read counts as a miss and keeps the last value: the third in a row raises a Minor issue carrying the raw reply, and the next good reply resolves it - A reply to one of those reads (or the fault list) that can't be read shows the raw line in its details in warning tone and is read again at the next
Reinitialise(the fault list at the next keep-alive). The third in a row raises a Minor issue carrying the raw line, and the next good reply resolves it. An empty firmware or serial number string shows the raw line with no issue - Every subscription is sent again on connect and on each
Reinitialise, since the Tesira drops them when it reboots (Biamp, Tesira Text Protocol,Tesira Text Protocol.pdfp. 4: "they can be recreated by subscribing to the same block at regular intervals") or loads a new configuration. A re-subscribe the Tesira answers with-ERR ALREADY_SUBSCRIBEDmeans the subscription is still in place: it counts as answered and is logged at Verbose, with no issue. That reply isn't in the manual; it's what firmware 5.2.0.8 answers. Any other-ERRto a set, preset recall or subscription raises the momentaryerror-replyissue, which names the reply and the command:The Tesira returned <reply> to <command> - The
+OKor-ERRthat answers a set, preset recall or subscription is logged under the trigger id of the call that sent it, so/Logs?trigger=shows the command and its reply together
- Shows the Tesira's model, revision, firmware, serial number, hostname, network interfaces and DNS as details. They're read on connect and on each
QsysEcp— QSC Q-SYS- A control the Core doesn't know (
bad_id "<name>") shows in Missing Controls, with an ongoingbad-control:<name>issue until it reports a value - A blank control name (empty or whitespace) for a level, mute, string or meter is never added to a change group or read (
cga/cg). It's logged with the raw name and shows as""in Missing Controls. Each blank control raises its own ongoing issue, keyed by the raw name, its type and its registration order (e.g.bad-control:"" level 1), so none is hidden. A Core answers an empty name withbad_id "", which raisesbad-control: SetLevel,SetAudioMuteandSetValuesend nothing for a blank control name, and log a Warning with the raw name- Pass an optional
RestCommsfor Core Manager (https,QsysEcp.CoreManagerPort443), plus a username and password when Access Control is on, to show the Core's firmware, serial number and hardware ID as details. They're read on connect and on each design redeploy. With a username the driver logs on first and reads with the token, keeps the token across reconnects, and logs on again only when Core Manager refuses it - A Core Manager HTTP 404, which is what firmware without that API returns, shows
Not supported:and the raw reply in those details, with no issue. Any other failure raises the Minorcore-managerissue QsysVolumeControl— a level and a mute as oneVolumeControlQsysVolumeOnlyControl— a level with no mute (SupportsMuteisfalse)QsysMuteOnlyControl— a mute with no level (SupportsLevelisfalse)
- A control the Core doesn't know (
BoseCspSoIP— Bose ControlSpace. A command the CSP rejects with a NAK raises an issue on its module (e.g.nak:Bar Gain), Major for code 01 (no such module, or a duplicate name) and 02 (illegal index), Minor otherwise; it resolves when that module next answers- Polls each control with a 30 ms gap between queries
CecAudioSystem— a CEC soundbar or AVR (verified on a Sonos Beam). A singleVolumeControl, not aDspsubclass- Frames go out in order, 150 ms apart (100 ms after a key press, 500 ms after a status query, 750 ms after a discovery request). The spacing, the 300 ms status read after a key and the 1.5 s wait for Report Audio Status are awaited, so no thread is held while waiting, and the reply wait's timer is cancelled as soon as the status arrives
Usage
Drivers derive from Dsp (except CecAudioSystem, which is a VolumeControl over a CEC SerialClient) and talk to hardware through a transport from AVCoders.CommunicationClients. See the repository README for full wiring, logging and tracing setup.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- AVCoders.Core (>= 2026.11.1)
-
net8.0
- AVCoders.Core (>= 2026.11.1)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on AVCoders.Dsp:
| Package | Downloads |
|---|---|
|
AVCoders.Conference
Conferencing codec drivers for the AV Coders device library, including Cisco RoomOS control, output/microphone faders and phonebook parsing. |
|
|
AVCoders.Crestron.TouchPanel
Touch panel menu and UI helpers for Crestron panels: display, motor, AVoIP, sync, level, PDU and Q-SYS source menus, PIN entry, confirmation and status pages. |
|
|
AVCoders.Crestron.DSP
Volume controls bound to Crestron signals, including sig-based volume and UC Engine / Teams room speaker volume. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.11.1 | 70 | 11/12/2026 |
| 2026.10.5 | 123 | 10/21/2026 |
| 2026.10.4 | 107 | 10/21/2026 |
| 2026.10.3 | 197 | 10/14/2026 |
| 2026.10.2 | 113 | 10/13/2026 |
| 2026.10.1 | 118 | 10/6/2026 |
| 2026.9.8 | 134 | 9/29/2026 |
| 2026.9.7 | 133 | 9/24/2026 |
| 2026.9.6 | 127 | 9/18/2026 |
| 2026.9.5 | 124 | 9/17/2026 |
| 2026.9.4 | 202 | 9/14/2026 |
| 2026.9.2 | 142 | 9/2/2026 |
| 2026.9.1 | 139 | 9/2/2026 |
| 2026.8.5 | 144 | 8/27/2026 |
| 2026.8.4 | 149 | 8/26/2026 |
| 2026.8.3 | 139 | 8/26/2026 |
| 2026.8.2 | 148 | 8/24/2026 |
| 2026.8.1 | 186 | 8/11/2026 |
| 2026.7.3 | 152 | 7/22/2026 |
| 2026.7.2 | 190 | 7/21/2026 |