Mục lục:

Raspberry Pi Audio Dac-Amp-Streamer: 14 bước
Raspberry Pi Audio Dac-Amp-Streamer: 14 bước

Video: Raspberry Pi Audio Dac-Amp-Streamer: 14 bước

Video: Raspberry Pi Audio Dac-Amp-Streamer: 14 bước
Video: The BEST DIY Raspberry Pi Music Streamer?! | Audiophonics Evo-Sabre 2024, Tháng mười hai
Anonim
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer

Sử dụng lại chiếc mũ giọng nói AIY của Google ngày xưa như một thiết bị phát trực tuyến âm thanh nổi không đầu chuyên dụng.

Giờ đây, bộ công cụ giọng nói AIY của Google đã gần được hai năm tuổi, bạn có thể nhận thấy tính mới đã bị hao mòn một chút. Hoặc, bạn có thể tự hỏi liệu các quảng cáo trên trình duyệt của mình cho lễ hội phục hưng gần nhất có liên quan gì đến câu hỏi bạn đã đặt ra về nơi bạn có thể tìm thấy giá tốt cho giày chạy bộ có giáp không.

Nếu bạn đã sở hữu một bộ, dự án này sẽ chỉ cho bạn cách sử dụng bộ giọng nói Google AIY hiện có của bạn và tái sử dụng nó như một bộ truyền phát âm thanh không đầu chuyên dụng. Nếu bạn chưa có bộ dụng cụ và bạn sống gần Trung tâm Vi mô; bạn đang gặp may - vẫn còn rất nhiều xung quanh và tôi nghi ngờ rằng họ sẽ rẻ hơn bất kỳ mức giá hiện tại là 5 đô la. (trên thực tế, chúng là 3 đô la kể từ tháng 7 năm 2019).

Dự án này hoàn toàn là về âm thanh và không liên quan gì đến AI. Chúng tôi sẽ làm việc trên một hệ điều hành hoàn toàn riêng biệt được lưu trữ trên một thẻ micro sd riêng biệt, cho phép bạn giữ nguyên tất cả các chức năng của AI. Hơn nữa, chúng tôi sẽ cải thiện trải nghiệm người dùng bằng cách giới thiệu âm thanh nổi (thêm vài đô la) khi chúng tôi xây dựng một thiết bị phát trực tuyến âm thanh có thể mở rộng. Cuối cùng, sau khi hoàn thành dự án này, chúng tôi sẽ để chiếc mũ giọng nói ở trạng thái sẵn sàng cho việc mở rộng trong tương lai. Những hạn chế của việc mở rộng sẽ chỉ là sự sáng tạo của chúng ta.

Bước 1: Mua sắm

Tạp vụ
Tạp vụ

Tôi sẽ viết bài hướng dẫn này theo quan điểm mà bạn chưa có bộ Google Voice sở hữu. Nếu bạn đã có thiết lập bộ giọng nói - các mục bổ sung cần thiết được đánh dấu * bên dưới. Ngoài ra, sản phẩm Raspberry Pi mới nhất (Pi 3 A +) hoàn toàn phù hợp cho dự án này dựa trên yếu tố hình thức của nó và tôi thực sự khuyên bạn nên mua một cái. Tuy nhiên, bất kỳ Pi nào cũng nên làm miễn là nó sẽ phù hợp với mũ bộ giọng nói và các GPIO.

Thành phần:

  • Raspberry Pi (khuyên dùng Pi 3 A +)
  • Nguồn cung cấp 5,25V 2,4 amp micro usb
  • Thẻ Micro SD (tùy thuộc vào kích thước bộ sưu tập nhạc của bạn, nên đủ 16gb)
  • Max98357A dac và amp (từ Adafruit) *
  • Diễn giả). Bộ phụ kiện đi kèm với một chiếc, tuy nhiên để có được âm thanh nổi, chúng ta sẽ cần một loa bổ sung. (cũng Adafruit)
  • Bộ Google AIY Voice
  • Tiêu đề - băng tần đơn *
  • Dây loa *

