Jarvis ảo. Marvel JARVIS – trợ lý cá nhân cho thiết bị iOS

Hôm nay chúng ta sẽ nói về bài phát biểu của chúng tôi. Tôi ước bạn điều khiển máy tính bằng giọng nói của bạn, mà không cần sử dụng ngón tay của bạn? Và, như người ta nói, với sức mạnh của tư duy! Đúng là chúng ta sẽ không điều khiển máy tính bằng sức mạnh của suy nghĩ, nhưng với sức mạnh của giọng nói thì điều đó hoàn toàn có thể xảy ra.

chương trình kiểu là một trong những chương trình tốt nhất hiện nay để điều khiển máy tính qua giọng nói. Trên các trang web trong phần bình luận cho chương trình này, các ý kiến ​​đều hội tụ.

Đúng, nó có nhược điểm của nó. Nhưng nhiều hơn về điều này sau. Nhân tiện, nếu bạn quan tâm, hãy đọc bài đánh giá của tôi.

Bạn có thể tải xuống chương trình tại đây: http://freesoft.ru/type

Làm thế nào để sử dụng nó? Đầu tiên, hãy khởi chạy nó và xem các nút điều khiển chính:

Chương trình chào đón chúng tôi và ngay lập tức cung cấp cho chúng tôi các mẹo về cách sử dụng Typle. Đầu tiên, nhấp vào nút “thêm” và viết ra một từ, ví dụ như “mở”. Để làm điều này, hãy nói từ này vào micrô:

Sau đó bấm vào thêm. Vì vậy, chúng tôi đã lưu từ “Mở” trong chương trình bằng giọng nói của mình. Bạn có thể nói bất kỳ từ nào khác vào micro. Điều chính là không để bị nhầm lẫn.

Bước tiếp theo là thêm lệnh. Để làm điều này, chúng ta hãy đi đến điểm này:

Sau đó, chúng tôi đánh dấu vào ô bên cạnh mục chúng tôi cần:

Chọn một chương trình, ứng dụng hoặc hành động và nhấp vào nút ghi màu đỏ. Nếu máy tính đã chấp nhận giọng nói của chúng tôi, hãy nhấp vào “Thêm”:

Và bây giờ một lệnh thoại sẽ hiển thị trong hồ sơ của chúng tôi. Trong trường hợp này, cái mở 7-Zip:

Và bây giờ, bằng cách nhấp vào nút “bắt đầu nói chuyện” cuối cùng

Chúng tôi nói cụm từ “mở Seven Zip.” Trong trường hợp của tôi, mọi thứ sẽ hoạt động. Và chương trình 7-zip sẽ mở ra. Hãy nhớ câu này: Chỉ cần mở lòng mình? Đây là một cái gì đó gần giống nhau.

Chương trình không phải lúc nào cũng hoạt động hiệu quả. Giờ đây ngôn ngữ Nga hùng mạnh vẫn chưa được các nhà lập trình ngôn ngữ học nghiên cứu đầy đủ... Nhưng thật tuyệt khi máy tính lắng nghe bạn.

Vì vậy, để thử nghiệm và tò mò tầm thường, chương trình Typle phù hợp 100%.

Trong video này, bạn có thể xem lịch sử tạo ra công cụ giọng nói đầu tiên và những gì chúng tôi cần phải làm:

Có những cái tên khủng khiếp như vậy của các chương trình tương tự khác của chương trình như Gorynych, Perpetuum, Dictograph, Voice Commander. Nhưng tất cả đều “sai”. Họ không vượt qua những lời chỉ trích về một chương trình xứng đáng.

Tôi mất 5 phút để thành thạo chương trình này. Đây là một khoảng thời gian khá dài (thường thì tôi hiểu những chương trình như vậy trong 1-2 phút). Nếu bạn có bất kỳ câu hỏi nào, hãy viết. Hẹn gặp lại các bạn sớm :)!

