Mục lục:

Máy ảnh điều khiển bằng giọng nói sử dụng Raspberry Pi: 6 bước
Máy ảnh điều khiển bằng giọng nói sử dụng Raspberry Pi: 6 bước

Video: Máy ảnh điều khiển bằng giọng nói sử dụng Raspberry Pi: 6 bước

Video: Máy ảnh điều khiển bằng giọng nói sử dụng Raspberry Pi: 6 bước
Video: Đề tài Nhúng: Điều khiển thiết bị bằng giọng nói | Raspberry Pi. 2024, Tháng bảy
Anonim
Máy ảnh điều khiển bằng giọng nói sử dụng Raspberry Pi
Máy ảnh điều khiển bằng giọng nói sử dụng Raspberry Pi

Phát triển một máy ảnh có thể chạy bằng lệnh thoại, điều này chủ yếu được thiết kế cho mọi người, đặc biệt là cho những người muốn chụp ảnh thời gian vui vẻ.

Bước 1: Hướng dẫn phần cứng

Hướng dẫn phần cứng
Hướng dẫn phần cứng

VDC được thiết kế trên Raspberry Pi (Model B) và yêu cầu một số phần cứng bổ sung như bộ điều hợp wifi (tùy chọn) và micrô USB. Phần cứng được đề xuất được chỉ ra bên dưới với các liên kết để biết thêm chi tiết. Bạn có thể thử các nhãn hiệu / thông số kỹ thuật của phần cứng hơi khác nhau. VDC không liên kết với bất kỳ nhà cung cấp phần cứng được liên kết nào.

Danh sách đầy đủ

  1. Raspberry Pi Model B
  2. Picamera
  3. Micro USB mini
  4. Thẻ SD
  5. Cáp Ethernet
  6. Bộ chuyển đổi Mini-USB (tùy chọn)
  7. Micro USB - bộ sạc tường
  8. Loa hoạt động thông qua giắc cắm âm thanh Raspberry Pi (có thể cần phải tự cấp nguồn)

Danh sách thiết bị ngoại vi đã được Raspberry Pi xác minh có thể hữu ích cho việc tìm kiếm sản phẩm thay thế cho các sản phẩm được đề xuất ở trên.

cuộc họp

Lắp ráp các thành phần cần thiết là đơn giản. Cắm micrô, thẻ SD, bộ điều hợp không dây (nếu bạn có), cáp micro-USB, cáp ethernet và loa vào Raspberry Pi. Nên sử dụng bộ chuyển đổi sạc gắn tường USB để cấp nguồn, như một thiết bị độc lập.

Cáp ethernet sẽ được sử dụng để đăng nhập vào pi từ máy tính trong bước cài đặt phần mềm. Sau khi cài đặt, nếu bạn thích sử dụng kết nối không dây, có thể tháo cáp này.

Kết nối Internet

Như đã đề cập ở trên, bộ điều hợp không dây là tùy chọn. Nó chỉ chạy tốt trên kết nối có dây (qua ethernet), vì vậy bạn có thể chọn giữa hai thiết lập tùy thuộc vào những gì phù hợp nhất với bạn.

Bước 2: Cài đặt hệ điều hành trên Raspberry Pi

Cài đặt hệ điều hành trên Raspberry Pi
Cài đặt hệ điều hành trên Raspberry Pi

Giới thiệu

Raspberry Pi là một bộ vi xử lý có kích thước thẻ tín dụng có sẵn trong các mô hình khác nhau với tốc độ xử lý khác nhau bắt đầu từ 700 MHz. Cho dù bạn có mô hình B hoặc mô hình B +, hoặc phiên bản rất cũ, quá trình cài đặt vẫn giống nhau. Những người đã xem trang web Raspberry Pi chính thức, có thể đã thấy họ giới thiệu Hệ điều hành "NOOBS" hoặc "NOOBS LITE" (hay còn gọi là "OS") cho người mới bắt đầu. Nhưng việc sử dụng Pi rất dễ dàng và từ người mới bắt đầu, người ta sẽ nhanh chóng trở thành chuyên nghiệp. Vì vậy, tốt hơn hết bạn nên sử dụng hệ điều hành mạnh mẽ hơn và hiệu quả hơn, Raspbian. Lý do chính khiến Raspbian cực kỳ phổ biến là nó có hàng nghìn thư viện được xây dựng sẵn để thực hiện nhiều tác vụ và tối ưu hóa hệ điều hành. Điều này tạo thành một lợi thế rất lớn trong khi xây dựng các ứng dụng.