Dụng cụ cần thiết: Sắt hàn, thuốc hàn, tuốc nơ vít philips cỡ 00 hoặc 000. tuốt dây, miếng che hoặc băng sơn để cố định đầu cắm tạm thời trong quá trình hàn, bộ chuyển đổi USB sang micro SD.

Bước 2: Lắp ráp phần cứng

Lắp ráp phần cứng
Lắp ráp phần cứng

Ra khỏi hộp, chiếc mũ giọng nói đến ở chế độ đơn âm. Rất may, các kỹ sư tại Google đã thiết kế bảng cho phép nâng cấp lên âm thanh nổi chỉ đơn giản bằng cách thêm một bảng Max98357a khác để ngồi như một chiếc mũ khác. Họ thậm chí còn vạch ra ô cho chúng tôi.

Bạn đoán nó: Chúng tôi sẽ xây dựng một chiếc mũ trên một chiếc mũ. Phần cứng trên đầu Phần cứng đã ở trên cùng.

Sử dụng tiêu đề được cung cấp bởi bộ chip Adafruit Max98357a, chúng tôi bắt đầu bằng cách hàn tiêu đề 7 chân vào mũ thoại ngay bên dưới dòng chữ “AIY dự án Mũ giọng nói”. Một miếng băng keo dán vào các chân đực dài hơn trên mặt bảng có thể hữu ích để ngăn các tiêu đề trượt ra khỏi vị trí vì chúng ta sẽ làm việc với bảng ngược trong giai đoạn hàn này.

Đồng thời hàn hai chốt bên trong hộp có viền màu trắng vào mũ thoại nơi bảng max98357a màu xanh lam sẽ đặt.

KHÔNG ĐƯỢC BÁN ĐẦU NỐI LOA VÀO BAN ĐIỀU HÒA MAX98357a!

Thay vào đó, hãy kết nối các thiết bị đầu cuối của loa với mũ thoại, thẳng hàng ngay bên dưới nơi hai cực vừa được hàn. Kết nối loa bên trái và kết nối loa bên phải phải được căn chỉnh cạnh nhau, trong một hàng bốn đầu cuối.

Lật mặt phải bảng lên.

Hàn jumper có nhãn “JP4” đã đóng lại bằng cách để lại một giọt chất hàn trên jumper. Đừng quên phần này nếu không chúng ta sẽ không có âm thanh nổi!

Cẩn thận gắn bảng max98357a màu xanh lam vào các chân đực dài nhô ra từ mũ thoại. Điều này hơi khó, vì vậy hãy cố gắng hàn các chân càng vuông góc với bảng càng tốt. Với một số xung đột nhỏ của hai tiêu đề pin, tôi đã có thể thực hiện điều này chỉ với nỗ lực nhỏ.

Hoàn tất quá trình hàn các chân đực vào chip max98357a màu xanh lam - cả đầu cắm bảy chân và đầu cắm hai chân phải giữ chặt max98357a ở đúng vị trí.

Đã xong với hàn!

Bước 3: Gắn vào Pi và kết nối loa của bạn

Gắn vào Pi và kết nối loa của bạn
Gắn vào Pi và kết nối loa của bạn

Sử dụng hai miếng đệm nylon được cung cấp kèm theo bộ dụng cụ, cẩn thận ghép bộ âm thanh nữ trên đầu tiêu đề nam vào pi raspberry. Các miếng đệm nylon sẽ bắt vào đúng vị trí để bạn vừa vặn an toàn trên các góc đối diện của tiêu đề.

Sử dụng tuốc nơ vít Philips đầu nhỏ (000 hoặc 00), mở các vít trên đầu loa đủ để cho phép dây loa của bạn vừa với các lỗ nén. Bạn không cần phải tháo các ốc vít, nhưng hãy mở chúng ở những nơi chúng cảm thấy lỏng lẻo.

Chèn dây loa khổ nhỏ của bạn vào lỗ và vặn chặt các vít để giữ dây loa cố định tại vị trí.

Tôi thấy bước này là thử thách khó khăn nhất trong toàn bộ dự án - tôi không thể tìm thấy một cái tuốc nơ vít đủ nhỏ, hoặc dây loa mỏng manh của tôi quá tốt để hấp thụ lực nén của con vít và thà bị gãy còn hơn giữ chắc. Tôi đã thực hiện một sửa đổi bằng cách xây dựng các "ngòi" hoặc dây nhỏ hơn đủ chắc chắn để chịu được sức nén và chỉ đủ dài để hàn vào các đầu trần của dây loa. Xấu xí, có- nhưng hiệu quả.

Đã xong với Phần cứng!

Bước 4: Tải xuống Raspbian Lite

Tải xuống Raspbian Lite
Tải xuống Raspbian Lite
Tải xuống Raspbian Lite
Tải xuống Raspbian Lite

Nhiều người trong số các bạn đã rất quen thuộc với quá trình tải xuống và ghi hình ảnh vào thẻ SD và các bước tiếp theo nằm ngoài phạm vi của dự án này một chút. Tôi sẽ gạch đầu dòng các bước dưới đây để đề phòng, nhưng nếu bạn thấy mình vẫn còn mắc kẹt, có rất nhiều tài nguyên để hỗ trợ.

Chỉnh sửa lần cuối: Tháng 6 năm 2020 cho Tải xuống Buster Lite.

· Tải xuống và cài đặt Etcher của Balena Software

· Tải xuống hệ điều hành Raspbian Lite mới nhất từ raspberrypi.org

· Sử dụng Etcher, ghi Hình ảnh Raspbian vào thẻ SD

· Sau khi hoàn tất, trừ khi sử dụng pi zero w - hãy chuyển Thẻ SD mới được chụp ảnh sang Raspberry Pi của chúng tôi. Nếu bạn đang sử dụng pi zero w, chúng tôi cần thực hiện một số chỉnh sửa đối với tệp WPA_Supplicant.conf trong phân vùng khởi động để thiết lập wifi của bạn.

Bước 5: Định cấu hình Pi

Định cấu hình Pi
Định cấu hình Pi

Với hình ảnh mới được tạo của chúng tôi, Hãy cùng tăng sức mạnh cho số pi. Nhưng trước hết hãy mượn màn hình và bàn phím để hỗ trợ cấu hình. Cắm thẻ micro sd và gắn cáp sạc micro usb. Nếu may mắn, đèn led xanh sẽ nhấp nháy một vài lần trong khi khởi động. Lần khởi động đầu tiên có thể mất vài phút, nhưng trong vòng 5 phút, chúng tôi sẽ sẵn sàng làm việc với cấu hình của mình. Raspbian "Lite" không có màn hình nền.

Khi ở dấu nhắc lệnh: đăng nhập bằng pi, mật khẩu “raspberry”.

· Truy cập bảng cấu hình bằng cách gõ “sudo raspi-config” tại dấu nhắc lệnh.

· Thay đổi mật khẩu của bạn ngay lập tức.

· Thiết lập wifi của bạn bằng cách sử dụng các tùy chọn mạng trên bảng cấu hình

· Thay đổi các tùy chọn bản địa hóa của bạn và đặt múi giờ của bạn

· Bật SSH bằng cách sử dụng tùy chọn bảng giao diện

· Chạy “sudo apt-get update” để cập nhật phần mềm của bạn lên phiên bản mới nhất

Chúng tôi sẽ cần địa chỉ IP của Pi. Tôi đề xuất một ứng dụng có tên "FING" có thể tải xuống bất kỳ thiết bị Android nào và nó sẽ liệt kê tất cả các thiết bị được kết nối với mạng của bạn. Chúng tôi sẽ tìm kiếm một thiết bị có tên là “raspberrypi”. Viết địa chỉ ip xuống.

Từ thời điểm này trở đi, chúng tôi sẽ không yêu cầu màn hình hoặc bàn phím nữa. Tất cả các cấu hình khác sẽ được thực hiện bằng các dòng lệnh thông qua một phiên SSH.

Bước 6: Sử dụng SSH để mở phiên trên máy từ xa

Sử dụng SSH là khá cơ bản. Mở cửa sổ đầu cuối từ bất kỳ thiết bị nào trên mạng của bạn và nhập lệnh

