Điểm:1

Tại sao mpg321 đôi khi mất âm thanh bắt đầu?

lá cờ vn

Tôi đang sử dụng Lubfox 20.04 trên Raspberry Pi 3B.

Tôi đang cố gắng sử dụng gtts-cli (chương trình chuyển văn bản thành giọng nói) để tạo âm thanh trực tiếp bằng cách:

gtts-cli "Hầu như không có chức năng máy tính hiện đại nào hoạt động bình thường" | mpg321 -
Trình phát âm thanh MPEG 1.0/2.0/2.5 hiệu suất cao cho Lớp 1, 2 và 3.
Phiên bản 0.3.2-1 (25/03/2012). Được viết và giữ bản quyền bởi Joe Drew,
hiện được duy trì bởi Nanakos Chrysostomos và những người khác.
Sử dụng mã từ nhiều người khác nhau. Xem 'README' để biết thêm!
PHẦN MỀM NÀY TUYỆT ĐỐI KHÔNG CÓ BẢO HÀNH! SỬ DỤNG CÓ NGUY CƠ CỦA RIÊNG BẠN!
tcgetattr(): ioctl không phù hợp cho thiết bị

Phát luồng MPEG từ - ...
MPEG 2.0 lớp III, 32 kbit/s, 24000 Hz đơn sắc
                                                                            
[0:03] Giải mã - đã xong.
lỗi phân khúc

Đôi khi nó hoạt động, và đôi khi nó không. Khi nó không hoạt động, tôi nghe thấy tiếng tách, tiếng lạo xạo hoặc âm thanh lạo xạo theo sau phần cuối của âm thanh. Nó khiến tôi nghĩ rằng đôi khi mpg321 bỏ lỡ phần đầu tiên của âm thanh hoặc làm hỏng phần âm thanh đó theo một cách nào đó. Ngay cả khi nó tái tạo tất cả âm thanh một cách chính xác, vẫn xảy ra LỖI PHÂN ĐOẠN.

Tôi đã làm một số điều tra. Đầu tiên, để loại bỏ gtts-cli là nguồn gốc của vấn đề, tôi đã ghi đầu ra mp3 từ nó và gửi nó tới mpg321. ví dụ

gtts-cli "Đủ để khiến bạn phát điên!" -o thi.mp3
cat thi.mp3 | mpg321 -
Trình phát âm thanh MPEG 1.0/2.0/2.5 hiệu suất cao cho Lớp 1, 2 và 3.
Phiên bản 0.3.2-1 (25/03/2012). Được viết và giữ bản quyền bởi Joe Drew,
hiện được duy trì bởi Nanakos Chrysostomos và những người khác.
Sử dụng mã từ nhiều người khác nhau. Xem 'README' để biết thêm!
PHẦN MỀM NÀY TUYỆT ĐỐI KHÔNG CÓ BẢO HÀNH! SỬ DỤNG CÓ NGUY CƠ CỦA RIÊNG BẠN!
tcgetattr(): ioctl không phù hợp cho thiết bị

Phát luồng MPEG từ - ...
MPEG 2.0 lớp III, 32 kbit/s, 24000 Hz đơn sắc
                                                                            
[0:03] Giải mã - đã xong.
lỗi phân khúc

Tôi nhận được hiệu ứng tương tự. Đôi khi nó hoạt động và đôi khi nó bỏ lỡ tất cả hoặc phần đầu của âm thanh. Cũng luôn luôn có một lỗi phân khúc.

Tôi đã kiểm tra xem sự cố có phải do nạp đầu vào cho mpg321 từ stdin hay không bằng cách sử dụng tệp trực tiếp:

mpg321 thi.mp3
Trình phát âm thanh MPEG 1.0/2.0/2.5 hiệu suất cao cho Lớp 1, 2 và 3.
Phiên bản 0.3.2-1 (25/03/2012). Được viết và giữ bản quyền bởi Joe Drew,
hiện được duy trì bởi Nanakos Chrysostomos và những người khác.
Sử dụng mã từ nhiều người khác nhau. Xem 'README' để biết thêm!
PHẦN MỀM NÀY TUYỆT ĐỐI KHÔNG CÓ BẢO HÀNH! SỬ DỤNG CÓ NGUY CƠ CỦA RIÊNG BẠN!

Phát luồng MPEG từ test.mp3 ...
MPEG 2.0 lớp III, 32 kbit/s, 24000 Hz đơn sắc

Điều đó vẫn bỏ lỡ một số âm thanh khi bắt đầu, nhưng KHÔNG gây ra lỗi phân đoạn.

Âm thanh của tôi chuyển sang đầu ra USB của Loa. Để loại bỏ khả năng xảy ra sự cố trong trình điều khiển hoặc quá trình sản xuất âm thanh ở hạ lưu mpg321, tôi đã thử:

aplay temp.wav

Điều đó chơi hoàn hảo và nhất quán mọi lúc.

Sau đó tôi đã cài đặt và dùng thử mpg123 (thay vì mpg321). Kết quả tương tự, nhưng tôi nghĩ hơi tệ hơn mpg321.

Tôi đã thử cài đặt lại mpg321 - không thay đổi.

Điều gì là sai, và quan trọng hơn là làm thế nào tôi có thể sửa nó?

muru avatar
lá cờ us
Kiểm tra MP3 của bạn chưa thực sự loại bỏ gtts-cli là nguồn gốc của lỗi, AFAICT (trừ khi `temp.wav` này được xuất ra bởi lệnh đó). Đó vẫn là một số đầu ra từ gtts-cli mà sau đó bạn gián tiếp chuyển sang mpg321. Đầu ra đó có thể bị hỏng và khiến mpg321 hoạt động theo những cách không thể đoán trước.
lá cờ vn
@muru tệp là 'test.mp3' và nó được xuất ra từ gtts-cli. Sau đó, tôi đã sử dụng temp.wav với aplay, chỉ để kiểm tra xem trình điều khiển âm thanh có hoạt động không. Tôi đã chỉnh sửa câu hỏi để cho thấy tôi đang sử dụng Raspberry Pi 3B, vì tôi vừa thử gtts-cli/mpg321 trên một máy dựa trên intel và nó hoạt động hoàn hảo.
muru avatar
lá cờ us
Xin lỗi, bình luận của tôi đã cố gắng nói hai điều cùng một lúc và bị lộn xộn. Bạn có một thử nghiệm dường như độc lập với `gtts-cli` - thử nghiệm sử dụng `temp.wav`. Nó không nói gì về `mpg321` hoặc `gtts-cli` vì nó không kiểm tra cả hai thứ. Bạn có một thử nghiệm khác bằng cách sử dụng MP3 từ `gtts-cli` với `mpg321`. Tuy nhiên, đầu ra đó vẫn là từ `gtts-cli`, vì vậy bạn không thể chắc chắn rằng `mpg321` là vấn đề chứ không phải `gtts-cli`.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.