Tải xuống Raspbian và Trình ghi hình ảnh

Tải xuống phiên bản Raspbian mới nhất từ đây. Bạn có thể tải xuống trực tiếp hoặc thông qua torrent.

Trang Raspbian

Liên kết tải xuống hệ điều hành Raspbian

Bạn sẽ cần một trình ghi hình ảnh để ghi hệ điều hành đã tải xuống vào thẻ SD (thẻ micro SD trong trường hợp của mô hình Raspberry Pi B +). Vì vậy, tải xuống "win32 disk imageer" từ đây.

Viết hình ảnh

Cắm thẻ SD vào máy tính xách tay / máy tính và chạy trình ghi hình ảnh. Sau khi mở, hãy duyệt và chọn tệp hình ảnh Raspbian đã tải xuống. Chọn thiết bị chính xác, đó là ổ đĩa đại diện cho thẻ SD. Nếu ổ đĩa (hoặc thiết bị) được chọn khác với thẻ SD thì ổ đĩa đã chọn khác sẽ bị hỏng. Vì vậy, hãy cẩn thận.

Sau đó, nhấp vào nút "Viết" ở phía dưới. Ví dụ: hãy xem hình ảnh bên dưới, nơi ổ đĩa thẻ SD (hoặc micro SD) được biểu thị bằng ký tự "G: \"

Sau khi ghi xong, hãy rút thẻ SD ra và lắp nó vào Raspberry Pi và bật nó lên. Nó sẽ bắt đầu khởi động.

Thiết lập Pi

Hãy nhớ rằng sau khi khởi động Pi, có thể có các tình huống khi thông tin đăng nhập của người dùng như "tên người dùng" và mật khẩu sẽ được hỏi. Raspberry Pi đi kèm với tên người dùng và mật khẩu mặc định và vì vậy hãy luôn sử dụng nó bất cứ khi nào được yêu cầu. Các thông tin đăng nhập là:

đăng nhập: pi

mật khẩu: raspberry

Khi Pi được khởi động lần đầu tiên, một màn hình cấu hình được gọi là "Tùy chọn cài đặt" sẽ xuất hiện và nó sẽ giống như hình dưới đây.

Nếu bạn đã bỏ lỡ màn hình "Tùy chọn cài đặt", nó không phải là vấn đề, bạn luôn có thể nhận được nó bằng cách gõ lệnh sau vào thiết bị đầu cuối.

sudo raspi-config

Khi bạn thực hiện lệnh này, màn hình "Tùy chọn cài đặt" sẽ xuất hiện như trong hình trên.

Bây giờ cửa sổ Tùy chọn cài đặt đã xuất hiện, chúng ta sẽ phải thiết lập một số thứ. Sau khi hoàn thành từng bước dưới đây, nếu nó yêu cầu khởi động lại Pi, hãy làm như vậy. Sau khi khởi động lại, nếu bạn không nhận được màn hình "Tùy chọn cài đặt", hãy làm theo lệnh được đưa ra ở trên để có được màn hình / cửa sổ.

Điều đầu tiên cần làm:

chọn tùy chọn đầu tiên trong danh sách của cửa sổ tùy chọn thiết lập, đó là chọn

Mở rộng hệ thống tệp

và nhấn phím enter. Chúng tôi làm điều này để tận dụng tất cả không gian có trên thẻ SD làm phân vùng đầy đủ. Tất cả điều này là, mở rộng hệ điều hành để phù hợp với toàn bộ không gian trên thẻ SD, sau đó có thể được sử dụng làm bộ nhớ lưu trữ cho Pi. Điều thứ hai cần làm:

chọn tùy chọn thứ ba trong danh sách của cửa sổ tùy chọn thiết lập, đó là chọn tùy chọn "Enable Boot To Desktop / Scratch" và nhấn phím enter. Nó sẽ đưa bạn đến một cửa sổ khác được gọi là cửa sổ "chọn tùy chọn khởi động" có dạng như hình bên dưới.

