SDKs

Two ways to run Synauson.

Embed the engine in your own application through an in-process SDK, or run it as a separate server and talk to it over gRPC. Both run the same engine under the same license.

Embedded SDKsgRPC server

Embedded

In-process SDKs

The engine runs inside your application as a native library, called through your language’s foreign function interface. There’s no separate server to run and no network hop between your code and the engine, and your code can read each call’s raw audio. Each SDK is a thin layer over the same native engine.

In-process SDKs by language
LanguageStatusNotes
JavaAvailable: jsynx86_64 Linux and Windows, Java 11 or newer. Kotlin and Scala can use it too.
PythonPlanned
GoPlanned
RustPlanned
C# (.NET)Planned
C and C++PlannedA C header and shared library, usable from C++.

Available means released and supported. Planned means we intend to build it and haven’t set a date. If your language has no SDK yet, the gRPC server will cover it once API 1.0 is out.

Server

The gRPC server

Synauson runs as its own process, in a container or under systemd on x86_64 Linux, and your application talks to it over gRPC from any language with a gRPC library. Run it next to your application or on separate machines, and scale it on its own.

The public API definitions and a Python client package, synauson-api, come with API 1.0 in the next release. After that you can generate a client for any other language from the definitions.

Where to start

Need a language that isn’t listed? Tell us.