Skip to content

Commit 292a95d

Browse files
authored
Added support for Windows ARM64 (#72)
1 parent 5afe564 commit 292a95d

File tree

13 files changed

+51
-14
lines changed

13 files changed

+51
-14
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ body:
5353
- Web (WASM)
5454
- Linux (x86_64)
5555
- macOS (x86_64, arm64)
56-
- Windows (x86_64)
56+
- Windows (x86_64, arm64)
5757
- Raspberry Pi
5858
validations:
5959
required: true

.github/workflows/c-demos.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ jobs:
5656
strategy:
5757
matrix:
5858
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
59+
make_file: ["Unix Makefiles"]
60+
include:
61+
- machine: pv-windows-arm64
62+
make_file: "MinGW Makefiles"
63+
5964

6065
steps:
6166
- uses: actions/checkout@v3
@@ -110,6 +115,7 @@ jobs:
110115
strategy:
111116
matrix:
112117
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
118+
make_files: ["Unix Makefiles"]
113119
include:
114120
- machine: rpi3-32
115121
platform: raspberry-pi
@@ -126,6 +132,10 @@ jobs:
126132
- machine: rpi5-64
127133
platform: raspberry-pi
128134
arch: cortex-a76-aarch64
135+
- machine: pv-windows-arm64
136+
platform: windows
137+
arch: arm64
138+
make_file: "MinGW Makefiles"
129139

130140
steps:
131141
- uses: actions/checkout@v3

.github/workflows/python-demos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656

5757
strategy:
5858
matrix:
59-
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
59+
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
6060

6161
steps:
6262
- uses: actions/checkout@v3

.github/workflows/python-perf.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,3 +111,27 @@ jobs:
111111
- name: Machine state after
112112
working-directory: resources/scripts
113113
run: bash machine-state.sh
114+
115+
perf-windows-arm64:
116+
runs-on: ${{ matrix.machine }}
117+
118+
strategy:
119+
fail-fast: false
120+
matrix:
121+
machine: [pv-windows-arm64]
122+
include:
123+
- machine: pv-windows-arm64
124+
proc_performance_threshold_sec: 0.8
125+
126+
steps:
127+
- uses: actions/checkout@v3
128+
129+
- name: Install dependencies
130+
run: pip install -r requirements.txt
131+
132+
- name: Test
133+
run: >
134+
python3 test_koala_perf.py
135+
--access-key ${{secrets.PV_VALID_ACCESS_KEY}}
136+
--num-test-iterations 20
137+
--proc-performance-threshold-sec ${{matrix.proc_performance_threshold_sec}}

.github/workflows/python.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464

6565
strategy:
6666
matrix:
67-
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
67+
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
6868

6969
steps:
7070
- uses: actions/checkout@v3

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Koala is an on-device noise suppression engine. Koala is:
1717

1818
- Private; All voice processing runs locally.
1919
- Cross-Platform:
20-
- Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64)
20+
- Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64, arm64)
2121
- Android and iOS
2222
- Chrome, Safari, Firefox, and Edge
2323
- Raspberry Pi (3, 4, 5)

binding/python/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ Koala is an on-device noise suppression engine. Koala is:
88

99
- Private; All voice processing runs locally.
1010
- Cross-Platform:
11-
- Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64)
11+
- Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64, arm64)
1212
- Android and iOS
1313
- Chrome, Safari, Firefox, and Edge
1414
- Raspberry Pi (3, 4, 5)
1515

1616
## Compatibility
1717

1818
- Python 3.8 or higher
19-
- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), and Raspberry Pi (3, 4, 5).
19+
- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64, arm64), and Raspberry Pi (3, 4, 5).
2020

2121
## Installation
2222

binding/python/_util.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,10 @@ def default_library_path(relative: str = '') -> str:
7272
relative,
7373
'lib/raspberry-pi/%s/libpv_koala.so' % linux_machine)
7474
elif platform.system() == 'Windows':
75-
return os.path.join(os.path.dirname(__file__), relative, 'lib/windows/amd64/libpv_koala.dll')
75+
if platform.machine().lower() == 'amd64':
76+
return os.path.join(os.path.dirname(__file__), relative, 'lib/windows/amd64/libpv_koala.dll')
77+
elif platform.machine().lower() == 'arm64':
78+
return os.path.join(os.path.dirname(__file__), relative, 'lib/windows/arm64/libpv_koala.dll')
7679

7780
raise NotImplementedError('Unsupported platform.')
7881

binding/python/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242

4343
setuptools.setup(
4444
name="pvkoala",
45-
version="2.0.2",
45+
version="2.0.3",
4646
author="Picovoice",
4747
author_email="hello@picovoice.ai",
4848
description="Koala Noise Suppression Engine.",

demo/python/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ Koala is an on-device noise suppression engine. Koala is:
88

99
- Private; All voice processing runs locally.
1010
- Cross-Platform:
11-
- Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64)
11+
- Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64, arm64)
1212
- Android and iOS
1313
- Chrome, Safari, Firefox, and Edge
1414
- Raspberry Pi (3, 4, 5)
1515

1616
## Compatibility
1717

1818
- Python 3.8+
19-
- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), and Raspberry Pi (3, 4, 5).
19+
- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64, arm64), and Raspberry Pi (3, 4, 5).
2020

2121
## Installation
2222

0 commit comments

Comments
 (0)