Trong "cửa sổ chọn tùy chọn khởi động", chọn tùy chọn thứ hai, nghĩa là "Màn hình Đăng nhập với tư cách người dùng 'pi' tại màn hình đồ họa" và nhấn nút enter. Sau khi hoàn tất bạn sẽ được đưa trở lại trang "Tùy chọn cài đặt", nếu không chọn nút "OK" ở cuối cửa sổ này và bạn sẽ được đưa trở lại cửa sổ trước đó. Chúng tôi làm điều này vì chúng tôi muốn khởi động vào môi trường máy tính để bàn mà chúng tôi đã quen thuộc. Nếu chúng tôi không thực hiện bước này thì Raspberry Pi khởi động vào một thiết bị đầu cuối mỗi lần mà không có tùy chọn GUI. Khi cả hai bước đã xong, hãy chọn nút "kết thúc" ở cuối trang và nó sẽ tự động khởi động lại. Nếu không, hãy sử dụng lệnh sau trong thiết bị đầu cuối để khởi động lại.

khởi động lại sudo

Cập nhật chương trình cơ sở

Sau khi khởi động lại từ bước trước, nếu mọi thứ diễn ra suôn sẻ, thì bạn sẽ đến màn hình giống như hình bên dưới.

Khi bạn đang ở trên màn hình, hãy mở một thiết bị đầu cuối và nhập lệnh sau để cập nhật chương trình cơ sở của Pi.

sudo rpi-update

Việc cập nhật chương trình cơ sở là cần thiết vì một số mẫu Pi nhất định có thể không có tất cả các phụ thuộc cần thiết để chạy trơn tru hoặc có thể có một số lỗi. Phần mềm cơ sở mới nhất có thể có bản sửa lỗi cho những lỗi đó, do đó, việc cập nhật nó ngay từ đầu là rất quan trọng.

đây là liên kết video có sẵn:

Cài đặt và cấu hình Hệ điều hành Raspbian Jessie trên Raspberry Pi (nhấp vào liên kết)

Bước 3: Thiết lập VNC trên Raspberry Pi để điều khiển từ xa

Thiết lập VNC trên Raspberry Pi để điều khiển từ xa
Thiết lập VNC trên Raspberry Pi để điều khiển từ xa

VNC (Máy tính mạng ảo)

Đôi khi không tiện làm việc trực tiếp trên Raspberry Pi. Có thể bạn muốn làm việc trên nó từ một thiết bị khác bằng điều khiển từ xa.

VNC là một hệ thống chia sẻ máy tính để bàn đồ họa cho phép bạn điều khiển từ xa giao diện máy tính để bàn của một máy tính (chạy VNC Server) từ một máy tính hoặc thiết bị di động khác (chạy VNC Viewer). VNC Viewer truyền các sự kiện bàn phím và chuột hoặc cảm ứng đến Máy chủ VNC, và nhận lại các bản cập nhật cho màn hình.

Bạn sẽ thấy màn hình nền của Raspberry Pi bên trong một cửa sổ trên máy tính hoặc thiết bị di động của mình. Bạn sẽ có thể kiểm soát nó như thể bạn đang làm việc trên chính Raspberry Pi.

VNC Connect từ RealVNC được bao gồm trong Raspbian. Nó bao gồm cả VNC Server, cho phép bạn điều khiển Raspberry Pi của mình từ xa và VNC Viewer, cho phép bạn điều khiển máy tính để bàn từ xa từ Raspberry Pi nếu bạn muốn.

Bạn phải kích hoạt Máy chủ VNC trước khi có thể sử dụng nó: hướng dẫn cho việc này được đưa ra dưới đây. Theo mặc định, VNC Server cung cấp cho bạn quyền truy cập từ xa vào màn hình đồ họa đang chạy trên Raspberry Pi của bạn, như thể bạn đang ngồi trước nó.

Bật máy chủ VNC

Trên Raspberry Pi của bạn, hãy chạy các lệnh sau để đảm bảo bạn có phiên bản VNC Connect mới nhất:

sudo apt-get cập nhật

sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer

Bây giờ kích hoạt VNC Server. Bạn có thể thực hiện điều này bằng đồ thị hoặc bằng dòng lệnh.

Bật máy chủ VNC bằng đồ thị

Trên Raspberry Pi của bạn, khởi động vào màn hình đồ họa.

Chọn Menu> Tùy chọn> Cấu hình Raspberry Pi> Giao diện.

