diff --git a/.github/workflows/go-codestyle.yml b/.github/workflows/go-codestyle.yml index 15b9f7e2..e8fad350 100644 --- a/.github/workflows/go-codestyle.yml +++ b/.github/workflows/go-codestyle.yml @@ -23,7 +23,7 @@ jobs: - name: Setup go uses: actions/setup-go@v1 with: - go-version: 1.18 + go-version: 1.21 - name: golangci-lint uses: golangci/golangci-lint-action@v3 @@ -41,7 +41,7 @@ jobs: - name: Setup go uses: actions/setup-go@v1 with: - go-version: 1.18 + go-version: 1.21 - name: golangci-lint uses: golangci/golangci-lint-action@v3 @@ -57,7 +57,7 @@ jobs: - name: Setup go uses: actions/setup-go@v1 with: - go-version: 1.18 + go-version: 1.21 - name: golangci-lint uses: golangci/golangci-lint-action@v3 diff --git a/.github/workflows/go-demos.yml b/.github/workflows/go-demos.yml index 8e1ecf89..47c06bbe 100644 --- a/.github/workflows/go-demos.yml +++ b/.github/workflows/go-demos.yml @@ -30,7 +30,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] - go: [ '1.16', '1.17', '1.18', '1.19', '1.20', 'stable' ] + go: [ '1.16', '1.17', '1.18', '1.19', '1.20', '1.21', 'stable' ] steps: @@ -61,7 +61,7 @@ jobs: strategy: matrix: - machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, jetson] + machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, jetson] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 2a3696d9..aa04f3c2 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -42,7 +42,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] - go: [ '1.16', '1.17', '1.18', '1.19', '1.20', 'stable' ] + go: [ '1.16', '1.17', '1.18', '1.19', '1.20', '1.21', 'stable' ] steps: - uses: actions/checkout@v3 @@ -75,7 +75,7 @@ jobs: strategy: matrix: - machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, jetson] + machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, jetson] steps: - uses: actions/checkout@v3 diff --git a/binding/go/README.md b/binding/go/README.md index e01903db..7855a7d1 100644 --- a/binding/go/README.md +++ b/binding/go/README.md @@ -13,12 +13,12 @@ Leopard is an on-device speech-to-text engine. Leopard is: - Linux (x86_64), macOS (x86_64, arm64), and Windows (x86_64) - Android and iOS - Chrome, Safari, Firefox, and Edge - - Raspberry Pi (4, 3) and NVIDIA Jetson Nano + - Raspberry Pi (5, 4, 3) and NVIDIA Jetson Nano ## Compatibility - go 1.16+ -- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), Raspberry Pi (4, 3), and NVIDIA Jetson Nano. +- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), Raspberry Pi (5, 4, 3), and NVIDIA Jetson Nano. - **Windows**: The Go binding requires `cgo`, which means that you need to install a gcc compiler like [Mingw](http://mingw-w64.org/) to build it properly. - Go versions less than `1.20` requires `gcc` version `11` or lower. diff --git a/binding/go/embedded/lib/raspberry-pi/cortex-a76-aarch64/libpv_leopard.so b/binding/go/embedded/lib/raspberry-pi/cortex-a76-aarch64/libpv_leopard.so new file mode 100755 index 00000000..3b174ba7 Binary files /dev/null and b/binding/go/embedded/lib/raspberry-pi/cortex-a76-aarch64/libpv_leopard.so differ diff --git a/binding/go/embedded/lib/raspberry-pi/cortex-a76/libpv_leopard.so b/binding/go/embedded/lib/raspberry-pi/cortex-a76/libpv_leopard.so new file mode 100755 index 00000000..1a4b9e0e Binary files /dev/null and b/binding/go/embedded/lib/raspberry-pi/cortex-a76/libpv_leopard.so differ diff --git a/binding/go/leopard.go b/binding/go/leopard.go index 601d37b6..0bbd4b95 100644 --- a/binding/go/leopard.go +++ b/binding/go/leopard.go @@ -394,6 +394,8 @@ func getLinuxDetails() (string, string) { return "jetson", "cortex-a57" + archInfo case "0xd08": return "raspberry-pi", "cortex-a72" + archInfo + case "0xd0b": + return "raspberry-pi", "cortex-a76" + archInfo default: log.Fatalf("Unsupported CPU:\n%s", cpuPart) return "", "" diff --git a/demo/go-grpc/go.mod b/demo/go-grpc/go.mod index 7c97651d..45315546 100644 --- a/demo/go-grpc/go.mod +++ b/demo/go-grpc/go.mod @@ -3,7 +3,7 @@ module leopardgogrpc go 1.18 require ( - github.com/Picovoice/leopard/binding/go/v2 v2.0.1 + github.com/Picovoice/leopard/binding/go/v2 v2.0.2 github.com/golang/protobuf v1.5.2 github.com/google/uuid v1.3.0 google.golang.org/grpc v1.53.0 diff --git a/demo/go-grpc/go.sum b/demo/go-grpc/go.sum index 6b59df74..afb46df2 100644 --- a/demo/go-grpc/go.sum +++ b/demo/go-grpc/go.sum @@ -1,5 +1,7 @@ github.com/Picovoice/leopard/binding/go/v2 v2.0.1 h1:XUjSAKS+MSCI5BT54Mkq6sxEIsIwe32Ou7LHWBxfksQ= github.com/Picovoice/leopard/binding/go/v2 v2.0.1/go.mod h1:/rYUeRDH4xBgtwBe9D8BwHIauPJ+M7czqLfyeJQJu7c= +github.com/Picovoice/leopard/binding/go/v2 v2.0.2 h1:Knk/UV51oRuHTHd7MGtlZXwsFF5jxu6AqttB0jGMHxs= +github.com/Picovoice/leopard/binding/go/v2 v2.0.2/go.mod h1:/rYUeRDH4xBgtwBe9D8BwHIauPJ+M7czqLfyeJQJu7c= github.com/agnivade/levenshtein v1.1.1 h1:QY8M92nrzkmr798gCo3kmMyqXFzdQVpxLlGPRBij0P8= github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVbJomOvKkmgYbo= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= diff --git a/demo/go/go.mod b/demo/go/go.mod index bfa478b4..36727968 100644 --- a/demo/go/go.mod +++ b/demo/go/go.mod @@ -3,7 +3,7 @@ module leoparddemo go 1.16 require ( - github.com/Picovoice/leopard/binding/go/v2 v2.0.1 - github.com/Picovoice/pvrecorder/binding/go v1.2.1 + github.com/Picovoice/leopard/binding/go/v2 v2.0.2 + github.com/Picovoice/pvrecorder/binding/go v1.2.2 github.com/agnivade/levenshtein v1.1.1 // indirect ) diff --git a/demo/go/go.sum b/demo/go/go.sum index c14f79f1..5f2fae67 100644 --- a/demo/go/go.sum +++ b/demo/go/go.sum @@ -1,7 +1,11 @@ github.com/Picovoice/leopard/binding/go/v2 v2.0.1 h1:XUjSAKS+MSCI5BT54Mkq6sxEIsIwe32Ou7LHWBxfksQ= github.com/Picovoice/leopard/binding/go/v2 v2.0.1/go.mod h1:/rYUeRDH4xBgtwBe9D8BwHIauPJ+M7czqLfyeJQJu7c= +github.com/Picovoice/leopard/binding/go/v2 v2.0.2 h1:Knk/UV51oRuHTHd7MGtlZXwsFF5jxu6AqttB0jGMHxs= +github.com/Picovoice/leopard/binding/go/v2 v2.0.2/go.mod h1:/rYUeRDH4xBgtwBe9D8BwHIauPJ+M7czqLfyeJQJu7c= github.com/Picovoice/pvrecorder/binding/go v1.2.1 h1:p99fkYMFbTS4g4WwbhSPkT9PHvlEoVYGaNoqxCITiEo= github.com/Picovoice/pvrecorder/binding/go v1.2.1/go.mod h1:gQdvBAjoKmRxMFh8W9cVKWcqHsWvu+d13sCPVFm7dhg= +github.com/Picovoice/pvrecorder/binding/go v1.2.2 h1:UN0u60hVR+s8kYmVSITS4UbTihHzeNxlNkJKYoKaVbo= +github.com/Picovoice/pvrecorder/binding/go v1.2.2/go.mod h1:gQdvBAjoKmRxMFh8W9cVKWcqHsWvu+d13sCPVFm7dhg= github.com/agnivade/levenshtein v1.1.1 h1:QY8M92nrzkmr798gCo3kmMyqXFzdQVpxLlGPRBij0P8= github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVbJomOvKkmgYbo= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE=