Releases: dh1tw/remoteAudio
Release v0.5.5
This is another bugfix release
As reported in #37, remoteAudio server 0.5.4 crashes when audio packets are received from anonymous clients. This problem has been mitigated by auto-generating unique client user names and a handling strategy for packets from anonymous clients.
In general, it is recommended to set the client name (either through the -U
flag or the nats.username
parameter in the config file.
Release v0.5.4
This is another bugfix release.
- HostAPI parameter for input and output devices is now properly honored
- fixed random WdmSyncloctl error in nats server (windows)
- fixed a rarely happening race condition when writing audio samples to the sound device
- prevent the mixture of incoming audio samples when multiple users send at the same time
- each tx user has now its own independent audiocodec.Decoder which is automatically detected and set the first time a packet arrives
Release v0.5.3
This is a bugfix release.
I found a nasty bug that prevented the use of sound cards with sampling rates other than 48kHz on input devices (e.g. microphones). On Soundcards with arbitrary sampling rates are supported - for example, the very common 44100Hz. remoteAudio will transparently up- or downsample the audio stream(s) to 48kHz which is required by the opus codec.
Release v0.5.2
This is a maintenance release.
- Upgraded to go v1.17.2 compiler
- On Windows the remoteAudio web interface is now loaded correctly (fixes bug #30)
- Windows versions come with Portaudio 19.7
Release v0.5.1
This is a maintenance release.
- Fixed a panic caused by go-micro on 32bit systems (e.g. ARMv6/ARMv7)
- changed from go-rice to go-embed for embedding static files
- Minor fixes in the CI (Github Actions) pipeline
Release v0.5.0
This version is mainly a maintenance release and doesn't come with any new features.
IMPORTANT: This release IS NOT COMPATIBLE with prior versions. You have to upgrade ALL remoteAudio instances!!!
Dependencies were upgraded. In particular go-micro, the underlying transport library.
The binaries have been compiled with go version 1.16 which should bring slight performance improvements. A release for the new Apple Silicon (M1 - darwin/arm64) was added as well.
Release v0.4.1
From a code perspective, this release is the same as v0.4.0.
However, binaries for all platforms are now generated automatically. Additional architectures like ARM64 and i386 for Linux and Windows have been added.
The remoteAudio binaries are now additionally compressed to make them even smaller.
v0.4.0
It has been 1,5 years since the last release. It's really time for a new release. There have been a few modifications under the hood, but the focus was mainly on eliminating bugs and improving stability.
WARNING: There have been some changes in the syntax of the config file and in a few flags. Please check your config file carefully and change the affected parameters accordingly! Best practice is to compare it with example config file located in the master trunk of the repository.
Added features
-
Transport layer NATS has proven to be an extremely reliable transport protocol. It's so good that I have discarded MQTT in favor of NATS. Get the latest version of the NATS Broker (nats-server) here.
-
Sound APIs Windows and Linux come with one or more sound APIs. You can specifically select a particular sound API. On Windows the latency has dramatically dropped by switching from MME to WSAPI. The latter is now by default used in remoteAudio on Windows.
-
VOX I've added a VOX activation, in case someone needs it
Build process
Several issues (#21 , #17) were reported with problems related to building remoteAudio from source. At the root, all these problems were related due to broken dependencies or broken dependencies of dependencies. Fortunately, the Golang team has added dependency management with Go 1.13. remoteAudio is now also a go module with frozen dependencies. That way it should be much easier to build remoteAudio on your machine. Just make sure to use >= Go 1.13.
0.3.0.alpha11
Bug fix release:
- WebUI loads now correctly (e.g. at localhost:9090/)
0.3.0.alpha10
first alpha release of the completely rewritten remoteAudio application. Here the main new features:
- Transport has changed from MQTT to NATS (you need the gnatsd broker)
- Support for multiple audio servers
- Audio servers are detected automatically
- Server can start streaming on startup (via pflag)
- As an alternative to the WebUI a REST API has been incorporated into the client
breaking changes:
- no more MQTT (until v5 is supported)
- several pflags have changed. Please delete the config file and use the pflags until the final version has been released. Some of the pflags might again change until then.
how to use remoteRotator:
# start audioserver (with a public broker temporarily installed on a VPS)
$ ./remoteAudio server nats -u=195.201.117.206 -Y=ts480
# start client
$ ./remoteAudio client nats -u=195.201.117.206
**examples of the REST API:**
```bash
# get & set rx volume
$ curl localhost:9090/api/rx/volume
$ curl -X PUT -d "{\"volume\":100}" "localhost:9090/rx/volume"
# get & set volume
$ curl localhost:9090/api/tx/volume
$ curl -X PUT -d "{\"volume\":100}" "localhost:9090/tx/volume"
# get & set ptt
$ curl localhost:9090/api/tx/state
$ curl -X PUT -d "{\"on\":true}" "localhost:9090/tx/state"
# get list of available audio servers
$ curl localhost:9090/api/servers
# get details of audioserver "ts480"
$ curl localhost:9090/api/server/ts480
# start the audio stream from the ts480
$ curl -X PUT -d "{\"on\":true}" "localhost:9090/api/server/ts480/state"
# if you have several audio servers (e.g. ts480 and ft1000mp) you can select for example the ft1000mp
curl -X PUT -d "{\"active\":true}" "localhost:9090/api/server/ft1000mp/active