Open aaronchantrill opened 4 years ago
I'm looking at using this project for an initial test: https://github.com/Suhee05/Text-Independent-Speaker-Verification
I already have had the NaomiSTTTrainer.py allowing you to enter a name for a while, so I have a database with a bunch of recordings labeled with my own name and just a few with other people's names. It would be interesting to see how many recordings are needed to differentiate between two individuals, and also how much audio is required to do a check.
I've been working with Speaker-Verification-Toolkit and have a test project at python_speaker_verification_test. This package is easy to install on x86_64 systems (pip install speaker-verification-toolkit) but a pain on ARM (Raspberry Pi). To install it on ARM, you need to install version 11 of llvm first, which isn't really obvious from the error messages. Also, when building the package from source it is import to build it as type=Release or else you will run out of memory during the linking step.
$ wget https://github.com/llvm/llvm-project/releases/download/llvmorg-11.1.0/llvm-11.1.0.src.tar.xz
$ tar -xvf llvm-11.1.0.src.tar.xz
$ cd llvm-11.1.0.src/
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make
$ sudo make install
$ pip install speaker-verification-toolkit
Detailed Description
Naomi should be able to respond differently to different users. If a family member asks "do I have any emails" it should not be necessary for Naomi to ask "who are you?" This would allow the user's voice to act as a sort of authorization. As part of the speech to text training, ultimately I would like to train a different acoustic model for each member of the family. Being able to identify the speaker by voice before selecting the acoustic model would make it possible to use an acoustic model optimized for the speaker, which should lead to better recognition overall.
Context
This could start allowing a database to be built around the user, and also help improve speech recognition
Possible Implementation
Your Environment