Hầu hết người dùng đều biết rằng hệ thống Siri được coi là trợ lý cá nhân và công nghệ hỏi đáp phổ biến nhất trên các thiết bị iOS. May mắn thay, Siri không phải là hệ thống duy nhất có sẵn trên thị trường. Vì vậy, những người hâm mộ khoa học viễn tưởng và truyện tranh do Marvel tạo ra sẽ được tặng trợ lý cá nhân JARVIS từ bộ phim “Iron Man”.

Nếu chủ nhân của thiết bị này đã xem bộ phim “Iron Man” thì chắc hẳn anh ta biết quản gia của Tony Stark, tên là Jarvis. Do đó, người dùng sẽ có thể nhờ đến sự trợ giúp của người hầu ảo trên thiết bị di động của riêng mình. Ngoài ra, chương trình JARVIS là một sự phát triển độc đáo sử dụng giọng nói và hình ảnh của nhân vật Jarvis.

Tiện ích JARVIS bắt đầu bằng hướng dẫn bằng âm thanh thông thường để sử dụng và quản lý công cụ được chỉ định. Sau khi thiết lập hoàn tất, người dùng sẽ cần cho biết giới tính của mình (để trợ lý ảo có thể xưng hô chính xác với chủ sở hữu thiết bị). Ngoài ra, ở đây bạn sẽ phải đặt đơn vị đo cho các điều kiện nhiệt độ cơ bản (cụ thể là độ Kelvin, độ F hoặc tất nhiên là độ C).


Bạn có thể tìm thấy danh sách chi tiết các hướng dẫn bằng cách chạm vào biểu tượng nằm ở góc trên của màn hình. Trong trường hợp này, tất cả các lệnh phải bắt đầu bằng địa chỉ “Jarvis” và thường chứa một từ (ví dụ: “Jarvis, dự báo thời tiết”). JARVIS cũng có thể thông báo cho chủ sở hữu thiết bị về các cuộc họp trong tương lai và hiển thị thời gian hiện tại. Bạn cũng có thể tạo nhiều lời nhắc bằng âm thanh trong chương trình.

Điều quan trọng cần lưu ý là tiện ích JARVIS cung cấp các khả năng bổ sung cho chủ sở hữu đĩa quang với bộ phim bom tấn “Iron Man”. Ví dụ: người dùng có thể dễ dàng kiểm soát việc phát lại bộ phim tương ứng bằng cách sử dụng quản gia ảo này.