Đảm bảo VNC được Bật. Bật máy chủ VNC tại dòng lệnh

Bạn có thể kích hoạt VNC Server tại dòng lệnh bằng cách sử dụng raspi-config:

sudo raspi-config

Bây giờ, kích hoạt VNC Server bằng cách thực hiện như sau:

Điều hướng đến Tùy chọn giao diện

Cuộn xuống và chọn VNC> Có. Kết nối với Raspberry Pi của bạn bằng VNC Viewer

Có hai cách để kết nối với Raspberry Pi của bạn. Bạn có thể sử dụng một trong hai hoặc cả hai, tùy thuộc vào những gì phù hợp nhất với bạn.

Thiết lập kết nối trực tiếp

Kết nối trực tiếp nhanh chóng và đơn giản với điều kiện bạn đã tham gia vào cùng một mạng cục bộ riêng tư như Raspberry Pi của mình. Ví dụ: đây có thể là mạng có dây hoặc không dây ở nhà, ở trường hoặc ở văn phòng).

Trên Raspberry Pi của bạn (sử dụng cửa sổ đầu cuối hoặc qua SSH), hãy sử dụng các hướng dẫn này hoặc chạy ifconfig để khám phá địa chỉ IP riêng của bạn.

ifconfig

Trên thiết bị bạn sẽ sử dụng để kiểm soát, hãy tải xuống VNC Viewer. Để có kết quả tốt nhất, hãy sử dụng ứng dụng tương thích từ RealVNC.

Nhập địa chỉ IP riêng của Raspberry Pi của bạn vào VNC Viewer:

Thiết lập kết nối đám mây

Bạn được quyền sử dụng dịch vụ đám mây của RealVNC miễn phí, với điều kiện việc truy cập từ xa chỉ dành cho mục đích giáo dục hoặc phi thương mại.

Kết nối đám mây thuận tiện và được mã hóa end-to-end. Chúng rất được khuyến khích để kết nối với Raspberry Pi của bạn qua internet. Không có tường lửa hoặc cấu hình lại bộ định tuyến và bạn không cần biết địa chỉ IP của Raspberry Pi của mình hoặc cung cấp địa chỉ tĩnh.

Đăng ký tài khoản RealVNC tại đây: hoàn toàn miễn phí và chỉ mất vài giây.

Trên Raspberry Pi của bạn, đăng nhập vào Máy chủ VNC bằng thông tin đăng nhập tài khoản RealVNC mới của bạn:

Trên thiết bị bạn sẽ sử dụng để kiểm soát, hãy tải xuống VNC Viewer. Bạn phải sử dụng ứng dụng tương thích từ RealVNC

Đăng nhập vào VNC Viewer bằng chính thông tin đăng nhập tài khoản RealVNC, sau đó chạm hoặc bấm để kết nối với Raspberry Pi của bạn:

Xác thực vào Máy chủ VNC

Để hoàn tất kết nối trực tiếp hoặc kết nối đám mây, bạn phải xác thực với Máy chủ VNC.

Nếu bạn đang kết nối từ ứng dụng VNC Viewer tương thích từ RealVNC, hãy nhập tên người dùng và mật khẩu bạn thường sử dụng để đăng nhập vào tài khoản người dùng của mình trên Raspberry Pi. Theo mặc định, các thông tin đăng nhập này là pi và raspberry.

Nếu bạn đang kết nối từ một ứng dụng không phải RealVNC Viewer, trước tiên bạn cần phải hạ cấp lược đồ xác thực của Máy chủ VNC, chỉ định một mật khẩu duy nhất cho Máy chủ VNC, rồi nhập mật khẩu đó thay thế. Để thực hiện việc này, hãy mở hộp thoại Máy chủ VNC trên Raspberry Pi của bạn, chọn Menu> Tùy chọn> Bảo mật, và chọn mật khẩu VNC từ Xác thực.

Để bật tính năng này:

Trên Raspberry Pi của bạn, mở hộp thoại Máy chủ VNC.

Điều hướng đến Menu> Tùy chọn> Khắc phục sự cố và chọn Bật chế độ chụp trực tiếp thử nghiệm.

Trên thiết bị bạn sẽ sử dụng để kiểm soát, hãy chạy VNC Viewer và kết nối.

Lưu ý: các kết nối hiện có phải được khởi động lại để những thay đổi này có hiệu lực.

Nếu hiệu suất có vẻ bị suy giảm, hãy thử các bước khắc phục sự cố này hoặc cho RealVNC biết.

Tạo màn hình ảo

Nếu Raspberry Pi của bạn không có đầu (tức là không được cắm vào màn hình) hoặc đang điều khiển rô bốt, thì không có khả năng bạn đang chạy một màn hình đồ họa.

VNC Server có thể tạo một máy tính để bàn ảo cho bạn, cho phép bạn truy cập đồ họa từ xa theo yêu cầu. Màn hình ảo này chỉ tồn tại trong bộ nhớ Raspberry Pi của bạn:

Để tạo và kết nối với màn hình ảo:

Trên Raspberry Pi của bạn (sử dụng Terminal hoặc qua SSH), hãy chạy máy chủ vnc. Ghi lại địa chỉ IP / số hiển thị mà Máy chủ VNC sẽ in ra Thiết bị đầu cuối của bạn (ví dụ: 192.167. **. **).

Trên thiết bị bạn sẽ sử dụng để kiểm soát, hãy nhập thông tin này vào VNC Viewer. Để phá hủy một màn hình ảo, hãy chạy lệnh sau:

vncserver -kill:

Thao tác này cũng sẽ dừng mọi kết nối hiện có với màn hình ảo này.

Bước 4: Cấu hình máy ảnh

Cấu hình máy ảnh
Cấu hình máy ảnh

Thiết lập phần cứng máy ảnh

Cảnh báo: Máy ảnh nhạy cảm với tĩnh. Tự xử lý PCB trước khi xử lý. Vòi bồn rửa hoặc loại tương tự là đủ nếu bạn không có dây nối đất.

Bo mạch máy ảnh gắn vào Raspberry Pi thông qua cáp ruy-băng 15 chiều. Chỉ có hai kết nối để thực hiện: cáp ribbon cần được gắn vào PCB của máy ảnh và với chính Raspberry Pi. Bạn cần lấy cáp đúng chiều, nếu không máy ảnh sẽ không hoạt động. Trên PCB của máy ảnh, mặt sau màu xanh trên cáp phải đối diện với PCB và trên Raspberry Pi, nó sẽ hướng về phía kết nối Ethernet (hoặc nơi có đầu nối Ethernet nếu bạn đang sử dụng kiểu A).

Mặc dù các đầu nối trên PCB và Pi khác nhau nhưng chúng hoạt động theo cách tương tự. Trên chính Raspberry Pi, hãy kéo các tab trên mỗi đầu của trình kết nối lên. Nó sẽ trượt lên dễ dàng và có thể xoay xung quanh một chút. Cắm hoàn toàn cáp ruy-băng vào khe, đảm bảo nó được đặt thẳng, sau đó nhẹ nhàng nhấn các tab xuống để kẹp vào vị trí. Đầu nối PCB của máy ảnh cũng yêu cầu bạn kéo các tab ra khỏi bo mạch, nhẹ nhàng lắp cáp, sau đó đẩy các tab trở lại. Đầu nối PCB có thể khó xử hơn một chút so với đầu nối trên Pi.

Thiết lập phần mềm máy ảnh

Thực hiện các hướng dẫn sau trên dòng lệnh để tải xuống và cài đặt hạt nhân, chương trình cơ sở GPU và ứng dụng mới nhất. Bạn sẽ cần kết nối Internet để hoạt động chính xác.

sudo apt-get cập nhật

sudo apt-get nâng cấp

Bây giờ bạn cần bật hỗ trợ máy ảnh bằng cách sử dụng

raspi-config

chương trình bạn sẽ sử dụng khi lần đầu tiên thiết lập Raspberry Pi.

sudo raspi-config

Sử dụng các phím con trỏ để di chuyển đến tùy chọn máy ảnh và chọn 'bật'. Khi thoát raspi-config, nó sẽ yêu cầu khởi động lại. Tùy chọn kích hoạt sẽ đảm bảo rằng khi khởi động lại, chương trình cơ sở GPU chính xác sẽ chạy với trình điều khiển máy ảnh và điều chỉnh, đồng thời bộ nhớ GPU được phân chia đủ để cho phép máy ảnh có đủ bộ nhớ để chạy chính xác.

Nếu nó chưa được bật, hãy bật nó và khởi động lại Pi của bạn để bắt đầu

