A Study of Low-Resource Speech Commands Recognition Based on Adversarial Reprogramming
## Adversarial Reprogramming on Speech Command Recognition
### Environment
Tensorflow 2.2 (CUDA=10.0) and Kapre 0.2.0.
- option 1 (from yml)
```shell
conda env create -f repr-scr.yml
source activate repr-scr
```
- option 2 (from clean python 3.6)
```shell
pip install tensorflow-gpu==2.1.0
pip install kapre==0.2.0
pip install h5py==2.10.0
```
### Dataset
Arabic Speech Commands dataset
- Please download the Arabic Speech Commands dataset here.
```shell
./prepare_ar_data.sh
```
Lithuanian Speech Commands dataset
- Please download the Lithuanian Speech Commands dataset here.
```shell
./prepare_lt_data.sh
```
Dysarthric Speech Commands dataset
- Please download the Lithuanian Speech Commands dataset here.
```shell
./prepare_dm_data.sh
```
### Training
For training and evaluating the three speech command recognition results.
```shell
./run_ar.sh
./run_lt.sh
./run_dm.sh
```
For more details please refer to AR-SCR, LT-SCR and DM-SCR
(**Optional**) Note that in our default setting we use the random mapping strategy. To enable the similarity mapping,
please modify the code at utils.py as followed:
```python
def multi_mapping(prob, source_num, mapping_num, target_num):
similarity_mapping = True
```
And choose lable_map according to your task. You can also see and check mapping results for each task by running the following command:
```sh
python AR-SCR/source_target_pairing.py
python LT-SCR/source_target_pairing.py
python DM-SCR/source_target_pairing.py
```
#### Please consider to cite this work if you use the provided code or find the idea related to your research. Thank you!
- A Study of Low-Resource Speech Commands Recognition Based on Adversarial Reprogramming Paper
```bib
@article{yen2023neural,
title={Neural model reprogramming with similarity based mapping for low-resource spoken command classification},
author={Yen, Hao and Ku, Pin-Jui and Yang, Chao-Han Huck and Hu, Hu and Siniscalchi, Sabato Marco and Chen, Pin-Yu and Tsao, Yu},
journal={Pr …