ssh pi @ myipaddress

Thay thế “myipaddress” bằng các giá trị số thu được bằng ngón tay.

Lần đầu tiên, bạn có thể được chào đón bằng một cảnh báo đáng sợ cho biết bạn không có trong danh sách được mời, tuy nhiên, có một câu nên đọc “để loại bỏ điều này…”, hãy sao chép chuỗi ký tự dài và dán vào lệnh nhắc, nhấn enter. Sau đó, sử dụng phím mũi tên lên, lặp lại lệnh ssh pi @ myipaddress, chọn có và bây giờ nhập mật khẩu của bạn. Xin chúc mừng !, bạn hiện đã kết nối với thiết bị của mình nếu bạn đang xem dấu nhắc lệnh "pi @ raspberrypi: ~ $".

Bước 7: Cài đặt Mopidy

Cài đặt Mopidy
Cài đặt Mopidy

Chúng tôi sẽ cài đặt Mopidy làm máy chủ âm nhạc của mình. Có rất nhiều tùy chọn ở đây, nhưng tôi sẽ chỉ cho bạn cách cài đặt tiện ích mở rộng có tên "Hộp nhạc" cho phép bạn điều khiển nhạc của mình từ giao diện web thay vì dấu nhắc lệnh.

Mopidy là gì? Theo trang web của nó, Mopidy là một chuỗi những từ lớn khiến tôi cảm thấy khá kém cỏi vào lúc này, nhưng hãy cứ nói Mopidy là nền tảng mà âm nhạc của chúng tôi sẽ phát ra. Nó sẽ là một máy chủ âm nhạc, một MPD (daemon của trình phát nhạc) và một máy chủ web. Tiện ích bổ sung PiMusic Box sẽ cung cấp trang web mà chúng ta có thể điều hướng đến và kiểm soát Mopidy. Tôi nhận ra rằng vì nó chơi tốt với một loạt các dịch vụ phổ biến như Spotify hoặc Google Play Âm nhạc, nên nó sẽ phù hợp với hướng dẫn này. Thêm vào đó, nó rất tuyệt.

Dưới đây là các hướng dẫn được sao chép một cách đáng xấu hổ từ Mopidy để cài đặt từ dòng lệnh:

1. Thêm khóa GPG của kho lưu trữ:

sudo wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -

2. Thêm repo APT vào các nguồn gói của bạn:

sudo wget -q -O /etc/apt/sources.list.d/mopidy.list

Cuối cùng cài đặt mopidy:

sudo apt-get cập nhật

sudo apt-get install mopidy

Kết thúc bản sao vô liêm sỉ.

Bước 8: Sử dụng Python Pip để cài đặt … Các cài đặt khác (phần mở rộng)

Chúng tôi vừa cài đặt Mopidy vani đơn giản, nhưng chúng tôi chỉ mới bắt đầu. Các tiện ích mở rộng sẽ là khối xây dựng của chúng tôi để thêm các tùy chỉnh cho Mopidy vani đơn giản của chúng tôi. Bởi vì hầu hết các phần mở rộng mà chúng tôi sẽ đề cập đến mopidy cơ bản được viết bằng python, chúng tôi sẽ sử dụng apt tương đương dành riêng cho python.

Trước khi bắt đầu sử dụng pip, trước tiên hãy đảm bảo rằng chúng ta có tất cả các plugin gstreamer bằng cách sử dụng apt:

sudo apt install

python3-gst-1.0 / gir1.2-gstreamer-1.0 / gir1.2-gst-plugins-base-1.0 / gstreamer1.0-plugins-good / gstreamer1.0-plugins-bad / gstreamer1.0-plugins-bad / gstreamer1.0-công cụ

Quá trình này có thể mất vài phút để cài đặt. Nếu không có Gstreamer, bạn có thể không phát trực tuyến nhạc.

Và bây giờ chúng ta có thể cài đặt python pip:

sudo apt install build-essential python3-dev python3-pip

