• Stars
    star
    34
  • Rank 766,985 (Top 16 %)
  • Language
    Go
  • License
    BSD 2-Clause "Sim...
  • Created about 8 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Go Bindings for libsamplerate

libsamplerate binding for Golang

Go Report Card Cross Platform build codecov

This is a Golang binding for libsamplerate (written in C), probably the best audio Sample Rate Converter available to today.

A classical use case is converting audio from a CD sample rate of 44.1kHz to the 48kHz sample rate used by DAT players.

libsamplerate is capable of arbitrary and time varying conversions (max sampling / upsampling by factor 256) and comes with 5 converters, allowing quality to be traded off against computation cost.

API implementations

gosamplerate implements the following libsamplerate API calls:

not (yet) implemented is:

License

This library (gosamplerate) is published under the the permissive BSD license. You can find a good comparison of Open Source Software licenses, including the BSD license at choosealicense.com

libsamplerate has been republished in 2016 under the 2-clause BSD license.

How to install samplerate

Make sure that you have libsamplerate installed on your system.

On Mac or Linux it can be installed conveniently through your distro's packet manager.

Linux:

using apt (Ubuntu), yum (Centos)...etc.

    $ sudo apt install libsamplerate0

MacOS

using Homebrew:

    $ brew install libsamplerate

Install gosamplerate

    $ go get github.com/dh1tw/gosamplerate

Documentation

The API of gosamplerate can be found at godoc.org. The documentation of libsamplerate (necessary in order to fully understand the API) can be found here.

Tests & Examples

The test coverage is close to 100%. The tests contain various examples on how to use gosamplerate.

More Repositories

1

remoteAudio

Audio streaming application for Amateur Radio purposes
Go
157
star
2

pyhamtools

A Library with Amateur Radio specific Functions and Methods
Python
85
star
3

streamdeck

Golang API for the Corsair / Elgato StreamDeck
Go
71
star
4

remoteRotator

remoteRotator lets you expose a local antenna rotator (azimuth / elevation) to the network
Go
42
star
5

gorigctl

An opinionated drop-in replacement for Hamlib's rigctl(d)
Go
25
star
6

DX-Cluster-Parser

This python library is for Amateur Radio ("Ham Radio") purpose. The library parses the messages you receive from a DX-Cluster. It will return objects for Spots, Callsigns, WWV and Comments. It can also be used just for callsigns!
Python
22
star
7

goHamlib

Hamlib bindings for Golang
Go
20
star
8

remoteAudio-xcompile

Cross Compilation Containers for remoteAudio
Dockerfile
13
star
9

streamdeck-examples

A demo example application for the golang streamdeck driver
Go
12
star
10

remoteSwitch

remoteSwitch lets you expose and control switches (e.g. GPIO relay boards) over the network
Go
12
star
11

arsctl

Amateur Radio Rotator Control - WebInterface & Win-Test Gateway
CSS
5
star
12

sdrsharp-udp-signal-exporter

SDR# Plugin for exporting signal values via UDP
C#
4
star
13

repeaterControl

Control software for an automated VHF / UHF Repeater, running on Arduino UNO and Banana Pi
C++
3
star
14

dxspider-docker

DXSpider in a docker container
Dockerfile
2
star
15

remoteRadio

Protobuf / MQTT interface for Hamlib
Go
2
star
16

go-micro-error-broken

Go
1
star
17

firmatator

Automatically exported from code.google.com/p/firmatator
C++
1
star
18

remoteSwitch-playground

Dockerized playground for remoteSwitch
Dockerfile
1
star
19

acom2000

Golang library for controlling the Acom2000 HF amplifier
Go
1
star
20

hamlib-go

Package hamlib provides Go bindings for Hamlib (radio control toolkit).
Go
1
star
21

RTI-DDS-Chat-App

C++
1
star
22

vna-testboard

A handy PCB for experimenting and prototyping with Vector Network Analyzers
1
star
23

streamdeck-buttons

My custom library of buttons for the Elgato / Corsair Stream Deck using my golang driver
Go
1
star
24

natsProxy

Proxy UDP, TCP or sockets over NATS
Go
1
star