Merge pull request #8 from jambonz/implement-aws-speech-recognition

Implement AWS Speech Recognition
This commit is contained in:
Dave Horton
2021-01-31 14:21:07 -05:00
committed by GitHub
2 changed files with 37 additions and 4 deletions
+27 -4
View File
@@ -13,6 +13,7 @@ import Button from '../elements/Button';
import SpeechSynthesisLanguageGoogle from '../../data/SpeechSynthesisLanguageGoogle';
import SpeechSynthesisLanguageAws from '../../data/SpeechSynthesisLanguageAws';
import SpeechRecognizerLanguageGoogle from '../../data/SpeechRecognizerLanguageGoogle';
import SpeechRecognizerLanguageAws from '../../data/SpeechRecognizerLanguageAws';
import Loader from '../blocks/Loader';
import CopyableText from '../elements/CopyableText';
@@ -840,9 +841,25 @@ const ApplicationForm = props => {
name="speechRecognizerVendor"
id="speechRecognizerVendor"
value={speechRecognizerVendor}
onChange={e => setSpeechRecognizerVendor(e.target.value)}
onChange={e => {
setSpeechRecognizerVendor(e.target.value);
// Google and AWS have different language lists. If the newly chosen
// vendor doesn't have the same language that was already in use,
// select US English
if ((
e.target.value === 'google' &&
!SpeechRecognizerLanguageGoogle.some(l => l.code === speechRecognizerLanguage)
) || (
e.target.value === 'aws' &&
!SpeechRecognizerLanguageAws.some(l => l.code === speechRecognizerLanguage)
)) {
setSpeechRecognizerLanguage('en-US');
}
}}
>
<option value="google">Google</option>
<option value="aws">AWS</option>
</Select>
<Label middle htmlFor="speechRecognizerLanguage">Language</Label>
<Select
@@ -852,9 +869,15 @@ const ApplicationForm = props => {
value={speechRecognizerLanguage}
onChange={e => setSpeechRecognizerLanguage(e.target.value)}
>
{SpeechRecognizerLanguageGoogle.map(l => (
<option key={l.code} value={l.code}>{l.name}</option>
))}
{speechRecognizerVendor === 'google' ? (
SpeechRecognizerLanguageGoogle.map(l => (
<option key={l.code} value={l.code}>{l.name}</option>
))
) : (
SpeechRecognizerLanguageAws.map(l => (
<option key={l.code} value={l.code}>{l.name}</option>
))
)}
</Select>
</InputGroup>
+10
View File
@@ -0,0 +1,10 @@
export default [
{ name: 'Australian English', 'code': 'en-AU' },
{ name: 'British English', 'code': 'en-GB' },
{ name: 'US English', 'code': 'en-US' },
{ name: 'French', 'code': 'fr-FR' },
{ name: 'Canadian French', 'code': 'fr-CA' },
{ name: 'German', 'code': 'de-DE' },
{ name: 'Italian', 'code': 'it-IT' },
{ name: 'US Spanish', 'code': 'es-US' },
];