Thông tin hữu ích: nếu bạn hỏi trợ lý ảo của mình một câu hỏi: tôi có nên mua một chiếc BMW 740 (http://www.bmw-avtoport.ru/auto/7/), thì câu trả lời của anh ấy với xác suất một trăm phần trăm sẽ là khẳng định! Nhân tiện, bạn có thể mua ngay chiếc BMW series thứ bảy với những điều kiện có lợi nhất cho mình! Tất cả những gì bạn cần làm để thực hiện việc này là truy cập trang web www.bmw-avtoport.ru.


Đã lâu rồi tôi không rời bỏ ý nghĩ về chiếc “Jarvis” của mình và việc điều khiển các thiết bị trong nhà bằng giọng nói của mình. Và cuối cùng, chúng tôi đã tạo ra được điều kỳ diệu này. Tôi không phải suy nghĩ lâu về “bộ não”; Raspberry Pi hoàn toàn phù hợp.

Vì vậy, sắt:

  • Raspberry pi 3 mẫu b
  • máy ảnh usb logitech

Thực hiện

Trợ lý của chúng tôi sẽ làm việc theo nguyên tắc Alexa/Hub:
  1. Kích hoạt ngoại tuyến bằng một từ cụ thể
  2. Nhận biết một nhóm trên đám mây
  3. Chạy lệnh
  4. Báo cáo công việc đã thực hiện hoặc báo cáo yêu cầu thông tin
Bởi vì máy ảnh của tôi được hỗ trợ ngay lập tức, tôi không cần phải loay hoay với trình điều khiển, vì vậy hãy chuyển thẳng sang phần phần mềm.

Kích hoạt ngoại tuyến

Quá trình kích hoạt sẽ diễn ra bằng CMU Sphinx và mọi thứ sẽ ổn, nhưng khả năng nhận dạng ban đầu rất chậm, hơn 10 giây, điều này hoàn toàn không phù hợp, để giải quyết vấn đề bạn cần xóa từ điển những từ không cần thiết.

Chúng tôi cài đặt mọi thứ bạn cần:

Cài đặt Pip3 Nhận dạng giọng nói pip3 cài đặt Pocketphinx
Hơn nữa

Sudo nano /usr/local/lib/python3.4/dist-packages/speech_recognition/pocketsphinx-data/en-US/pronounuation-dictionary.dict
Chúng tôi xóa mọi thứ ngoại trừ Jarvis mà chúng tôi cần:

Jarvis JH AA R V AH S
Bây giờ Pocketphinx nhận ra nó khá nhanh.

Nhận dạng giọng nói

Lúc đầu, ý tưởng là sử dụng dịch vụ của Google và ngoài ra, nó còn được hỗ trợ trong SpeechRecognition. Nhưng hóa ra, Google lấy tiền cho việc này và không làm việc với các cá nhân. người.

May mắn thay, Yandex cũng cung cấp cơ hội này, miễn phí và cực kỳ đơn giản.

Chúng tôi đăng ký và nhận API KEY. Tất cả công việc có thể được thực hiện với Curl'om.

Curl -X POST -H "Content-Type: audio/x-wav" --data-binary "@file" "https://asr.yandex.net/asr_xml?uuid=ya_uid&key=yf_api_key&topic=queries"

Tổng hợp giọng nói

Ở đây Yandex sẽ giúp chúng tôi một lần nữa. Chúng tôi gửi văn bản để phản hồi và nhận một tệp có văn bản tổng hợp

Cuộn tròn "https://tts.voicetech.yandex.net/generate?format=wav&lang=ru-RU&loa=zahar&emotion=good&key=ya_api_key" -G --data-urlencode "text=text" > tập tin

Jarvis

Chúng tôi tập hợp mọi thứ lại với nhau và có được kịch bản này.

#! /usr/bin/env python # -*-coding:utf-8-*- import os import speech_recognition as sr from xml.dom import minidom import sys import Random r = sr.Recognizer() ya_uuid = "" ya_api_key = "" # os.system("echo "Hỗ trợ+ent za+ushchen" |festival --tts --ngôn ngữ tiếng nga") def Convert_ya_asr_to_key(): xmldoc = minidom.parse("./asr_answer.xml") itemlist = xmldoc.getElementsByTagName ("biến thể") if len(itemlist) > 0: return itemlist.firstChild.nodeValue else: return False def jarvis_on(): với sr.WavFile("send.wav") làm nguồn: audio = r.record(source) thử: t = r.recognize_sphinx(audio) print(t) ngoại trừ LookupError: print("Không thể hiểu âm thanh") return t == ("jarvis") def jarvis_say(phrase): os.system("curl "https: //tts.voicetech.yandex.net/generate?format=wav&lang=ru-RU&peaker=zahar&emotion=good&key="+ya_api_key+"" -G --data-urlencode "text=" + cụm từ + "" > jarvis_speech.wav" ) os.system("aplay jarvis_speech.wav") def jarvis_say_good():phrase = ["Xong", "Xong", "Có", "Có", "Còn gì nữa không?", ] randitem = ngẫu nhiên.choice ( cụm từ) jarvis_say(randitem) thử: while True: os.system("arecord -B --buffer-time=1000000 -f dat -r 16000 -d 3 -D plughw:1,0 send.wav") if jarvis_on ( ): os.system("aplay jarvis_on.wav") os.system("arecord -B --buffer-time=1000000 -f dat -r 16000 -d 3 -D plughw:1,0 send.wav") os .system("curl -X POST -H "Content-Type: audio/x-wav" --data-binary "@send.wav" "https://asr.yandex.net/asr_xml?uuid="+ ya_uuid+ "&key="+ya_api_key+"&topic=queries" > asr_answer.xml") command_key = Convert_ya_asr_to_key() if (command_key): if (command_key in ['key_word", 'key_word1', 'key_word2"]): os.system ( '') jarvis_say_good() tiếp tục ngoại trừ Ngoại lệ: jarvis_say("Đã xảy ra lỗi")
Những gì đang xảy ra ở đây. Chúng tôi bắt đầu một vòng lặp vô hạn, ghi lại ba giây bằng arecord'om và gửi nhân sư để nhận dạng nếu tìm thấy từ "jarvis" trong tệp

Nếu jarvis_on():
phát tệp thông báo kích hoạt được ghi trước.

Một lần nữa, chúng tôi ghi lại 3 giây và gửi nó đến Yandex, để đáp lại, chúng tôi nhận được lệnh của mình. Tiếp theo, chúng tôi thực hiện các hành động dựa trên lệnh.

Đó là tất cả. Bạn có thể đưa ra rất nhiều kịch bản thực hiện khác nhau.

Ca sử dụng

Bây giờ một số ví dụ về cách sử dụng thực sự của tôi

Philips Huế

Cài đặt

Pip cài đặt phue
Trong ứng dụng Hue, chúng tôi đặt IP tĩnh:

Hãy khởi động:

#!/usr/bin/python import sys from phue import Bridge b = Bridge("192.168.0.100") # Nhập IP cầu nối tại đây. #Nếu chạy lần đầu tiên, nhấn nút trên bridge và chạy với b.connect() không ghi chú #b.connect() print (b.get_scene())
Chúng tôi ghi lại ID của các mạch cần thiết, chẳng hạn như “470d4c3c8-on-0”

Kịch bản cuối cùng:

#!/usr/bin/python import sys from phue import Bridge b = Bridge("192.168.0.100") # Nhập IP cầu nối tại đây. #Nếu chạy lần đầu tiên, nhấn nút trên bridge và chạy với b.connect() không bị chú thích #b.connect() if (sys.argv == "off"): b.set_light(,"on", False) khác: b.activate_scene(1,sys.argv)
Trong Jarvis chúng tôi thêm:

Nếu (command_key trong ["bật đèn", "bật đèn", "đèn"]): os.system("python3 /home/pi/smarthome/hue/hue.py a1167aa91-on-0") jarvis_say_good() tiếp tục nếu (command_key trong ["làm mờ đèn", "làm mờ đèn"]): os.system("python3 /home/pi/smarthome/hue/hue.py ac637e2f0-on-0") jarvis_say_good( ) tiếp tục nếu (command_key trong ["tắt đèn", "tắt đèn"]): os.system("python3 /home/pi/smarthome/hue/hue.py "off"") jarvis_say_good() continue

Tivi LG

Hãy lấy kịch bản từ đây. Sau lần khởi chạy đầu tiên và nhập mã ghép nối, bản thân mã không thay đổi nên bạn có thể cắt phần này ra khỏi tập lệnh và chỉ để lại phần điều khiển.

Trong Jarvis chúng tôi thêm:

#1 - POWER #24 - VOLUNE_UP #25 - VOLUME_DOWN #400 - 3D_VIDEO if (command_key in ["tắt TV", "tắt TV"]): os.system("python3 /home/pi/smarthome/ TV/tv2. py 1") jarvis_say_good() tiếp tục nếu (command_key trong ['tăng âm lượng", "to hơn"]): os.system("python3 /home/pi/smarthome/TV/tv2.py 24" ) jarvis_say_good() tiếp tục

Đài

sudo apt-get cài đặt mpg123
Trong Jarvis chúng tôi thêm:

Nếu (command_key trong ["news", 'tắt tin tức', 'chuyện gì đang xảy ra']): os.system('mpg123 URL") tiếp tục
Bạn cũng có thể cài đặt homebridge và điều khiển mọi thứ thông qua Siri, nếu bạn không thể hét lên với Jarvis.

Về chất lượng nhận dạng giọng nói, tất nhiên không phải là Alexa, nhưng ở khoảng cách lên tới 5 mét, tỷ lệ nhận dạng giọng nói là khá. Vấn đề chính là giọng nói từ TV/loa được ghi lại cùng với các lệnh và cản trở khả năng nhận dạng.

Đó là tất cả, cảm ơn bạn.

thẻ:

  • pi mâm xôi
  • trăn
Thêm thẻ