Bây giờ chúng ta có thể sử dụng pip để thêm nhiều cốm mềm. Pip là một công cụ python, tương tự như apt, nhưng tôi thấy nó hoạt động nhanh hơn apt một chút. Chậm một chút khỏi khối, nhưng nó bắt đầu khá nhanh.

Dưới đây là bốn để giúp chúng tôi bắt đầu:

Giao diện người dùng trên web. Hãy sử dụng Iris, nhưng nếu muốn, bạn có thể thử mopidy-musicbox-webclient:

sudo python3 -m pip cài đặt Mopidy-Iris

Một trung tâm đài phát thanh internet với 30 kênh:

sudo python3 -m pip cài đặt mopidy-somafm

Một trung tâm dịch vụ radio Internet khác với nhiều kênh hơn nữa:

sudo python3 -m pip cài đặt mopidy-TuneIn

Và một giao diện người dùng khác dành cho thiết bị di động. Đài Phát thanh và Iris không chơi cùng nhau một cách tuyệt vời, nhưng điện thoại di động có tất cả các loại đài phát internet để nghe:

sudo python3 -m pip cài đặt Mopidy-Mobile

Sau khi hoàn tất, bạn sẽ có thể truy cập Music Box bằng:

myipaddress: 6680 / iris / -or- https:// localhost: 6680 / musicbox_webclient

Chúng tôi vẫn sẽ không có bất kỳ thứ gì phát ra từ loa nếu bạn cố gắng phát nhạc.

Để biết danh sách các tính năng và tiện ích mở rộng khác:

sudo pip tìm kiếm mopidy

Từ đây, bạn có thể tiếp tục thêm các tiện ích mở rộng theo lựa chọn của mình.

Tôi có một tệp cấu hình mopidy mẫu được đính kèm. Vui lòng sử dụng nội dung trong /etc/mopidy/mopidy.conf

sudo nano /etc/mopidy/mopidy.conf

Bước 9: Thiết lập Mopidy như một dịch vụ

Thiết lập Mopidy như một dịch vụ
Thiết lập Mopidy như một dịch vụ

Vì chúng ta sẽ muốn chạy mopidy khi khởi động, hai lệnh sẽ cho phép mopidy chạy khi khởi động:

sudo systemctl cho phép mopidy

sudo dpkg-cấu hình lại mopidy

Khởi động lại, rồi chạy

tình trạng sudo systemctl mopidy - l

để kiểm tra trạng thái của bạn. Bạn sẽ thấy một chỉ báo màu xanh lá cây. Mopidy có một trang hỗ trợ rất hữu ích để hỗ trợ thêm các tùy chọn cấu hình. Kiểm tra trang web Tài liệu về Mopidy để biết thêm chi tiết.

Bước 10: Thêm nhạc của riêng bạn

Thêm nhạc của riêng bạn
Thêm nhạc của riêng bạn

Theo mặc định, mopidy sẽ muốn lưu trữ nhạc cục bộ trong một thư mục dưới / var / lib / mopidy / media. Sao chép bộ sưu tập nhạc của bạn ở đó. Tôi thấy đơn giản nhất là chỉ cần tháo thẻ sd khỏi pi (sau khi tắt máy an toàn) và sử dụng bộ chuyển đổi micro sd sang usb, cắm bộ chuyển đổi vào bộ lưu trữ của bạn và sao chép / dán vào đó. (điều này có thể mất một lúc tùy thuộc vào kích thước bộ sưu tập của bạn). Sau khi hoàn tất, hãy trả lại thẻ sd vào pi, khởi động nó lên, kết nối lại và sau đó nhập:

quét cục bộ sudo mopidyctl

Thao tác này sẽ thêm nhạc của bạn vào thư viện phương tiện cục bộ trong Music Box. Bạn có thể nhận thấy tệp.wma không được nhận dạng là âm thanh và tệp.ogg dường như bị bỏ sót trong quá trình quét. Tuy nhiên, các tập tin Mp3 không phải là một vấn đề.

Bước 11: Tệp cấu hình Card âm thanh - Asound.conf

Bạn chưa nên có bất kỳ nội dung nào trong /etc/asound.conf, nhưng nếu có, hãy thay thế nội dung bằng những nội dung bên dưới hoặc tạo một nội dung bằng cách sử dụng:

sudo nano /etc/asound.conf

và dán:

options snd_rpi_googlehat_soundcard index = 0

pcm.softvol {type softvol slave.pcm dmix control {name Master card 0}} pcm.! default {type asym playback.pcm "plug: softvol"} ctl.! default {type hw card 0}

ctrl-x và Y để lưu ở trên dưới dạng tệp asound.conf mới của bạn.

Bước 12: Đảm bảo rằng chúng tôi sử dụng đúng lớp phủ để cấu hình.txt trong / boot

kiểu

sudo nano /boot/config.txt

Một vài dòng cuối cùng sẽ giống với một cái gì đó tương tự như bên dưới. Chúng tôi muốn đảm bảo âm thanh tiêu chuẩn được nhận xét, cùng với bất kỳ lớp phủ nào trước đó, chẳng hạn như dac hifiberry của tôi, trong khi triển khai lớp phủ google voice hat. Cuối cùng, chúng tôi muốn hướng dẫn pi sử dụng ánh xạ i2s. Chỉ báo # cho hệ thống biết bỏ qua dòng.

# Bật âm thanh (tải snd_bcm2835)

# dtparam = audio = on # dtoverlay = hifiberry-dac dtoverlay = googlevoicehat-soundcard dtoverlay = i2s-mmap

khởi động lại nếu tất cả đều tương tự như trên. Chờ một vài phút, mở trình duyệt đến url hộp nhạc và phát một số bản nhạc.

Bước 13: Thưởng thức âm nhạc

Nếu bạn nghe âm thanh nổi tốt, nhiệm vụ đã hoàn thành!

Một trong những điều tuyệt vời khi sử dụng raspberry pi làm máy chủ âm nhạc không đầu kết nối với Wi-Fi là nó chạy mà không chiếm nhiều tài nguyên. Đúng vậy, chúng tôi chỉ phát ra 3 watt cho mỗi kênh, nhưng điều đó có lẽ là đủ để nghe ở phạm vi gần. Pin điện thoại của bạn sẽ cảm ơn bạn.

Cũng có một yếu tố xanh rất quan trọng - chúng ta chỉ đang tiêu thụ năng lượng 5,25 vôn. Và so với Bluetooth, chúng tôi có thể đặt luồng radio và không bị neo vào phạm vi bluetooth 30 foot. Liên quan đến điện thoại của chúng tôi, chúng tôi có thể thực hiện cuộc gọi, chơi trò chơi và lang thang thoải mái hơn một chút mà không làm gián đoạn luồng nhạc. Chúng tôi chỉ mới làm xước bề mặt. Có rất nhiều tiện ích mở rộng mopidy có sẵn để khám phá và mopidy có cơ sở nhà phát triển đang phát triển vì nó là mã nguồn mở. Tôi sẽ để bạn tự khám phá các tính năng mà bạn quan tâm.

Bước 14: Kết luận

Phần kết luận
Phần kết luận

Một trong những tính năng nổi bật nhất của dự án này là chúng tôi không giới hạn số pi của mình bằng cách khóa quyền truy cập vào GPIO. Điều này cho phép chúng tôi truy cập vào nhiều tùy chọn hơn nữa vì chiếc mũ giọng nói được thiết kế tốt. Ví dụ: dự án tiếp theo của tôi sẽ là thêm công tắc nút nhấn tạm thời làm nút tắt máy. Nó sẽ dễ dàng và tôi đã biết nơi các chốt cần tiếp đất: Chúng không bị cản trở. Từ đó? Chà, đối với dự án này, chúng tôi đã hoàn toàn bỏ qua micrô - có thể là một chiếc pi karaoke? Có lẽ là một màn trình diễn ánh sáng LED, hoặc thêm một động cơ cho máy hát tự động? Tất cả các chân vẫn có sẵn và có thể truy cập được. Câu hỏi trở thành tại sao không? Và trong trường hợp bạn muốn quay lại AI, chỉ cần đưa thẻ sd cũ vào và yêu cầu Google phản hồi bằng âm thanh nổi.

Đề xuất: