├── README.md ├── Xiaogua.iml ├── app ├── app.iml ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ ├── README.txt │ ├── kws.cmvn │ ├── kws.cmvn.v2 │ ├── kws.cmvn.v3 │ ├── kws.filler │ ├── kws.fst │ ├── kws.fst.v4 │ ├── kws.kaldi.net.v4 │ ├── kws.net │ ├── kws.net.v2 │ ├── kws.net.v3 │ ├── kws.net.v4 │ ├── kws.quantize.net │ ├── kws.quantize.net.v2 │ ├── kws.quantize.net.v3 │ ├── kws.quantize.net.v4 │ └── state.int.v4 │ ├── java │ └── com │ │ └── example │ │ └── binbzha │ │ └── xiaogua │ │ ├── Kws.java │ │ ├── MainActivity.java │ │ ├── Status.java │ │ └── VoiceRectView.java │ ├── jni │ ├── Android.mk │ ├── Application.mk │ ├── Makefile │ ├── com_example_binbzha_xiaogua_Kws.h │ ├── header.sh │ ├── kws │ │ ├── Android.mk │ │ ├── Makefile │ │ ├── cblas.h │ │ ├── fbank.h │ │ ├── feature-pipeline.cc │ │ ├── feature-pipeline.h │ │ ├── fft.cc │ │ ├── fft.h │ │ ├── fst.cc │ │ ├── fst.h │ │ ├── keyword-spot.h │ │ ├── kws.cc │ │ ├── kws.h │ │ ├── libopenblas_armv7p-r0.2.20.dev.a │ │ ├── net.cc │ │ ├── net.h │ │ ├── openblas_config.h │ │ ├── symbol-table.h │ │ ├── third_party │ │ │ └── gemmlowp │ │ │ │ ├── .travis.yml │ │ │ │ ├── eight_bit_int_gemm │ │ │ │ ├── eight_bit_int_gemm.cc │ │ │ │ └── eight_bit_int_gemm.h │ │ │ │ ├── fixedpoint │ │ │ │ ├── fixedpoint.h │ │ │ │ ├── fixedpoint_neon.h │ │ │ │ └── fixedpoint_sse.h │ │ │ │ ├── internal │ │ │ │ ├── allocator.h │ │ │ │ ├── block_params.h │ │ │ │ ├── common.h │ │ │ │ ├── compute.h │ │ │ │ ├── dispatch_gemm_shape.h │ │ │ │ ├── kernel.h │ │ │ │ ├── kernel_default.h │ │ │ │ ├── kernel_neon.h │ │ │ │ ├── kernel_reference.h │ │ │ │ ├── kernel_sse.h │ │ │ │ ├── multi_thread_gemm.h │ │ │ │ ├── output.h │ │ │ │ ├── output_neon.h │ │ │ │ ├── output_sse.h │ │ │ │ ├── pack.h │ │ │ │ ├── pack_neon.h │ │ │ │ ├── pack_sse.h │ │ │ │ ├── simd_wrappers.h │ │ │ │ ├── simd_wrappers_common_neon_sse.h │ │ │ │ ├── simd_wrappers_neon.h │ │ │ │ ├── simd_wrappers_sse.h │ │ │ │ ├── single_thread_gemm.h │ │ │ │ └── unpack.h │ │ │ │ ├── meta │ │ │ │ ├── README │ │ │ │ ├── base.h │ │ │ │ ├── generators │ │ │ │ │ ├── cc_emitter.py │ │ │ │ │ ├── common.py │ │ │ │ │ ├── metagemm_generate_headers.sh │ │ │ │ │ ├── neon_emitter.py │ │ │ │ │ ├── neon_emitter_64.py │ │ │ │ │ ├── quantized_mul_kernels_arm_32.py │ │ │ │ │ ├── quantized_mul_kernels_arm_64.py │ │ │ │ │ ├── quantized_mul_kernels_common.py │ │ │ │ │ ├── streams_arm_32.py │ │ │ │ │ ├── streams_arm_64.py │ │ │ │ │ ├── streams_common.py │ │ │ │ │ ├── transform_kernels_arm_32.py │ │ │ │ │ ├── transform_kernels_arm_64.py │ │ │ │ │ └── transform_kernels_common.py │ │ │ │ ├── legacy_multi_thread_common.h │ │ │ │ ├── legacy_multi_thread_gemm.h │ │ │ │ ├── legacy_multi_thread_gemv.h │ │ │ │ ├── legacy_operations_common.h │ │ │ │ ├── legacy_single_thread_gemm.h │ │ │ │ ├── multi_thread_common.h │ │ │ │ ├── multi_thread_gemm.h │ │ │ │ ├── multi_thread_transform.h │ │ │ │ ├── quantized_mul_kernels.h │ │ │ │ ├── quantized_mul_kernels_arm_32.h │ │ │ │ ├── quantized_mul_kernels_arm_64.h │ │ │ │ ├── single_thread_gemm.h │ │ │ │ ├── single_thread_transform.h │ │ │ │ ├── streams.h │ │ │ │ ├── streams_arm_32.h │ │ │ │ ├── streams_arm_64.h │ │ │ │ ├── test_gemm_correctness.cc │ │ │ │ ├── test_streams_correctness.cc │ │ │ │ ├── test_transform_benchmark.cc │ │ │ │ ├── test_transform_correctness.cc │ │ │ │ ├── transform_kernels.h │ │ │ │ ├── transform_kernels_arm_32.h │ │ │ │ └── transform_kernels_arm_64.h │ │ │ │ ├── profiling │ │ │ │ ├── instrumentation.h │ │ │ │ └── profiler.h │ │ │ │ ├── public │ │ │ │ ├── bit_depth.h │ │ │ │ ├── gemmlowp.h │ │ │ │ ├── map.h │ │ │ │ └── output_stages.h │ │ │ │ └── standalone │ │ │ │ └── neon-gemm-kernel-benchmark.cc │ │ ├── tools │ │ │ ├── convert_kaldi_cmvn.py │ │ │ ├── convert_kaldi_nnet1_model.py │ │ │ ├── convert_keras_model.py │ │ │ └── net-quantization.cc │ │ └── utils.h │ └── xiaogua.cc │ └── res │ ├── layout │ └── activity_main.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ └── values │ ├── attrs.xml │ ├── colors.xml │ ├── strings.xml │ └── styles.xml ├── gradle.properties ├── gradlew ├── gradlew.bat ├── kws_on_android.iml └── settings.gradle /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/README.md -------------------------------------------------------------------------------- /Xiaogua.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/Xiaogua.iml -------------------------------------------------------------------------------- /app/app.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/app.iml -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/assets/README.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/README.txt -------------------------------------------------------------------------------- /app/src/main/assets/kws.cmvn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.cmvn -------------------------------------------------------------------------------- /app/src/main/assets/kws.cmvn.v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.cmvn.v2 -------------------------------------------------------------------------------- /app/src/main/assets/kws.cmvn.v3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.cmvn.v3 -------------------------------------------------------------------------------- /app/src/main/assets/kws.filler: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | sil 2 4 | -------------------------------------------------------------------------------- /app/src/main/assets/kws.fst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.fst -------------------------------------------------------------------------------- /app/src/main/assets/kws.fst.v4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.fst.v4 -------------------------------------------------------------------------------- /app/src/main/assets/kws.kaldi.net.v4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.kaldi.net.v4 -------------------------------------------------------------------------------- /app/src/main/assets/kws.net: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.net -------------------------------------------------------------------------------- /app/src/main/assets/kws.net.v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.net.v2 -------------------------------------------------------------------------------- /app/src/main/assets/kws.net.v3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.net.v3 -------------------------------------------------------------------------------- /app/src/main/assets/kws.net.v4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.net.v4 -------------------------------------------------------------------------------- /app/src/main/assets/kws.quantize.net: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.quantize.net -------------------------------------------------------------------------------- /app/src/main/assets/kws.quantize.net.v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.quantize.net.v2 -------------------------------------------------------------------------------- /app/src/main/assets/kws.quantize.net.v3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.quantize.net.v3 -------------------------------------------------------------------------------- /app/src/main/assets/kws.quantize.net.v4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/kws.quantize.net.v4 -------------------------------------------------------------------------------- /app/src/main/assets/state.int.v4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/assets/state.int.v4 -------------------------------------------------------------------------------- /app/src/main/java/com/example/binbzha/xiaogua/Kws.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/java/com/example/binbzha/xiaogua/Kws.java -------------------------------------------------------------------------------- /app/src/main/java/com/example/binbzha/xiaogua/MainActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/java/com/example/binbzha/xiaogua/MainActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/example/binbzha/xiaogua/Status.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/java/com/example/binbzha/xiaogua/Status.java -------------------------------------------------------------------------------- /app/src/main/java/com/example/binbzha/xiaogua/VoiceRectView.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/java/com/example/binbzha/xiaogua/VoiceRectView.java -------------------------------------------------------------------------------- /app/src/main/jni/Android.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/Android.mk -------------------------------------------------------------------------------- /app/src/main/jni/Application.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/Application.mk -------------------------------------------------------------------------------- /app/src/main/jni/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/Makefile -------------------------------------------------------------------------------- /app/src/main/jni/com_example_binbzha_xiaogua_Kws.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/com_example_binbzha_xiaogua_Kws.h -------------------------------------------------------------------------------- /app/src/main/jni/header.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/header.sh -------------------------------------------------------------------------------- /app/src/main/jni/kws/Android.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/Android.mk -------------------------------------------------------------------------------- /app/src/main/jni/kws/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/Makefile -------------------------------------------------------------------------------- /app/src/main/jni/kws/cblas.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/cblas.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/fbank.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/fbank.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/feature-pipeline.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/feature-pipeline.cc -------------------------------------------------------------------------------- /app/src/main/jni/kws/feature-pipeline.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/feature-pipeline.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/fft.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/fft.cc -------------------------------------------------------------------------------- /app/src/main/jni/kws/fft.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/fft.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/fst.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/fst.cc -------------------------------------------------------------------------------- /app/src/main/jni/kws/fst.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/fst.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/keyword-spot.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/keyword-spot.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/kws.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/kws.cc -------------------------------------------------------------------------------- /app/src/main/jni/kws/kws.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/kws.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/libopenblas_armv7p-r0.2.20.dev.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/libopenblas_armv7p-r0.2.20.dev.a -------------------------------------------------------------------------------- /app/src/main/jni/kws/net.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/net.cc -------------------------------------------------------------------------------- /app/src/main/jni/kws/net.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/net.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/openblas_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/openblas_config.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/symbol-table.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/symbol-table.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/.travis.yml -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/eight_bit_int_gemm/eight_bit_int_gemm.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/eight_bit_int_gemm/eight_bit_int_gemm.cc -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/eight_bit_int_gemm/eight_bit_int_gemm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/eight_bit_int_gemm/eight_bit_int_gemm.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/fixedpoint/fixedpoint.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/fixedpoint/fixedpoint.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/fixedpoint/fixedpoint_neon.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/fixedpoint/fixedpoint_neon.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/fixedpoint/fixedpoint_sse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/fixedpoint/fixedpoint_sse.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/allocator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/allocator.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/block_params.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/block_params.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/common.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/compute.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/compute.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/dispatch_gemm_shape.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/dispatch_gemm_shape.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/kernel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/kernel.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/kernel_default.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/kernel_default.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/kernel_neon.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/kernel_neon.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/kernel_reference.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/kernel_reference.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/kernel_sse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/kernel_sse.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/multi_thread_gemm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/multi_thread_gemm.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/output.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/output.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/output_neon.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/output_neon.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/output_sse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/output_sse.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/pack.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/pack.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/pack_neon.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/pack_neon.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/pack_sse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/pack_sse.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/simd_wrappers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/simd_wrappers.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/simd_wrappers_common_neon_sse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/simd_wrappers_common_neon_sse.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/simd_wrappers_neon.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/simd_wrappers_neon.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/simd_wrappers_sse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/simd_wrappers_sse.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/single_thread_gemm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/single_thread_gemm.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/internal/unpack.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/internal/unpack.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/README -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/base.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/base.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/cc_emitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/cc_emitter.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/common.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/metagemm_generate_headers.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/metagemm_generate_headers.sh -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/neon_emitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/neon_emitter.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/neon_emitter_64.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/neon_emitter_64.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/quantized_mul_kernels_arm_32.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/quantized_mul_kernels_arm_32.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/quantized_mul_kernels_arm_64.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/quantized_mul_kernels_arm_64.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/quantized_mul_kernels_common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/quantized_mul_kernels_common.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/streams_arm_32.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/streams_arm_32.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/streams_arm_64.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/streams_arm_64.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/streams_common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/streams_common.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/transform_kernels_arm_32.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/transform_kernels_arm_32.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/transform_kernels_arm_64.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/transform_kernels_arm_64.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/generators/transform_kernels_common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/generators/transform_kernels_common.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/legacy_multi_thread_common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/legacy_multi_thread_common.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/legacy_multi_thread_gemm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/legacy_multi_thread_gemm.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/legacy_multi_thread_gemv.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/legacy_multi_thread_gemv.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/legacy_operations_common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/legacy_operations_common.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/legacy_single_thread_gemm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/legacy_single_thread_gemm.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/multi_thread_common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/multi_thread_common.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/multi_thread_gemm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/multi_thread_gemm.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/multi_thread_transform.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/multi_thread_transform.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/quantized_mul_kernels.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/quantized_mul_kernels.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/quantized_mul_kernels_arm_32.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/quantized_mul_kernels_arm_32.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/quantized_mul_kernels_arm_64.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/quantized_mul_kernels_arm_64.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/single_thread_gemm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/single_thread_gemm.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/single_thread_transform.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/single_thread_transform.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/streams.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/streams.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/streams_arm_32.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/streams_arm_32.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/streams_arm_64.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/streams_arm_64.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/test_gemm_correctness.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/test_gemm_correctness.cc -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/test_streams_correctness.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/test_streams_correctness.cc -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/test_transform_benchmark.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/test_transform_benchmark.cc -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/test_transform_correctness.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/test_transform_correctness.cc -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/transform_kernels.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/transform_kernels.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/transform_kernels_arm_32.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/transform_kernels_arm_32.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/meta/transform_kernels_arm_64.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/meta/transform_kernels_arm_64.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/profiling/instrumentation.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/profiling/instrumentation.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/profiling/profiler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/profiling/profiler.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/public/bit_depth.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/public/bit_depth.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/public/gemmlowp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/public/gemmlowp.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/public/map.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/public/map.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/public/output_stages.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/public/output_stages.h -------------------------------------------------------------------------------- /app/src/main/jni/kws/third_party/gemmlowp/standalone/neon-gemm-kernel-benchmark.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/third_party/gemmlowp/standalone/neon-gemm-kernel-benchmark.cc -------------------------------------------------------------------------------- /app/src/main/jni/kws/tools/convert_kaldi_cmvn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/tools/convert_kaldi_cmvn.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/tools/convert_kaldi_nnet1_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/tools/convert_kaldi_nnet1_model.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/tools/convert_keras_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/tools/convert_keras_model.py -------------------------------------------------------------------------------- /app/src/main/jni/kws/tools/net-quantization.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/tools/net-quantization.cc -------------------------------------------------------------------------------- /app/src/main/jni/kws/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/kws/utils.h -------------------------------------------------------------------------------- /app/src/main/jni/xiaogua.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/jni/xiaogua.cc -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/values/attrs.xml -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/gradlew.bat -------------------------------------------------------------------------------- /kws_on_android.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robin1001/kws_on_android/HEAD/kws_on_android.iml -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | --------------------------------------------------------------------------------