Add Pascal API for reading wave files (#1243)

This commit is contained in:
Fangjun Kuang
2024-08-11 22:43:42 +08:00
committed by GitHub
parent 968623a477
commit 65f1c0fab2
8 changed files with 261 additions and 3 deletions

View File

@@ -0,0 +1 @@
main

View File

@@ -0,0 +1,21 @@
{ Copyright (c) 2024 Xiaomi Corporation }
program main;
{$mode objfpc}
uses
sherpa_onnx;
var
Wave: TSherpaOnnxWave;
S: Single;
I: Integer;
begin
Wave := SherpaOnnxReadWave('./lei-jun-test.wav');
WriteLn('info ', Wave.SampleRate, ' ', Length(Wave.Samples));
S := 0;
for i := Low(Wave.Samples) to High(Wave.Samples) do
S += Wave.Samples[i];
WriteLn('sum is ', S);
end.

View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
set -ex
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
SHERPA_ONNX_DIR=$(cd $SCRIPT_DIR/../.. && pwd)
echo "SHERPA_ONNX_DIR: $SHERPA_ONNX_DIR"
if [[ ! -f ../../build/lib/libsherpa-onnx-c-api.dylib && ! -f ../../build/lib/libsherpa-onnx-c-api.so ]]; then
mkdir -p ../../build
pushd ../../build
cmake \
-DSHERPA_ONNX_ENABLE_PYTHON=OFF \
-DSHERPA_ONNX_ENABLE_TESTS=OFF \
-DSHERPA_ONNX_ENABLE_CHECK=OFF \
-DBUILD_SHARED_LIBS=ON \
-DSHERPA_ONNX_ENABLE_PORTAUDIO=OFF \
..
make -j4 sherpa-onnx-c-api
ls -lh lib
popd
fi
if [ ! -f ./lei-jun-test.wav ]; then
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/lei-jun-test.wav
fi
fpc \
-Fu$SHERPA_ONNX_DIR/sherpa-onnx/pascal-api \
-Fl$SHERPA_ONNX_DIR/build/lib \
./main.pas
export LD_LIBRARY_PATH=$SHERPA_ONNX_DIR/build/lib:$LD_LIBRARY_PATH
export DYLD_LIBRARY_PATH=$SHERPA_ONNX_DIR/build/lib:$DYLD_LIBRARY_PATH
./main