Để kiểm tra xem hệ thống đã được cài đặt và hoạt động hay chưa, hãy thử lệnh sau:

raspistill -v -o test.jpg

Màn hình sẽ hiển thị bản xem trước năm giây từ máy ảnh và sau đó chụp ảnh, lưu vào tệp test.jpg, đồng thời hiển thị các thông báo thông tin khác nhau.

RASPIVID

Raspivid là công cụ dòng lệnh để quay video bằng mô-đun camera.

Khi đã kết nối và bật mô-đun camera, hãy quay video bằng lệnh sau:

raspivid -o vid.h264

Nhớ sử dụng

-hf

-vf

để lật hình ảnh nếu cần, như với

raspistill

Thao tác này sẽ lưu một tệp video dài 5 giây vào đường dẫn được đưa ra ở đây là vid.h264 (thời lượng mặc định).

Chỉ định thời lượng của video

Để chỉ định thời lượng của video được quay, hãy chuyển vào cờ -t với một số mili giây. Ví dụ:

raspivid -o video.h264 -t 10000

Điều này sẽ ghi lại 10 giây video.

Định dạng video MP4

Pi quay video dưới dạng luồng video H264 thô. Nhiều trình phát media sẽ từ chối phát hoặc phát với tốc độ không chính xác, trừ khi nó được "bọc" trong một định dạng vùng chứa phù hợp như MP4. Cách dễ nhất để lấy tệp MP4 từ

chia rẽ

lệnh đang sử dụng MP4Box.

Cài đặt MP4Box bằng lệnh này:

sudo apt-get install -y gpac

Chụp video thô của bạn với độ phân giải và bọc nó trong một vùng chứa MP4 như thế này:

# Chụp 30 giây video thô ở 640x480 và tốc độ bit 150kB / s vào tệp pivideo.h264:

raspivid -t 30000 -w 640 -h 480 -fps 25 -b 1200000 -p 0, 0, 640, 480 -o pivideo.h264 # Gói video thô bằng vùng chứa MP4 MP4Box -add pivideo.h264 pivideo.mp4 # Remove tệp thô nguồn, để tệp pivideo.mp4 còn lại để phát rm pivideo.h264

Ngoài ra, quấn MP4 xung quanh đầu ra riêng biệt hiện có của bạn, như thế này:

MP4Box -add video.h264 video.mp4

Bước 5: Cài đặt và cấu hình

Chỉ làm theo các hướng dẫn này nếu bạn muốn biên dịch phần mềm của mình từ đầu. Các bước dưới đây là cần thiết và được khuyến nghị giống như quy trình cài đặt trên Raspberry pi của bạn.

Cài đặt các phụ thuộc

Cài đặt Sphinxbase / Pocketsphinx

Đầu tiên, bạn cần cài đặt Pocketsphinx. Nếu bạn đang sử dụng Debian Sid (không ổn định) hoặc Jessie (đang thử nghiệm), bạn chỉ có thể thực hiện:

sudo apt-get cập nhật

sudo apt-get install pocketsphinx

Bắt đầu bằng cách cài đặt một số phụ thuộc:

sudo apt-get install subversion autoconf libtool automake gfortran g ++ --yes

Tiếp theo, chuyển vào thư mục home (hoặc Jasper) của bạn để kiểm tra và cài đặt CMUCLMTK:

svn co

cd cmuclmtk /

./autogen.sh && make && sudo thực hiện cài đặt

đĩa CD..

Sau đó, khi bạn đã rời khỏi thư mục CMUCLTK, hãy tải xuống các thư viện sau:

Cài đặt Phonetisaurus, m2m-aligner và MITLM

Để sử dụng công cụ Pocketsphinx STT, bạn cũng cần cài đặt Bộ công cụ tạo mô hình ngôn ngữ MIT, m2m-aligner và Phonetisaurus (và do đó là OpenFST).

Nếu bạn không sử dụng Debian, hãy thực hiện các bước sau:

#-nguyên bản:

# wget

#-Mới:

wget

wget

wget

wget

Bỏ mục tải xuống:

tar -xvf m2m-aligner-1.2.tar.gz

tar -xvf openfst-1.3.4.tar.gz

tar -xvf is2013-convert.tgz

tar -xvf mitlm-0.4.1.tar.gz

