ไลบรารีสำหรับการรู้จำเสียงพร้อมรองรับเอนจิ้นและ API หลายตัวทั้งแบบออนไลน์และออฟไลน์
อัพเดท 2022-02-09 : สวัสดีทุกคน! โปรเจ็กต์นี้เริ่มต้นจากการสาธิตเทคโนโลยี แต่ทุกวันนี้ต้องใช้เวลามากกว่าที่ฉันต้องติดตามการประชาสัมพันธ์และปัญหาทั้งหมด ดังนั้น ฉันจึงอยากจะส่ง คำเชิญแบบเปิดสำหรับผู้ทำงานร่วมกัน เพียงติดต่อมาที่ [email protected] หากคุณสนใจ!
ระบบรู้จำเสียง/รองรับ API:
การเริ่มต้นอย่างรวดเร็ว: pip install SpeechRecognition
ดูส่วน "การติดตั้ง" สำหรับรายละเอียดเพิ่มเติม
หากต้องการทดลองใช้อย่างรวดเร็ว ให้รัน python -m speech_recognition
หลังการติดตั้ง
ลิงค์โครงการ:
การอ้างอิงห้องสมุดจะบันทึกทุกวัตถุที่สาธารณะสามารถเข้าถึงได้ในห้องสมุด เอกสารนี้ยังรวมอยู่ใน reference/library-reference.rst
ดูหมายเหตุเกี่ยวกับการใช้ PocketSphinx สำหรับข้อมูลเกี่ยวกับการติดตั้งภาษา การคอมไพล์ PocketSphinx และการสร้างชุดภาษาจากแหล่งข้อมูลออนไลน์ เอกสารนี้ยังรวมอยู่ใน reference/pocketsphinx.rst
คุณต้องติดตั้งรุ่น Vosk เพื่อใช้งาน Vosk นี่คือรุ่นที่มีจำหน่าย คุณต้องวางไว้ในโฟลเดอร์ models ของโปรเจ็กต์ของคุณ เช่น "your-project-folder/models/your-vosk-model"
ดูไดเร็กทอรี examples/
ในรูทของที่เก็บสำหรับตัวอย่างการใช้งาน:
recognizer_instance.energy_threshold
)ขั้นแรก ตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดทั้งหมดที่ระบุไว้ในส่วน "ข้อกำหนด"
วิธีที่ง่ายที่สุดในการติดตั้งคือการใช้ pip install SpeechRecognition
มิฉะนั้น ให้ดาวน์โหลดการแจกจ่ายซอร์สจาก PyPI และแตกไฟล์เก็บถาวร
ในโฟลเดอร์ ให้รัน python setup.py install
หากต้องการใช้ฟังก์ชันทั้งหมดของไลบรารี คุณควรมี:
Microphone
)recognizer_instance.recognize_sphinx
)recognizer_instance.recognize_google_cloud
)recognizer_instance.recognize_vosk
)recognizer_instance.recognize_whisper
)recognizer_instance.recognize_openai
)recognizer_instance.recognize_groq
)ข้อกำหนดต่อไปนี้เป็นทางเลือก แต่สามารถปรับปรุงหรือขยายฟังก์ชันการทำงานได้ในบางสถานการณ์:
ส่วนต่อไปนี้จะกล่าวถึงรายละเอียดของข้อกำหนดแต่ละข้อ
ข้อกำหนดซอฟต์แวร์แรกคือ Python 3.9+ สิ่งนี้จำเป็นสำหรับการใช้ห้องสมุด
จำเป็นต้องใช้ PyAudio ในกรณีที่คุณต้องการใช้อินพุตไมโครโฟน ( Microphone
) ต้องใช้ PyAudio เวอร์ชัน 0.2.11+ เนื่องจากเวอร์ชันก่อนหน้านี้ทราบข้อบกพร่องในการจัดการหน่วยความจำเมื่อบันทึกจากไมโครโฟนในบางสถานการณ์
หากไม่ได้ติดตั้ง ทุกอย่างในไลบรารีจะยังคงทำงาน ยกเว้นการพยายามสร้างอินสแตนซ์ของวัตถุ Microphone
จะทำให้เกิด AttributeError
คำแนะนำในการติดตั้งบนเว็บไซต์ PyAudio ค่อนข้างดี - เพื่อความสะดวกสรุปได้ดังนี้:
pip install SpeechRecognition[audio]
ในเทอร์มินัลsudo apt-get install python-pyaudio python3-pyaudio
ในเทอร์มินัลsudo apt-get install portaudio19-dev python-all-dev python3-all-dev && sudo pip install SpeechRecognition[audio]
(แทนที่ pip
ด้วย pip3
ถ้า โดยใช้ไพธอน 3)brew install portaudio
จากนั้นติดตั้งด้วย PyAudio โดยใช้ Pip: pip install SpeechRecognition[audio]
portaudio19-dev
และ python-all-dev
(หรือ python3-all-dev
หากใช้ Python 3) (หรือเทียบเท่าที่ใกล้เคียงที่สุด) โดยใช้ตัวจัดการแพ็คเกจที่คุณเลือก จากนั้นติดตั้งด้วย PyAudio ใช้ Pip: pip install SpeechRecognition[audio]
(แทนที่ pip
ด้วย pip3
หากใช้ Python 3) แพ็คเกจวงล้อ PyAudio สำหรับ Python เวอร์ชัน 64 บิตทั่วไปบน Windows และ Linux รวมอยู่ในไดเร็กทอรี third-party/
ในรูทของพื้นที่เก็บข้อมูล หากต้องการติดตั้ง เพียงเรียกใช้ pip install wheel
ตามด้วย pip install ./third-party/WHEEL_FILENAME
(แทนที่ pip
ด้วย pip3
หากใช้ Python 3) ในไดเรกทอรีรากของที่เก็บ
จำเป็นต้องใช้ PocketSphinx-Python ในกรณีที่คุณต้องการใช้ตัวจดจำสฟิงซ์ ( recognizer_instance.recognize_sphinx
)
แพ็คเกจล้อ PocketSphinx-Python สำหรับ Python 3.4 บิต 3.4 และ 3.5 บน Windows 64 บิตรวมอยู่ในไดเร็กทอรี third-party/
เพื่อความสะดวก หากต้องการติดตั้ง เพียงเรียกใช้ pip install wheel
ตามด้วย pip install ./third-party/WHEEL_FILENAME
(แทนที่ pip
ด้วย pip3
หากใช้ Python 3) ในโฟลเดอร์ SpeechRecognition
บน Linux และระบบ POSIX อื่นๆ (เช่น OS X) ให้รัน pip install SpeechRecognition[pocketsphinx]
ทำตามคำแนะนำภายใต้ "การสร้าง PocketSphinx-Python จากแหล่งที่มา" ในหมายเหตุเกี่ยวกับการใช้ PocketSphinx สำหรับคำแนะนำในการติดตั้ง
โปรดทราบว่าเวอร์ชันที่มีอยู่ในที่เก็บแพ็กเกจส่วนใหญ่ล้าสมัยและจะไม่ทำงานกับข้อมูลภาษาแบบรวม แนะนำให้ใช้ชุดล้อที่แถมมาหรือการก่อสร้างจากแหล่งที่มา
ดูหมายเหตุเกี่ยวกับการใช้ PocketSphinx สำหรับข้อมูลเกี่ยวกับการติดตั้งภาษา การคอมไพล์ PocketSphinx และการสร้างชุดภาษาจากแหล่งข้อมูลออนไลน์ เอกสารนี้ยังรวมอยู่ใน reference/pocketsphinx.rst
จำเป็นต้องใช้ Vosk API ในกรณีที่คุณต้องการใช้ตัวจดจำ Vosk ( recognizer_instance.recognize_vosk
)
คุณสามารถติดตั้งได้ด้วย python3 -m pip install vosk
คุณต้องติดตั้ง Vosk Models ด้วย:
ต่อไปนี้เป็นรุ่นที่สามารถดาวน์โหลดได้ คุณต้องวางไว้ในโฟลเดอร์ models ของโปรเจ็กต์ของคุณ เช่น "your-project-folder/models/your-vosk-model"
จำเป็นต้องใช้ไลบรารี Google Cloud Speech สำหรับ Python ในกรณีที่คุณต้องการใช้ Google Cloud Speech API ( recognizer_instance.recognize_google_cloud
)
หากไม่ได้ติดตั้ง ทุกอย่างในไลบรารีจะยังคงใช้งานได้ ยกเว้นการเรียก recognizer_instance.recognize_google_cloud
จะทำให้เกิด RequestError
ตามคำแนะนำในการติดตั้งอย่างเป็นทางการ วิธีที่แนะนำในการติดตั้งคือการใช้ Pip: ดำเนินการ pip install google-cloud-speech
(แทนที่ pip
ด้วย pip3
หากใช้ Python 3)
จำเป็นต้องใช้ตัวเข้ารหัส FLAC เพื่อเข้ารหัสข้อมูลเสียงเพื่อส่งไปยัง API หากใช้ Windows (x86 หรือ x86-64), OS X (Intel Macs เท่านั้น, OS X 10.6 หรือสูงกว่า) หรือ Linux (x86 หรือ x86-64) นี่จะ รวมอยู่ในไลบรารีนี้แล้ว - คุณไม่จำเป็นต้องติดตั้งอะไรเลย .
มิฉะนั้น ตรวจสอบให้แน่ใจว่าคุณมีเครื่องมือบรรทัดคำสั่ง flac
ซึ่งมักจะใช้งานได้ผ่านตัวจัดการแพ็คเกจระบบ ตัวอย่างเช่น โดยปกติจะเป็น sudo apt-get install flac
บน Debian-derivatives หรือ brew install flac
บน OS X ด้วย Homebrew
จำเป็นต้องใช้ Whisper ในกรณีที่คุณต้องการใช้กระซิบ ( recognizer_instance.recognize_whisper
)
คุณสามารถติดตั้งด้วย python3 -m pip install SpeechRecognition[whisper-local]
จำเป็นต้องมีไลบรารี openai ในกรณีที่คุณต้องการใช้ OpenAI Whisper API ( recognizer_instance.recognize_openai
)
คุณสามารถติดตั้งด้วย python3 -m pip install SpeechRecognition[openai]
โปรดตั้งค่าตัวแปรสภาพแวดล้อม OPENAI_API_KEY
ก่อนที่จะเรียก recognizer_instance.recognize_openai
จำเป็นต้องมีไลบรารี groq ในกรณีที่คุณต้องการใช้ Groq Whisper API ( recognizer_instance.recognize_groq
)
คุณสามารถติดตั้งได้ด้วย python3 -m pip install SpeechRecognition[groq]
โปรดตั้งค่าตัวแปรสภาพแวดล้อม GROQ_API_KEY
ก่อนที่จะเรียก recognizer_instance.recognize_groq
ลองเพิ่มคุณสมบัติ recognizer_instance.energy_threshold
โดยพื้นฐานแล้วนี่คือความละเอียดอ่อนของตัวจดจำเมื่อควรเริ่มการรู้จำ ค่าที่สูงกว่าหมายความว่าจะมีความไวน้อยลง ซึ่งมีประโยชน์หากคุณอยู่ในห้องที่มีเสียงดัง
ค่านี้ขึ้นอยู่กับไมโครโฟนหรือข้อมูลเสียงของคุณทั้งหมด ไม่มีค่าใดที่เหมาะกับทุกคน แต่ค่าที่ดีโดยทั่วไปจะอยู่ระหว่าง 50 ถึง 4,000
ตรวจสอบการตั้งค่าระดับเสียงไมโครโฟนของคุณด้วย หากมีความไวมากเกินไป ไมโครโฟนอาจรับเสียงรบกวนรอบข้างได้มาก หากไม่ไวเกินไป ไมโครโฟนอาจปฏิเสธเสียงพูดซึ่งเป็นเพียงเสียงรบกวน
คุณสมบัติ recognizer_instance.energy_threshold
อาจถูกตั้งค่าเป็นค่าที่สูงเกินกว่าจะเริ่มต้นได้ จากนั้นจึงปรับให้ต่ำลงโดยอัตโนมัติโดยการปรับเกณฑ์พลังงานแบบไดนามิก ก่อนที่จะอยู่ในระดับที่ดี เกณฑ์พลังงานจะสูงมากจนเสียงพูดถือเป็นเสียงรบกวนรอบข้างเท่านั้น
วิธีแก้ไขคือลดเกณฑ์นี้ หรือเรียก recognizer_instance.adjust_for_ambient_noise
ล่วงหน้า ซึ่งจะตั้งค่าเกณฑ์ให้เป็นค่าที่ดีโดยอัตโนมัติ
ลองตั้งค่าภาษาการจดจำเป็นภาษา/ภาษาถิ่นของคุณ เมื่อต้องการทำเช่นนี้ โปรดดูเอกสารประกอบสำหรับ recognizer_instance.recognize_sphinx
, recognizer_instance.recognize_google
, recognizer_instance.recognize_wit
, recognizer_instance.recognize_bing
, recognizer_instance.recognize_api
, recognizer_instance.recognize_houndify
และ recognizer_instance.recognize_ibm
-
ตัวอย่างเช่น หากภาษา/ภาษาถิ่นของคุณเป็นภาษาอังกฤษแบบอังกฤษ ควรใช้ "en-GB"
เป็นภาษาแทนที่จะใช้ "en-US"
recognizer_instance.listen
; โดยเฉพาะเมื่อมีการเรียก Microphone.MicrophoneStream.read
ซึ่งมักเกิดขึ้นเมื่อคุณใช้บอร์ด Raspberry Pi ซึ่งไม่มีความสามารถในการป้อนข้อมูลเสียงด้วยตัวเอง ซึ่งจะทำให้ไมโครโฟนเริ่มต้นที่ใช้โดย PyAudio บล็อกเมื่อเราพยายามอ่าน หากคุณใช้ Raspberry Pi คุณจะต้องมีการ์ดเสียง USB (หรือไมโครโฟน USB)
เมื่อคุณทำเช่นนี้ ให้เปลี่ยนอินสแตนซ์ทั้งหมดของ Microphone()
เป็น Microphone(device_index=MICROPHONE_INDEX)
โดยที่ MICROPHONE_INDEX
คือดัชนีเฉพาะฮาร์ดแวร์ของไมโครโฟน
หากต้องการทราบว่าค่าของ MICROPHONE_INDEX
ควรเป็นเท่าใด ให้เรียกใช้โค้ดต่อไปนี้:
import speech_recognition as sr
for index , name in enumerate ( sr . Microphone . list_microphone_names ()):
print ( "Microphone with name " {1} " found for `Microphone(device_index={0})`" . format ( index , name ))
สิ่งนี้จะพิมพ์ออกมาดังนี้:
พบไมโครโฟนชื่อ "HDA Intel HDMI: 0 (hw:0,3)" สำหรับ `ไมโครโฟน(device_index=0)` พบไมโครโฟนชื่อ "HDA Intel HDMI: 1 (hw:0,7)" สำหรับ `ไมโครโฟน(device_index=1)` พบไมโครโฟนชื่อ "HDA Intel HDMI: 2 (hw:0,8)" สำหรับ `ไมโครโฟน(device_index=2)` พบไมโครโฟนชื่อ "Blue Snowball: USB Audio (hw:1,0)" สำหรับ `ไมโครโฟน(device_index=3)` พบไมโครโฟนชื่อ "hdmi" สำหรับ `ไมโครโฟน(device_index=4)` พบไมโครโฟนชื่อ "pulse" สำหรับ `ไมโครโฟน(device_index=5)` พบไมโครโฟนชื่อ "ค่าเริ่มต้น" สำหรับ `ไมโครโฟน (device_index=6)`
ตอนนี้ หากต้องการใช้ไมโครโฟน Snowball คุณจะต้องเปลี่ยน Microphone()
เป็น Microphone(device_index=3)
Microphone()
ให้ข้อผิดพลาด IOError: No Default Input Device Available
ตามที่ error แจ้ง โปรแกรมไม่รู้ว่าจะใช้ไมโครโฟนตัวไหน
หากต้องการดำเนินการต่อ ให้ใช้ Microphone(device_index=MICROPHONE_INDEX, ...)
แทน Microphone(...)
หรือตั้งค่าไมโครโฟนเริ่มต้นในระบบปฏิบัติการของคุณ คุณสามารถรับค่าที่เป็นไปได้ของ MICROPHONE_INDEX
โดยใช้รหัสในรายการการแก้ไขปัญหาที่อยู่ด้านบนนี้
ตั้งแต่ PyInstaller เวอร์ชัน 3.0 รองรับ SpeechRecognition ทันที หากคุณพบปัญหาแปลกๆ เมื่อคอมไพล์โปรแกรมของคุณโดยใช้ PyInstaller เพียงอัปเดต PyInstaller
คุณสามารถทำได้โดยการรัน pip install --upgrade pyinstaller
ข้อผิดพลาด "bt_audio_service_open" หมายความว่าคุณมีอุปกรณ์เสียง Bluetooth แต่เนื่องจากอุปกรณ์ทางกายภาพไม่ได้เชื่อมต่ออยู่ในขณะนี้ เราจึงไม่สามารถใช้งานได้จริง หากคุณไม่ได้ใช้ไมโครโฟน Bluetooth ก็สามารถเพิกเฉยได้อย่างปลอดภัย หากคุณเป็นเช่นนั้น และเสียงไม่ทำงาน ให้ตรวจสอบอีกครั้งเพื่อให้แน่ใจว่าไมโครโฟนของคุณเชื่อมต่ออยู่จริง ดูเหมือนจะไม่มีวิธีง่ายๆ ในการปิดใช้งานข้อความเหล่านี้
สำหรับข้อผิดพลาดของรูปแบบ "ALSA lib [...] Unknown PCM" โปรดดูคำตอบของ StackOverflow นี้ โดยพื้นฐานแล้ว เพื่อกำจัดข้อผิดพลาดในรูปแบบ "Unknown PCM cards.pcm.rear" เพียงแสดงความคิดเห็น pcm.rear cards.pcm.rear
ใน /usr/share/alsa/alsa.conf
, ~/.asoundrc
และ /etc/asound.conf
.
สำหรับ "แจ็คเซิร์ฟเวอร์ไม่ทำงานหรือไม่สามารถเริ่มต้นได้" หรือ "เชื่อมต่อ (2) โทรไปที่ /dev/shm/jack-1000/default/jack_0 ล้มเหลว (err=ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว)" หรือ "พยายามเชื่อมต่อกับเซิร์ฟเวอร์ ล้มเหลว" สาเหตุเหล่านี้เกิดจาก ALSA พยายามเชื่อมต่อกับ JACK และสามารถเพิกเฉยได้อย่างปลอดภัย ฉันไม่ทราบวิธีง่ายๆ ใด ๆ ในการปิดข้อความเหล่านั้นในเวลานี้ นอกเหนือจากการปิดการพิมพ์โดยสิ้นเชิงในขณะที่เริ่มไมโครโฟน
ChildProcessError
แจ้งว่าไม่พบตัวแปลง FLAC ของระบบแม้ว่าจะติดตั้งแล้วก็ตามการติดตั้ง FLAC สำหรับ OS X โดยตรงจากซอร์สโค้ดจะไม่ทำงาน เนื่องจากไม่ได้เพิ่มไฟล์ปฏิบัติการลงในพาธการค้นหาอย่างถูกต้อง
การติดตั้ง FLAC โดยใช้ Homebrew ช่วยให้มั่นใจได้ว่าเส้นทางการค้นหาได้รับการอัพเดตอย่างถูกต้อง ขั้นแรก ตรวจสอบให้แน่ใจว่าคุณมี Homebrew จากนั้นรัน brew install flac
เพื่อติดตั้งไฟล์ที่จำเป็น
หากต้องการแฮ็กไลบรารีนี้ ขั้นแรกตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดทั้งหมดที่ระบุไว้ในส่วน "ข้อกำหนด"
speech_recognition/__init__.py
examples/
และสคริปต์สาธิตอยู่ใน speech_recognition/__main__.py
speech_recognition/
reference/
ไดเร็กทอรีthird-party/
หากต้องการติดตั้ง/ติดตั้งไลบรารีใหม่ภายในเครื่อง ให้รัน python -m pip install -e .[dev]
ในไดเร็กทอรีรากของโปรเจ็กต์
ก่อนที่จะเผยแพร่ หมายเลขเวอร์ชันจะถูกกระแทกใน README.rst
และ speech_recognition/__init__.py
แท็กเวอร์ชันจะถูกสร้างขึ้นโดยใช้ git config gpg.program gpg2 && git config user.signingkey DB45F6C431DE7C2DCD99FF7904882258A4063489 && git tag -s VERSION_GOES_HERE -m "Version VERSION_GOES_HERE"
การเผยแพร่ทำได้โดยการรัน make-release.sh VERSION_GOES_HERE
เพื่อสร้างแพ็กเกจซอร์ส Python ลงนาม และอัปโหลดไปยัง PyPI
หากต้องการรันการทดสอบทั้งหมด:
python -m unittest discover --verbose
หากต้องการรันการวิเคราะห์แบบคงที่:
python -m flake8 --ignore=E501,E701,W503 speech_recognition tests examples setup.py
เพื่อให้แน่ใจว่า RST มีรูปแบบที่ถูกต้อง:
python -m rstcheck README.rst reference/ * .rst
การทดสอบจะดำเนินการโดยอัตโนมัติโดย GitHub Actions ทุกครั้งที่กด
ไฟล์ปฏิบัติการ flac-win32
ที่รวมอยู่นั้นเป็นไบนารี Windows FLAC 1.3.2 32 บิตอย่างเป็นทางการ
ไฟล์ปฏิบัติการ flac-linux-x86
และ flac-linux-x86_64
ที่รวมมานั้นสร้างขึ้นจากซอร์สโค้ด FLAC 1.3.2 พร้อม Manylinux เพื่อให้แน่ใจว่าเข้ากันได้กับการกระจายที่หลากหลาย
โปรแกรมปฏิบัติการ FLAC ที่สร้างขึ้นควรทำซ้ำได้แบบบิตต่อบิต หากต้องการสร้างใหม่ ให้รันสิ่งต่อไปนี้ภายในไดเร็กทอรีโปรเจ็กต์บนระบบที่คล้ายกับ Debian:
# download and extract the FLAC source code
cd third-party
sudo apt-get install --yes docker.io
# build FLAC inside the Manylinux i686 Docker image
tar xf flac-1.3.2.tar.xz
sudo docker run --tty --interactive --rm --volume " $( pwd ) :/root " quay.io/pypa/manylinux1_i686:latest bash
cd /root/flac-1.3.2
./configure LDFLAGS=-static # compiler flags to make a static build
make
exit
cp flac-1.3.2/src/flac/flac ../speech_recognition/flac-linux-x86 && sudo rm -rf flac-1.3.2/
# build FLAC inside the Manylinux x86_64 Docker image
tar xf flac-1.3.2.tar.xz
sudo docker run --tty --interactive --rm --volume " $( pwd ) :/root " quay.io/pypa/manylinux1_x86_64:latest bash
cd /root/flac-1.3.2
./configure LDFLAGS=-static # compiler flags to make a static build
make
exit
cp flac-1.3.2/src/flac/flac ../speech_recognition/flac-linux-x86_64 && sudo rm -r flac-1.3.2/
ไฟล์ปฏิบัติการ flac-mac
ที่รวมมานั้นแยกมาจาก xACT 2.39 ซึ่งเป็นส่วนหน้าสำหรับ FLAC 1.3.2 ที่มีไบนารีสำหรับตัวเข้ารหัสทั้งหมดได้อย่างสะดวก โดยเฉพาะมันเป็นสำเนาของ xACT 2.39/xACT.app/Contents/Resources/flac
ใน xACT2.39.zip
Uberi <[email protected]> (แอนโทนี่ จาง) บ็อบเซย์ชิลอล arvindch <[email protected]> (อาร์วิน เชมบาร์ปู) kevinismith <[email protected]> (เควิน สมิธ) ฮาส85 ดีไลท์รัน <[email protected]> ไม่ฝักใฝ่ฝ่ายใด คามูชาเดเนส <[email protected]> (คามุส ฮาเดเนส) สบราเดน <[email protected]> (ซาราห์ เบรเดน) tb0hdan (โบห์ดาน เตอร์กิเนวิช) ธินิกซ์ <[email protected]> (สตีฟ โดเฮอร์ตี้) บีดี้ <[email protected]> (บรอเดอริก คาร์ลิน)
กรุณารายงานข้อบกพร่องและข้อเสนอแนะที่ตัวติดตามปัญหา!
วิธีอ้างอิงไลบรารีนี้ (สไตล์ APA):
จาง อ. (2017) การรู้จำเสียง (เวอร์ชัน 3.11) [ซอฟต์แวร์] ดูได้จาก https://github.com/Uberi/speech_recognition#readme
วิธีอ้างอิงห้องสมุดนี้ (สไตล์ชิคาโก):
จาง, แอนโทนี่. 2560 การรู้จำเสียง (เวอร์ชัน 3.11)
นอกจากนี้ โปรดตรวจสอบ Python Baidu Yuyin API ซึ่งอิงจากเวอร์ชันเก่าของโปรเจ็กต์นี้ และเพิ่มการรองรับ Baidu Yuyin โปรดทราบว่า Baidu Yuyin มีให้บริการเฉพาะในประเทศจีนเท่านั้น
ลิขสิทธิ์ 2014-2017 Anthony Zhang (Uberi) ซอร์สโค้ดสำหรับไลบรารีนี้มีให้ทางออนไลน์ที่ GitHub
SpeechRecognition มีให้ใช้งานภายใต้ใบอนุญาต BSD 3 ข้อ ดู LICENSE.txt
ในไดเรกทอรีรากของโครงการสำหรับข้อมูลเพิ่มเติม
เพื่อความสะดวก การเผยแพร่ SpeechRecognition อย่างเป็นทางการทั้งหมดได้รวมสำเนาประกาศลิขสิทธิ์และใบอนุญาตที่จำเป็นไว้แล้ว ในโปรเจ็กต์ของคุณ คุณสามารถ พูดได้ว่าข้อมูลสิทธิ์การใช้งานสำหรับการรู้จำเสียงนั้นสามารถพบได้ใน SpeechRecognition README และตรวจสอบให้แน่ใจว่าผู้ใช้จะมองเห็นการรู้จำเสียงได้หากต้องการดู
SpeechRecognition กระจายซอร์สโค้ด ไบนารี และไฟล์ภาษาจาก CMU Sphinx ไฟล์เหล่านี้ได้รับอนุญาตจาก BSD และสามารถแจกจ่ายต่อได้ตราบใดที่ประกาศเกี่ยวกับลิขสิทธิ์ยังคงอยู่อย่างถูกต้อง ดู speech_recognition/pocketsphinx-data/*/LICENSE*.txt
และ third-party/LICENSE-Sphinx.txt
สำหรับรายละเอียดใบอนุญาตสำหรับแต่ละส่วน
SpeechRecognition กระจายซอร์สโค้ดและไบนารีจาก PyAudio ไฟล์เหล่านี้ได้รับอนุญาตจาก MIT และสามารถแจกจ่ายต่อได้ตราบใดที่ประกาศเกี่ยวกับลิขสิทธิ์ยังคงอยู่อย่างถูกต้อง ดู third-party/LICENSE-PyAudio.txt
สำหรับรายละเอียดใบอนุญาต
SpeechRecognition กระจายไบนารีจาก FLAC - speech_recognition/flac-win32.exe
, speech_recognition/flac-linux-x86
และ speech_recognition/flac-mac
ไฟล์เหล่านี้ได้รับใบอนุญาต GPLv2 และสามารถแจกจ่ายต่อได้ ตราบใดที่เป็นไปตามข้อกำหนดของ GPL ไบนารี FLAC เป็นการรวมโปรแกรมที่แยกจากกัน ดังนั้นข้อจำกัด GPL เหล่านี้จึงไม่มีผลกับไลบรารีหรือโปรแกรมของคุณที่ใช้ไลบรารี เฉพาะกับ FLAC เท่านั้น ดู LICENSE-FLAC.txt
สำหรับรายละเอียดใบอนุญาต