react-native-sherpa-onnx 0.3.6 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -0
- package/README.md +89 -21
- package/SherpaOnnx.podspec +3 -0
- package/THIRD_PARTY_LICENSES/README.md +62 -0
- package/THIRD_PARTY_LICENSES/ffmpeg.txt +502 -0
- package/THIRD_PARTY_LICENSES/libarchive.txt +65 -0
- package/THIRD_PARTY_LICENSES/nvidia_omla.txt +181 -0
- package/THIRD_PARTY_LICENSES/onnxruntime.txt +21 -0
- package/THIRD_PARTY_LICENSES/opus.txt +44 -0
- package/THIRD_PARTY_LICENSES/sherpa-onnx.txt +201 -0
- package/THIRD_PARTY_LICENSES/shine.txt +482 -0
- package/THIRD_PARTY_LICENSES/zstd.txt +30 -0
- package/android/build.gradle +7 -3
- package/android/prebuilt-download.gradle +344 -152
- package/android/prebuilt-versions.gradle +1 -1
- package/android/src/main/assets/model_licenses/asr-models-license-status.csv +409 -0
- package/android/src/main/assets/model_licenses/qnn-asr-models-license-status.csv +695 -0
- package/android/src/main/assets/model_licenses/tts-models-license-status.csv +596 -0
- package/android/src/main/cpp/CMakeLists.txt +28 -10
- package/android/src/main/cpp/jni/archive/sherpa-onnx-archive-helper.cpp +2 -2
- package/android/src/main/cpp/jni/audio/sherpa-onnx-audio-convert-jni.cpp +268 -2
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect-tts.cpp +6 -2
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-validate-tts.cpp +4 -2
- package/android/src/main/java/com/sherpaonnx/SherpaOnnxArchiveHelper.kt +40 -10
- package/android/src/main/java/com/sherpaonnx/SherpaOnnxModule.kt +99 -0
- package/android/src/main/java/com/sherpaonnx/SherpaOnnxOnlineSttHelper.kt +4 -1
- package/android/src/main/java/com/sherpaonnx/SherpaOnnxTtsHelper.kt +112 -97
- package/ios/Resources/model_licenses/asr-models-license-status.csv +409 -0
- package/ios/Resources/model_licenses/qnn-asr-models-license-status.csv +695 -0
- package/ios/Resources/model_licenses/tts-models-license-status.csv +596 -0
- package/ios/SherpaOnnx+OnlineSTT.mm +2 -0
- package/ios/SherpaOnnx+PcmLiveStream.mm +2 -29
- package/ios/SherpaOnnx+TTS.mm +178 -20
- package/ios/SherpaOnnx.mm +54 -0
- package/ios/SherpaOnnxAudioConvert.h +10 -0
- package/ios/SherpaOnnxAudioConvert.mm +257 -1
- package/ios/archive/sherpa-onnx-archive-helper.h +3 -0
- package/ios/archive/sherpa-onnx-archive-helper.mm +39 -6
- package/ios/model_detect/sherpa-onnx-model-detect-tts.mm +13 -2
- package/ios/model_detect/sherpa-onnx-validate-tts.mm +4 -2
- package/ios/online_stt/sherpa-onnx-online-stt-wrapper.h +1 -0
- package/ios/online_stt/sherpa-onnx-online-stt-wrapper.mm +4 -0
- package/ios/tts/sherpa-onnx-tts-wrapper.h +37 -0
- package/ios/tts/sherpa-onnx-tts-wrapper.mm +149 -3
- package/lib/module/NativeSherpaOnnx.js.map +1 -1
- package/lib/module/audio/index.js +8 -0
- package/lib/module/audio/index.js.map +1 -1
- package/lib/module/download/ModelDownloadManager.js +10 -929
- package/lib/module/download/ModelDownloadManager.js.map +1 -1
- package/lib/module/download/activeModelOperations.js +26 -0
- package/lib/module/download/activeModelOperations.js.map +1 -0
- package/lib/module/download/background-downloader.d.js +2 -0
- package/lib/module/download/background-downloader.d.js.map +1 -0
- package/lib/module/download/bulkPurge.js +72 -0
- package/lib/module/download/bulkPurge.js.map +1 -0
- package/lib/module/download/checksumPrompt.js +19 -0
- package/lib/module/download/checksumPrompt.js.map +1 -0
- package/lib/module/download/constants.js +7 -0
- package/lib/module/download/constants.js.map +1 -0
- package/lib/module/download/downloadEvents.js +35 -0
- package/lib/module/download/downloadEvents.js.map +1 -0
- package/lib/module/download/downloadTask.js +385 -0
- package/lib/module/download/downloadTask.js.map +1 -0
- package/lib/module/download/ensureModel.js +89 -0
- package/lib/module/download/ensureModel.js.map +1 -0
- package/lib/module/download/index.js +4 -4
- package/lib/module/download/index.js.map +1 -1
- package/lib/module/download/localModels.js +151 -0
- package/lib/module/download/localModels.js.map +1 -0
- package/lib/module/download/modelExtraction.js +174 -0
- package/lib/module/download/modelExtraction.js.map +1 -0
- package/lib/module/download/paths.js +98 -0
- package/lib/module/download/paths.js.map +1 -0
- package/lib/module/download/postDownloadProcessing.js +206 -0
- package/lib/module/download/postDownloadProcessing.js.map +1 -0
- package/lib/module/download/protectedModelKeys.js +31 -0
- package/lib/module/download/protectedModelKeys.js.map +1 -0
- package/lib/module/download/registry.js +267 -0
- package/lib/module/download/registry.js.map +1 -0
- package/lib/module/download/retry.js +59 -0
- package/lib/module/download/retry.js.map +1 -0
- package/lib/module/download/types.js +17 -0
- package/lib/module/download/types.js.map +1 -0
- package/lib/module/download/validation.js +101 -5
- package/lib/module/download/validation.js.map +1 -1
- package/lib/module/{download → extraction}/extractTarBz2.js +3 -1
- package/lib/module/extraction/extractTarBz2.js.map +1 -0
- package/lib/module/{download → extraction}/extractTarZst.js +3 -1
- package/lib/module/extraction/extractTarZst.js.map +1 -0
- package/lib/module/extraction/index.js +3 -4
- package/lib/module/extraction/index.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/licenses.js +63 -0
- package/lib/module/licenses.js.map +1 -0
- package/lib/module/stt/index.js +16 -2
- package/lib/module/stt/index.js.map +1 -1
- package/lib/module/stt/streaming.js +2 -0
- package/lib/module/stt/streaming.js.map +1 -1
- package/lib/module/stt/streamingTypes.js.map +1 -1
- package/lib/module/stt/types.js.map +1 -1
- package/lib/module/tts/index.js +20 -2
- package/lib/module/tts/index.js.map +1 -1
- package/lib/module/tts/streaming.js +4 -0
- package/lib/module/tts/streaming.js.map +1 -1
- package/lib/module/tts/types.js.map +1 -1
- package/lib/module/utils.js +16 -1
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/src/NativeSherpaOnnx.d.ts +33 -5
- package/lib/typescript/src/NativeSherpaOnnx.d.ts.map +1 -1
- package/lib/typescript/src/audio/index.d.ts +10 -0
- package/lib/typescript/src/audio/index.d.ts.map +1 -1
- package/lib/typescript/src/download/ModelDownloadManager.d.ts +10 -108
- package/lib/typescript/src/download/ModelDownloadManager.d.ts.map +1 -1
- package/lib/typescript/src/download/activeModelOperations.d.ts +6 -0
- package/lib/typescript/src/download/activeModelOperations.d.ts.map +1 -0
- package/lib/typescript/src/download/bulkPurge.d.ts +14 -0
- package/lib/typescript/src/download/bulkPurge.d.ts.map +1 -0
- package/lib/typescript/src/download/checksumPrompt.d.ts +3 -0
- package/lib/typescript/src/download/checksumPrompt.d.ts.map +1 -0
- package/lib/typescript/src/download/constants.d.ts +5 -0
- package/lib/typescript/src/download/constants.d.ts.map +1 -0
- package/lib/typescript/src/download/downloadEvents.d.ts +6 -0
- package/lib/typescript/src/download/downloadEvents.d.ts.map +1 -0
- package/lib/typescript/src/download/downloadTask.d.ts +20 -0
- package/lib/typescript/src/download/downloadTask.d.ts.map +1 -0
- package/lib/typescript/src/download/ensureModel.d.ts +26 -0
- package/lib/typescript/src/download/ensureModel.d.ts.map +1 -0
- package/lib/typescript/src/download/index.d.ts +7 -7
- package/lib/typescript/src/download/index.d.ts.map +1 -1
- package/lib/typescript/src/download/localModels.d.ts +15 -0
- package/lib/typescript/src/download/localModels.d.ts.map +1 -0
- package/lib/typescript/src/download/modelExtraction.d.ts +36 -0
- package/lib/typescript/src/download/modelExtraction.d.ts.map +1 -0
- package/lib/typescript/src/download/paths.d.ts +28 -0
- package/lib/typescript/src/download/paths.d.ts.map +1 -0
- package/lib/typescript/src/download/postDownloadProcessing.d.ts +19 -0
- package/lib/typescript/src/download/postDownloadProcessing.d.ts.map +1 -0
- package/lib/typescript/src/download/protectedModelKeys.d.ts +6 -0
- package/lib/typescript/src/download/protectedModelKeys.d.ts.map +1 -0
- package/lib/typescript/src/download/registry.d.ts +14 -0
- package/lib/typescript/src/download/registry.d.ts.map +1 -0
- package/lib/typescript/src/download/retry.d.ts +15 -0
- package/lib/typescript/src/download/retry.d.ts.map +1 -0
- package/lib/typescript/src/download/types.d.ts +96 -0
- package/lib/typescript/src/download/types.d.ts.map +1 -0
- package/lib/typescript/src/download/validation.d.ts +19 -0
- package/lib/typescript/src/download/validation.d.ts.map +1 -1
- package/lib/typescript/src/extraction/extractTarBz2.d.ts.map +1 -0
- package/lib/typescript/src/extraction/extractTarZst.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/licenses.d.ts +10 -0
- package/lib/typescript/src/licenses.d.ts.map +1 -0
- package/lib/typescript/src/stt/index.d.ts +4 -1
- package/lib/typescript/src/stt/index.d.ts.map +1 -1
- package/lib/typescript/src/stt/streaming.d.ts.map +1 -1
- package/lib/typescript/src/stt/streamingTypes.d.ts +5 -0
- package/lib/typescript/src/stt/streamingTypes.d.ts.map +1 -1
- package/lib/typescript/src/stt/types.d.ts +3 -1
- package/lib/typescript/src/stt/types.d.ts.map +1 -1
- package/lib/typescript/src/tts/index.d.ts +3 -1
- package/lib/typescript/src/tts/index.d.ts.map +1 -1
- package/lib/typescript/src/tts/streaming.d.ts.map +1 -1
- package/lib/typescript/src/tts/types.d.ts +6 -5
- package/lib/typescript/src/tts/types.d.ts.map +1 -1
- package/lib/typescript/src/utils.d.ts +5 -0
- package/lib/typescript/src/utils.d.ts.map +1 -1
- package/package.json +6 -1
- package/scripts/{check-model-csvs.sh → ci/check-model-csvs.sh} +9 -2
- package/scripts/ci/collect_all_sherpa_model_streams.sh +101 -0
- package/scripts/ci/collect_one_sherpa_release_stream.sh +189 -0
- package/scripts/ci/sherpa_asr_model_release_streams.json +21 -0
- package/scripts/ci/sherpa_tts_model_release_streams.json +13 -0
- package/scripts/ci/update_model_license_csv.sh +765 -0
- package/scripts/setup-ios-framework.sh +14 -11
- package/scripts/update_commercial_use.js +73 -0
- package/src/NativeSherpaOnnx.ts +36 -5
- package/src/audio/index.ts +20 -0
- package/src/download/ModelDownloadManager.ts +55 -1343
- package/src/download/activeModelOperations.ts +38 -0
- package/src/download/background-downloader.d.ts +43 -0
- package/src/download/bulkPurge.ts +102 -0
- package/src/download/checksumPrompt.ts +25 -0
- package/src/download/constants.ts +5 -0
- package/src/download/downloadEvents.ts +55 -0
- package/src/download/downloadTask.ts +497 -0
- package/src/download/ensureModel.ts +124 -0
- package/src/download/index.ts +19 -4
- package/src/download/localModels.ts +234 -0
- package/src/download/modelExtraction.ts +244 -0
- package/src/download/paths.ts +134 -0
- package/src/download/postDownloadProcessing.ts +292 -0
- package/src/download/protectedModelKeys.ts +30 -0
- package/src/download/registry.ts +404 -0
- package/src/download/retry.ts +76 -0
- package/src/download/types.ts +120 -0
- package/src/download/validation.ts +114 -8
- package/src/{download → extraction}/extractTarBz2.ts +3 -1
- package/src/{download → extraction}/extractTarZst.ts +3 -1
- package/src/extraction/index.ts +3 -7
- package/src/index.tsx +1 -0
- package/src/licenses.ts +100 -0
- package/src/stt/index.ts +20 -2
- package/src/stt/streaming.ts +3 -0
- package/src/stt/streamingTypes.ts +5 -0
- package/src/stt/types.ts +3 -1
- package/src/tts/index.ts +30 -2
- package/src/tts/streaming.ts +10 -0
- package/src/tts/types.ts +6 -5
- package/src/utils.ts +22 -1
- package/third_party/sherpa-onnx-prebuilt/ANDROID_RELEASE_TAG +1 -1
- package/third_party/sherpa-onnx-prebuilt/IOS_RELEASE_TAG +1 -1
- package/android/src/main/cpp/jni/tts/sherpa-onnx-tts-zipvoice-jni.cpp +0 -301
- package/android/src/main/java/com/sherpaonnx/ZipvoiceTtsWrapper.kt +0 -187
- package/lib/module/download/extractTarBz2.js.map +0 -1
- package/lib/module/download/extractTarZst.js.map +0 -1
- package/lib/typescript/src/download/extractTarBz2.d.ts.map +0 -1
- package/lib/typescript/src/download/extractTarZst.d.ts.map +0 -1
- package/scripts/check-qnn-support.sh +0 -78
- /package/lib/typescript/src/{download → extraction}/extractTarBz2.d.ts +0 -0
- /package/lib/typescript/src/{download → extraction}/extractTarZst.d.ts +0 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Fetch one GitHub release from k2-fsa/sherpa-onnx (or --github-repo), refresh tree listings,
|
|
3
|
+
# aggregate structure + expected CSV, optionally run update_model_license_csv.sh (in this directory).
|
|
4
|
+
# Paths are relative to repository root (--repo-root).
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
GITHUB_REPO="k2-fsa/sherpa-onnx"
|
|
8
|
+
REPO_ROOT=""
|
|
9
|
+
RELEASE_TAG=""
|
|
10
|
+
STRUCTURE_FILE=""
|
|
11
|
+
EXPECTED_CSV=""
|
|
12
|
+
TREE_CACHE_DIR=""
|
|
13
|
+
LICENSE_CSV=""
|
|
14
|
+
STREAM_ID=""
|
|
15
|
+
|
|
16
|
+
usage() {
|
|
17
|
+
echo "Usage: $0 --repo-root <dir> --release-tag <tag> --structure-file <rel> --expected-csv <rel> \\"
|
|
18
|
+
echo " --tree-cache-dir <rel> [--github-repo owner/name] [--license-csv <rel>] [--stream-id <id>]"
|
|
19
|
+
exit 1
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
while [[ $# -gt 0 ]]; do
|
|
23
|
+
case $1 in
|
|
24
|
+
--repo-root) REPO_ROOT="$2"; shift 2 ;;
|
|
25
|
+
--github-repo) GITHUB_REPO="$2"; shift 2 ;;
|
|
26
|
+
--release-tag) RELEASE_TAG="$2"; shift 2 ;;
|
|
27
|
+
--structure-file) STRUCTURE_FILE="$2"; shift 2 ;;
|
|
28
|
+
--expected-csv) EXPECTED_CSV="$2"; shift 2 ;;
|
|
29
|
+
--tree-cache-dir) TREE_CACHE_DIR="$2"; shift 2 ;;
|
|
30
|
+
--license-csv) LICENSE_CSV="$2"; shift 2 ;;
|
|
31
|
+
--stream-id) STREAM_ID="$2"; shift 2 ;;
|
|
32
|
+
*) echo "Unknown option: $1"; usage ;;
|
|
33
|
+
esac
|
|
34
|
+
done
|
|
35
|
+
|
|
36
|
+
[[ -n "$REPO_ROOT" && -n "$RELEASE_TAG" && -n "$STRUCTURE_FILE" && -n "$EXPECTED_CSV" && -n "$TREE_CACHE_DIR" ]] || usage
|
|
37
|
+
|
|
38
|
+
REPO_ROOT="$(cd "$REPO_ROOT" && pwd)"
|
|
39
|
+
cd "$REPO_ROOT"
|
|
40
|
+
|
|
41
|
+
CI_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
42
|
+
|
|
43
|
+
_abs_tree="$REPO_ROOT/$TREE_CACHE_DIR"
|
|
44
|
+
_abs_structure="$REPO_ROOT/$STRUCTURE_FILE"
|
|
45
|
+
_abs_expected="$REPO_ROOT/$EXPECTED_CSV"
|
|
46
|
+
|
|
47
|
+
WORK="$(mktemp -d -t sherpa-collect-XXXXXX)"
|
|
48
|
+
trap 'rm -rf "$WORK"' EXIT
|
|
49
|
+
ASSET_LIST="$WORK/asset-list.txt"
|
|
50
|
+
|
|
51
|
+
_GH_TOKEN="${GITHUB_TOKEN:-${GH_TOKEN:-}}"
|
|
52
|
+
_ASSET_LIMIT="${ASSET_LIMIT:-}"
|
|
53
|
+
|
|
54
|
+
echo "=== collect_one_sherpa_release_stream: tag=$RELEASE_TAG tree-cache=$TREE_CACHE_DIR ==="
|
|
55
|
+
|
|
56
|
+
API_AUTH=()
|
|
57
|
+
if [[ -n "$_GH_TOKEN" ]]; then
|
|
58
|
+
API_AUTH=(-H "Authorization: Bearer ${_GH_TOKEN}" -H "Accept: application/vnd.github+json")
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
RESP="$(curl -sSL "${API_AUTH[@]}" "https://api.github.com/repos/${GITHUB_REPO}/releases/tags/${RELEASE_TAG}")"
|
|
62
|
+
if echo "$RESP" | jq -e '.assets' >/dev/null 2>&1; then
|
|
63
|
+
LIST="$(echo "$RESP" | jq -r '.assets[] | select(.name | endswith(".tar.bz2") or endswith(".onnx")) | "\(.name)|\(.browser_download_url)"')"
|
|
64
|
+
if [[ -z "$_ASSET_LIMIT" || "$_ASSET_LIMIT" == "0" ]]; then
|
|
65
|
+
printf '%s\n' "$LIST" > "$ASSET_LIST"
|
|
66
|
+
echo " Asset list: no limit ($(wc -l < "$ASSET_LIST" | tr -d ' ') lines)"
|
|
67
|
+
else
|
|
68
|
+
printf '%s\n' "$LIST" | head -n "$_ASSET_LIMIT" > "$ASSET_LIST"
|
|
69
|
+
echo " Asset list: limit $_ASSET_LIMIT ($(wc -l < "$ASSET_LIST" | tr -d ' ') lines)"
|
|
70
|
+
fi
|
|
71
|
+
else
|
|
72
|
+
echo "::warning::Release ${RELEASE_TAG} not found or has no assets (${GITHUB_REPO})" >&2
|
|
73
|
+
: > "$ASSET_LIST"
|
|
74
|
+
fi
|
|
75
|
+
|
|
76
|
+
mkdir -p "$_abs_tree"
|
|
77
|
+
|
|
78
|
+
if [[ -f "$_abs_structure" ]]; then
|
|
79
|
+
cur=""
|
|
80
|
+
safe=""
|
|
81
|
+
while IFS= read -r line || [[ -n "$line" ]]; do
|
|
82
|
+
line="${line%$'\r'}"
|
|
83
|
+
if [[ "$line" =~ ^#\ Asset:\ (.+)$ ]]; then
|
|
84
|
+
cur="${BASH_REMATCH[1]}"
|
|
85
|
+
safe="${cur//\//-}"
|
|
86
|
+
safe="${safe//\\/-}"
|
|
87
|
+
: > "${_abs_tree}/${safe}.txt"
|
|
88
|
+
elif [[ -n "$cur" ]]; then
|
|
89
|
+
printf '%s\n' "$line" >> "${_abs_tree}/${safe}.txt"
|
|
90
|
+
fi
|
|
91
|
+
done < "$_abs_structure"
|
|
92
|
+
echo " Parsed existing structure into ${_abs_tree}"
|
|
93
|
+
else
|
|
94
|
+
echo " No existing structure file; tree-cache will be filled from downloads only"
|
|
95
|
+
fi
|
|
96
|
+
|
|
97
|
+
mkdir -p "$WORK/dl"
|
|
98
|
+
while IFS='|' read -r name url; do
|
|
99
|
+
[[ -z "$name" ]] && continue
|
|
100
|
+
name="${name%$'\r'}"
|
|
101
|
+
url="${url%$'\r'}"
|
|
102
|
+
safe="${name//\//-}"
|
|
103
|
+
safe="${safe//\\/-}"
|
|
104
|
+
cache_file="${_abs_tree}/${safe}.txt"
|
|
105
|
+
if [[ -f "$cache_file" ]]; then
|
|
106
|
+
echo " Skip (cache hit): $name"
|
|
107
|
+
continue
|
|
108
|
+
fi
|
|
109
|
+
echo " Download: $name"
|
|
110
|
+
dl="$WORK/dl/$safe"
|
|
111
|
+
DL_ARGS=(-sSL)
|
|
112
|
+
if [[ -n "$_GH_TOKEN" && "$url" == *"github.com"* ]]; then
|
|
113
|
+
DL_ARGS+=(-H "Authorization: Bearer ${_GH_TOKEN}" -H "Accept: application/octet-stream")
|
|
114
|
+
fi
|
|
115
|
+
if ! curl "${DL_ARGS[@]}" -o "$dl" "$url"; then
|
|
116
|
+
echo "::warning::Download failed for $name" >&2
|
|
117
|
+
rm -f "$dl"
|
|
118
|
+
continue
|
|
119
|
+
fi
|
|
120
|
+
if [[ "$name" == *.tar.bz2 ]]; then
|
|
121
|
+
if ! tar -tjf "$dl" > "$cache_file" 2>/dev/null; then
|
|
122
|
+
echo "::warning::tar -tjf failed for $name" >&2
|
|
123
|
+
rm -f "$cache_file" "$dl"
|
|
124
|
+
continue
|
|
125
|
+
fi
|
|
126
|
+
elif [[ "$name" == *.onnx ]]; then
|
|
127
|
+
echo "single file: $name" > "$cache_file"
|
|
128
|
+
else
|
|
129
|
+
echo "::warning::Unexpected asset $name" >&2
|
|
130
|
+
rm -f "$dl"
|
|
131
|
+
continue
|
|
132
|
+
fi
|
|
133
|
+
rm -f "$dl"
|
|
134
|
+
done < "$ASSET_LIST"
|
|
135
|
+
|
|
136
|
+
mkdir -p "$(dirname "$_abs_structure")"
|
|
137
|
+
: > "$_abs_structure"
|
|
138
|
+
while IFS='|' read -r name _; do
|
|
139
|
+
[[ -z "$name" ]] && continue
|
|
140
|
+
name="${name%$'\r'}"
|
|
141
|
+
safe="${name//\//-}"
|
|
142
|
+
safe="${safe//\\/-}"
|
|
143
|
+
cache_file="${_abs_tree}/${safe}.txt"
|
|
144
|
+
[[ -f "$cache_file" ]] || continue
|
|
145
|
+
echo "# Asset: $name" >> "$_abs_structure"
|
|
146
|
+
cat "$cache_file" >> "$_abs_structure"
|
|
147
|
+
done < "$ASSET_LIST"
|
|
148
|
+
echo " Wrote aggregated structure ($(wc -l < "$_abs_structure" | tr -d ' ') lines)"
|
|
149
|
+
|
|
150
|
+
if [[ ! -s "$ASSET_LIST" ]]; then
|
|
151
|
+
echo " No assets; skipping expected CSV and license update"
|
|
152
|
+
exit 0
|
|
153
|
+
fi
|
|
154
|
+
|
|
155
|
+
mkdir -p "$(dirname "$_abs_expected")"
|
|
156
|
+
if [[ ! -f "$_abs_expected" ]]; then
|
|
157
|
+
echo "asset_name,model_type" > "$_abs_expected"
|
|
158
|
+
fi
|
|
159
|
+
tmp="$(mktemp)"
|
|
160
|
+
echo "asset_name,model_type" > "$tmp"
|
|
161
|
+
while IFS='|' read -r asset _; do
|
|
162
|
+
[[ -z "$asset" ]] && continue
|
|
163
|
+
asset="${asset%$'\r'}"
|
|
164
|
+
esc="${asset//./\\.}"
|
|
165
|
+
line="$(grep -E "^(\"${esc}\"|${esc})," "$_abs_expected" 2>/dev/null | head -1 || true)"
|
|
166
|
+
if [[ -n "$line" ]]; then
|
|
167
|
+
echo "$line" >> "$tmp"
|
|
168
|
+
else
|
|
169
|
+
echo "${asset}," >> "$tmp"
|
|
170
|
+
fi
|
|
171
|
+
done < "$ASSET_LIST"
|
|
172
|
+
mv "$tmp" "$_abs_expected"
|
|
173
|
+
echo " Expected CSV rows: $(($(wc -l < "$_abs_expected" | tr -d ' ') - 1)) data (+ header)"
|
|
174
|
+
|
|
175
|
+
if [[ -n "$LICENSE_CSV" ]]; then
|
|
176
|
+
_abs_license="$REPO_ROOT/$LICENSE_CSV"
|
|
177
|
+
echo " License CSV: $LICENSE_CSV"
|
|
178
|
+
_lic_args=(
|
|
179
|
+
--asset-list "$ASSET_LIST"
|
|
180
|
+
--tree-cache-dir "$_abs_tree"
|
|
181
|
+
--csv "$_abs_license"
|
|
182
|
+
)
|
|
183
|
+
if [[ -n "$STREAM_ID" ]]; then
|
|
184
|
+
_lic_args+=(--stream-id "$STREAM_ID")
|
|
185
|
+
fi
|
|
186
|
+
bash "$CI_DIR/update_model_license_csv.sh" "${_lic_args[@]}"
|
|
187
|
+
fi
|
|
188
|
+
|
|
189
|
+
echo "=== done: $RELEASE_TAG ==="
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"repo": "k2-fsa/sherpa-onnx",
|
|
3
|
+
"streams": [
|
|
4
|
+
{
|
|
5
|
+
"id": "asr-models",
|
|
6
|
+
"release_tag": "asr-models",
|
|
7
|
+
"tree_cache_dir": "tree-cache/asr-models",
|
|
8
|
+
"structure_file": "test/fixtures/asr-models-structure.txt",
|
|
9
|
+
"expected_csv": "test/fixtures/asr-models-expected.csv",
|
|
10
|
+
"license_csv": "android/src/main/assets/model_licenses/asr-models-license-status.csv"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"id": "asr-models-qnn-binary",
|
|
14
|
+
"release_tag": "asr-models-qnn-binary",
|
|
15
|
+
"tree_cache_dir": "tree-cache/asr-models-qnn-binary",
|
|
16
|
+
"structure_file": "test/fixtures/qnn-asr-models-structure.txt",
|
|
17
|
+
"expected_csv": "test/fixtures/qnn-asr-models-expected.csv",
|
|
18
|
+
"license_csv": "android/src/main/assets/model_licenses/qnn-asr-models-license-status.csv"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"repo": "k2-fsa/sherpa-onnx",
|
|
3
|
+
"streams": [
|
|
4
|
+
{
|
|
5
|
+
"id": "tts-models",
|
|
6
|
+
"release_tag": "tts-models",
|
|
7
|
+
"tree_cache_dir": "tree-cache/tts-models",
|
|
8
|
+
"structure_file": "test/fixtures/tts-models-structure.txt",
|
|
9
|
+
"expected_csv": "test/fixtures/tts-models-expected.csv",
|
|
10
|
+
"license_csv": "android/src/main/assets/model_licenses/tts-models-license-status.csv"
|
|
11
|
+
}
|
|
12
|
+
]
|
|
13
|
+
}
|