Xây dựng OpenFST:

cd openfst-1.3.4 /

sudo./configure --enable-compact-fsts --enable-const-fsts --enable-far --enable-lookahead-fsts --enable-pdt

time sudo make install # quay lại sau một thời gian dài

đĩa CD..

thực 66m38.394 giây

người dùng 64m42.620 giây

sys 1m2.150 giây

df -h /

Kích thước hệ thống tập tin Đã sử dụng Khả năng sử dụng% Được gắn trên / dev / root 14G 4.4G 8.3G 35% /

Xây dựng M2M:

cd m2m-aligner-1.2 /

sudo làm

đĩa CD..

Xây dựng MITLMT:

cd mitlm-0.4.1 /

sudo./configure

sudo thực hiện cài đặt

đĩa CD..

Xây dựng Phonetisaurus:

cd is2013-convert / phonetisaurus / src

sudo làm

đĩa CD

Di chuyển một số tệp đã biên dịch:

sudo cp ~ / m2m-aligner-1.2 / m2m-aligner / usr / local / bin / m2m-aligner

#-nguyên bản:

# sudo cp ~ / phonetisaurus-0.7.8 / phonetisaurus-g2p / usr / local / bin / phonetisaurus-g2p

# -cần trở thành:

sudo cp ~ / is2013-convert / bin / phonetisaurus-g2p / usr / local / bin / phonetisaurus-g2p

Lưu ý đường dẫn đã thay đổi cho tệp thực thi.

Nhận và xây dựng mô hình Phonetisaurus FST

wget

tar -xvf g014b2b.tgz

cd g014b2b /

./compile-fst.sh

đĩa CD..

Cuối cùng, đổi tên thư mục sau để thuận tiện:

mv ~ / g014b2b ~ / phonetisaurus

Khi quá trình cài đặt hoàn tất, hãy khởi động lại Pi của bạn.

Làm theo hướng dẫn từ

Tôi cũng đã thêm tệp (mới) `/ etc / modprobe.d / alsa-base.conf` với nội dung này:

# Điều này đặt giá trị chỉ mục của thẻ nhưng không sắp xếp lại.

tùy chọn snd_usb_audio index = 0

tùy chọn snd_bcm2835 index = 1

# Có sắp xếp lại.

tùy chọn snd slot = snd_usb_audio, snd_bcm2835

để đảm bảo sắp xếp đúng thứ tự các thiết bị âm thanh (tuy nhiên, không hoàn toàn chắc chắn rằng điều này thực sự cần thiết)

Đã hoàn tất quá trình cài đặt - một số gỡ lỗi tiếp theo…

Đang cố gắng khởi động jasper:

pi @ AVIV: ~ $./jasper/jasper.py

Traceback (cuộc gọi gần đây nhất sau cùng):

Tệp "./jasper/jasper.py", dòng 12, trong từ ứng dụng khách nhập tts, stt, jasperpath, chẩn đoán Tệp "/home/pi/jasper/client/tts.py", dòng 41, trong nhập tệp chẩn đoán "/ home / pi / jasper / client / chẩn đoán.py ", dòng 9, trong tệp nhập pip.req" /usr/lib/python2.7/dist-packages/pip/_init_.py ", dòng 74, từ pip. vcs import git, tensurial, subversion, bazaar # noqa File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in from pip.download import path_to_url File "/ usr / lib / python2.7 / dist-pack / pip / download.py ", dòng 25, trong từ request.compat import IncompleteRead ImportError: không thể nhập tên IncompleteRead

Đã sửa với:

sudo easy_install -U pip

Vấn đề tiếp theo:

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* JASPER - MÁY TÍNH NÓI CHUYỆN * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ************************** LỖI: root: Đã xảy ra lỗi! Traceback (lần gọi gần đây nhất): Tệp "./jasper/jasper.py", dòng 143, trong app = Jasper () Tệp "./jasper/jasper.py", dòng 88, trong _init_ stt_engine_class = stt.get_engine_by_slug (stt_engine_slug) Tệp "/home/pi/jasper/client/stt.py", dòng 648, trong get_engine_by_slug "phụ thuộc, v.v.)")% slug)

ValueError: STT engine 'sphinx' không khả dụng (do thiếu phụ thuộc, thiếu phụ thuộc, v.v.)

cố gắng

