|
1 | 1 | #!/usr/bin/env python3
|
| 2 | +# -*- coding: utf-8 -*- |
2 | 3 |
|
3 | 4 | import os
|
4 | 5 | import unittest
|
|
7 | 8 |
|
8 | 9 | class TestRecognition(unittest.TestCase):
|
9 | 10 | def setUp(self):
|
10 |
| - self.AUDIO_FILE_EN = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..", "examples", "english.wav") |
| 11 | + self.AUDIO_FILE_EN = os.path.join(os.path.dirname(os.path.realpath(__file__)), "english.wav") |
| 12 | + self.AUDIO_FILE_FR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "french.aiff") |
| 13 | + self.AUDIO_FILE_ZH = os.path.join(os.path.dirname(os.path.realpath(__file__)), "chinese.flac") |
11 | 14 |
|
12 |
| - def test_sphinx(self): |
| 15 | + def test_sphinx_english(self): |
13 | 16 | r = sr.Recognizer()
|
14 | 17 | with sr.AudioFile(self.AUDIO_FILE_EN) as source: audio = r.record(source)
|
15 | 18 | self.assertEqual(r.recognize_sphinx(audio), "wanted to three")
|
16 | 19 |
|
17 |
| - def test_google(self): |
| 20 | + def test_google_english(self): |
18 | 21 | r = sr.Recognizer()
|
19 | 22 | with sr.AudioFile(self.AUDIO_FILE_EN) as source: audio = r.record(source)
|
20 | 23 | self.assertEqual(r.recognize_google(audio), "one-two-three")
|
21 | 24 |
|
| 25 | + def test_google_french(self): |
| 26 | + r = sr.Recognizer() |
| 27 | + with sr.AudioFile(self.AUDIO_FILE_FR) as source: audio = r.record(source) |
| 28 | + self.assertEqual(r.recognize_google(audio, language="fr-FR"), u"mais c'est la dictée numéro 1") |
| 29 | + |
| 30 | + def test_google_chinese(self): |
| 31 | + r = sr.Recognizer() |
| 32 | + with sr.AudioFile(self.AUDIO_FILE_ZH) as source: audio = r.record(source) |
| 33 | + self.assertEqual(r.recognize_google(audio, language="zh-CN"), u"砸自己的脚") |
| 34 | + |
22 | 35 | @unittest.skipUnless("WIT_AI_KEY" in os.environ, "requires Wit.ai key to be specified in WIT_AI_KEY environment variable")
|
23 |
| - def test_wit(self): |
| 36 | + def test_wit_english(self): |
24 | 37 | r = sr.Recognizer()
|
25 | 38 | with sr.AudioFile(self.AUDIO_FILE_EN) as source: audio = r.record(source)
|
26 | 39 | self.assertEqual(r.recognize_wit(audio, key=os.environ["WIT_AI_KEY"]), "one two three")
|
27 | 40 |
|
28 | 41 | @unittest.skipUnless("BING_KEY" in os.environ, "requires Microsoft Bing Voice Recognition key to be specified in BING_KEY environment variable")
|
29 |
| - def test_bing(self): |
| 42 | + def test_bing_english(self): |
30 | 43 | r = sr.Recognizer()
|
31 | 44 | with sr.AudioFile(self.AUDIO_FILE_EN) as source: audio = r.record(source)
|
32 | 45 | self.assertEqual(r.recognize_bing(audio, key=os.environ["BING_KEY"]), "one two three")
|
33 | 46 |
|
| 47 | + @unittest.skipUnless("BING_KEY" in os.environ, "requires Microsoft Bing Voice Recognition key to be specified in BING_KEY environment variable") |
| 48 | + def test_bing_french(self): |
| 49 | + r = sr.Recognizer() |
| 50 | + with sr.AudioFile(self.AUDIO_FILE_FR) as source: audio = r.record(source) |
| 51 | + self.assertEqual(r.recognize_bing(audio, key=os.environ["BING_KEY"], language="fr-FR"), u"et c'est la dictée numéro un") |
| 52 | + |
| 53 | + @unittest.skipUnless("BING_KEY" in os.environ, "requires Microsoft Bing Voice Recognition key to be specified in BING_KEY environment variable") |
| 54 | + def test_bing_chinese(self): |
| 55 | + r = sr.Recognizer() |
| 56 | + with sr.AudioFile(self.AUDIO_FILE_ZH) as source: audio = r.record(source) |
| 57 | + self.assertEqual(r.recognize_bing(audio, key=os.environ["BING_KEY"], language="zh-CN"), u"砸自己的脚") |
| 58 | + |
34 | 59 | @unittest.skipUnless("HOUNDIFY_CLIENT_ID" in os.environ and "HOUNDIFY_CLIENT_KEY" in os.environ, "requires Houndify client ID and client key to be specified in HOUNDIFY_CLIENT_ID and HOUNDIFY_CLIENT_KEY environment variables")
|
35 |
| - def test_houndify(self): |
| 60 | + def test_houndify_english(self): |
36 | 61 | r = sr.Recognizer()
|
37 | 62 | with sr.AudioFile(self.AUDIO_FILE_EN) as source: audio = r.record(source)
|
38 | 63 | self.assertEqual(r.recognize_houndify(audio, client_id=os.environ["HOUNDIFY_CLIENT_ID"], client_key=os.environ["HOUNDIFY_CLIENT_KEY"]), "one two three")
|
39 | 64 |
|
40 | 65 | @unittest.skipUnless("IBM_USERNAME" in os.environ and "IBM_PASSWORD" in os.environ, "requires IBM Speech to Text username and password to be specified in IBM_USERNAME and IBM_PASSWORD environment variables")
|
41 |
| - def test_ibm(self): |
| 66 | + def test_ibm_english(self): |
42 | 67 | r = sr.Recognizer()
|
43 | 68 | with sr.AudioFile(self.AUDIO_FILE_EN) as source: audio = r.record(source)
|
44 | 69 | self.assertEqual(r.recognize_ibm(audio, username=os.environ["IBM_USERNAME"], password=os.environ["IBM_PASSWORD"]), "one two three ")
|
45 | 70 |
|
| 71 | + @unittest.skipUnless("IBM_USERNAME" in os.environ and "IBM_PASSWORD" in os.environ, "requires IBM Speech to Text username and password to be specified in IBM_USERNAME and IBM_PASSWORD environment variables") |
| 72 | + def test_ibm_french(self): |
| 73 | + r = sr.Recognizer() |
| 74 | + with sr.AudioFile(self.AUDIO_FILE_FR) as source: audio = r.record(source) |
| 75 | + self.assertEqual(r.recognize_ibm(audio, username=os.environ["IBM_USERNAME"], password=os.environ["IBM_PASSWORD"], language="fr-FR"), u"si la dictée numéro un ") |
| 76 | + |
| 77 | + @unittest.skipUnless("IBM_USERNAME" in os.environ and "IBM_PASSWORD" in os.environ, "requires IBM Speech to Text username and password to be specified in IBM_USERNAME and IBM_PASSWORD environment variables") |
| 78 | + def test_ibm_chinese(self): |
| 79 | + r = sr.Recognizer() |
| 80 | + with sr.AudioFile(self.AUDIO_FILE_ZH) as source: audio = r.record(source) |
| 81 | + self.assertEqual(r.recognize_ibm(audio, username=os.environ["IBM_USERNAME"], password=os.environ["IBM_PASSWORD"], language="zh-CN"), u"砸 自己 的 脚 ") |
| 82 | + |
46 | 83 | if __name__ == "__main__":
|
47 | 84 | unittest.main()
|
0 commit comments