sudo apt-get install -y python-pocketsphinx

Thay vào đó, sửa đường dẫn thành `../ phonetisaurus / g014b2b.fst` thành` / home / pi / phonetisaurus / g014b2b.fst` (trong `.jasper / profile.yml`)

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* JASPER - MÁY TÍNH NÓI CHUYỆN * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ************************** LỖI: client.stt: hmm_dir '/ usr / local / share / pocketsphinx / model / hmm / en_US / hub4wsj_sc_8k ' không tồn tại! Hãy đảm bảo rằng bạn đã đặt đúng hmm_dir trong hồ sơ của mình.

Sửa / kích hoạt đường dẫn cho điều này trong `profile.yml`:

hmm_dir: '/ usr / share / pocketsphinx / model / hmm / en_US / hub4wsj_sc_8k' #optional

(lưu ý sự vắng mặt của "local" trong đường dẫn)

Thành công một phần -:

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* JASPER - MÁY TÍNH NÓI CHUYỆN * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ************************** ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Thẻ PCM không xác định.pcm.rear ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Thẻ PCM không xác định.pcm.center_lfe ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Thẻ PCM không xác định.pcm.side ALSA lib pCM.c: 2239: (snd_pcm_open_noupdate thẻ không xác định) pcm.c: 2239: (snd_pcm_open_noupdate) Thẻ PCM không xác định.pcm.hdmi ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Thẻ PCM không xác định.pcm.modem ALSA lib pcm.c: 2239: (snd_pcm_open) Thẻ PCM không xác định.modem ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Thẻ PCM không xác định.pcm.phoneline ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Thẻ PCM không xác định.pcm.phoneline ALSA lib Pulseudio_connect: Không thể kết nối: Kết nối bị từ chối ALSA lib xung.c: 243: (xung_connect) PulseAudio: Không thể kết nối: Kết nối bị từ chối Không thể kết nối để phân phát r socket err = Không có tệp hoặc thư mục như vậy Không thể kết nối với máy chủ yêu cầu máy chủ giắc cắm kênh không chạy hoặc không thể khởi động Biểu thức 'paInvalidSampleRate' không thành công trong 'src / hostapi / alsa / pa_linux_alsa.c', dòng: 2048 Biểu thức 'PaAlsaStreamComponent_InitialConfigure (& self -> capture, inParams, self-> primeBuffers, hwParamsCapture, & realSr) 'không thành công trong' src / hostapi / alsa / pa_linux_alsa.c ', dòng: 2719 Biểu thức' PaAlsaStream_Configure (stream, inputParameters, outputParameters, sampleRate, framesPerLatency, & hostBufferSizeMode) 'không thành công trong' src / hostapi / alsa / pa_linux_alsa.c ', dòng: 2843 Traceback (lần gọi gần đây nhất): Tệp "./jasper/jasper.py", dòng 148, trong tệp app.run () "./jasper/jasper.py", dòng 118, đang chạy Chat.handleForever () Tệp "/home/pi/jasper/client/conversation.py", dòng 31, trong ngưỡng handleForever, được phiên âm = self.mic.passiveListen (self.persona) Tệp "/home/pi/jasper/client/mic.py", dòng 110, trong passiveListen frames_per_buffer = CHUNK) Tệp "/usr/lib/python2.7/dist-packages/pyaudio.py", dòng 747, trong open stream = Stream (self, * args, ** kwargs) Tệp "/usr/lib/python2.7/dist -packages / pyaudio.py ", dòng 442, trong _init_ self._stream = pa.open (** đối số) IOError: [Errno Tỷ lệ mẫu không hợp lệ] -9997

Được rồi, việc sửa RATE và CHUNK như thế này dường như sẽ đi xa hơn:

diff --git a / client / mic.py b / client / mic.py

chỉ mục 401cddb..dee49fe 100644

--- a / client / mic.py

+++ b / client / mic.py

@@ -93, 8 +93, 8 @@ lớp Mic:

"""

THRESHOLD_MULTIPLIER = 1,8

- TỶ LỆ = 16000

- CHUNK = 1024

+ TỶ LỆ = 44100 # 16000

+ CHUNK = 4096 # 1024

# số giây để cho phép thiết lập ngưỡng

THRESHOLD_TIME = 1

Bước 6: OUTPUT Ảnh chụp màn hình

Đề xuất: