2010-12-28 37 views
6

gì là kinh nghiệm chạy các chương trình viết bằng một tổng hợp/ngôn ngữ phân tích âm thanh như ChucK, Pure Data, Csound, Supercollider, vv trong một thiết bị nhúng như một Arduino Mega, Beagle Board hoặc bảng tùy chỉnh có bộ vi xử lý hoặc DSP chip?Chạy một ngôn ngữ tổng hợp/phân tích âm thanh trên một thiết bị nhúng

Tôi muốn biết bạn đã chọn ngôn ngữ và phần cứng nào và tại sao. Những trở ngại là gì, v.v ...? Mục tiêu của tôi là chạy các chương trình có thể dễ dàng được lập trình bởi các nhạc sĩ/nhà sản xuất trong một bảng không quá đắt.

Tôi nhận được đầu vào từ người đang chạy chương trình ChucK thành công trong Hội đồng Beagle (Ubuntu Linux trên Bảng Beagle đang chạy ChucK), nhưng lựa chọn ngôn ngữ và phần cứng của anh ấy rất nhẹ, thiết lập của anh ấy không sử dụng DSP Hội đồng Beagle và có vẻ như quá tải để chạy toàn bộ cài đặt Linux để xử lý tín hiệu âm thanh.

Bất kỳ đầu vào nào được đánh giá cao!

Cập nhật: Tôi tìm thấy Zengarden là triển khai thời gian chạy Pd (như thư viện C++ độc lập) và chạy tốt trên các thiết bị dựa trên ARM. Bây giờ, tôi sẽ đi với BeagleBoard và Zengarden nhưng trong một giai đoạn sau của dự án, tôi sẽ cần phải thay thế BeagleBoard bằng thứ gì đó có giá thấp hơn.

Tôi muốn nghe thêm ý kiến ​​đóng góp từ cộng đồng.

+0

Newton Armstrong chạy supercollider trên một phần cứng không cần màn hình chạy Linux. Nhưng đó không phải là những gì bạn đang nói về. Tôi cũng tò mò. Nếu bạn nghĩ ra câu trả lời, tôi rất muốn nghe về nó! ([email protected]) – morgancodes

+0

Cảm ơn @WillHartung vì câu trả lời dài dòng !! Hy vọng rằng ai đó sẽ cung cấp một số đầu vào về việc lựa chọn ngôn ngữ âm thanh. –

+0

Tôi chắc chắn đây không phải là những gì bạn muốn, nhưng [Sơ đồ OSC của dự án IPRE cho ChucK] (http://wiki.roboteducation.org/ChucK) có liên quan. Những người khác có thể thấy nó hữu ích, đặc biệt nếu làm việc với trẻ em. – Curtis

Trả lời

5

Cảm ơn mọi người về nhận xét và câu trả lời của bạn. Đối với tài liệu tham khảo của mọi người khác, tôi đã kết thúc bằng cách viết một máy khách JACK trong C++ để phân tích cú pháp và giải thích PureData các bản vá lỗi và chạy nó trên BeagleBoard với Angstrom Linux và máy chủ JACK.Dưới đây là video và hướng dẫn mà tôi đã viết: http://elsoftwarehamuerto.org/articulos/691/puredata-beagleboard/

4

Trước tiên, tôi không phải là một lập trình viên âm thanh, vì vậy tôi không quen thuộc với nhu cầu thực tế về xử lý tín hiệu cần thiết để đạt được những gì bạn muốn đạt được.

Tuy nhiên, rất khó để tương phản một cái gì đó như Beagle Board và Arduino Mega, vì chúng thực sự ở các giải đấu khác nhau về hiệu suất cơ bản. Bảng Beagle là 1 GHz ARM so với 16 MHz của Arduino Mega. Điều đó nói với tôi rằng bất cứ việc xử lý nào bạn có thể muốn làm cũng có thể nằm trong khả năng của Hội đồng Beagle, nhưng Arduino Mega sẽ hầu như không có cơ hội mà không có DSP kèm theo để thực hiện công việc thực tế.

Xem xét tiếp theo là liệu có bất kỳ gói nào bạn đang cân nhắc sử dụng DSP mục tiêu thực sự cho thời gian chạy của chúng hay không. Trong nháy mắt, họ có vẻ như ngôn ngữ xử lý âm thanh cấp cao. Với Beagle Board, bạn có thể có sức mạnh xử lý để đánh giá và biên dịch mã nguồn âm thanh mà các gói này sử dụng và cho phép chúng biên dịch vào các mục tiêu của chúng, nhưng trên Arduino Mega, có vẻ như không chắc.

Nếu tất cả những gì bạn đang làm là làm việc với một phần cứng sẽ chạy các tạo tác được tạo bởi các gói bạn đã đề cập, thì Arduino Mega cũng có thể phù hợp khi "phát triển" được thực hiện trên một máy mạnh mẽ hơn . Nhưng nếu bạn muốn làm việc với các gói như vậy, và sử dụng chúng như một công cụ phát triển, thì hãy chạy chúng trên một cổng Linux tới một cái gì đó giống như có thể đơn giản là một lựa chọn tốt hơn.

Một lần nữa, sau khi bình thường, Arduino Mega chỉ bằng một nửa giá của Bảng Beagle, nhưng Hội đồng Beagle cũng có thể cho phép bạn làm việc ở mức cao hơn nhiều (Linux chung). Cho dù một trong hai sẽ đủ mạnh cho tầm nhìn cuối cùng của bạn, tôi không thể nói. Nhưng tôi sẽ tưởng tượng bạn có thể đi xa hơn rất nhiều, nhanh hơn rất nhiều, sử dụng hệ thống mạnh hơn - ít nhất là trong ngắn hạn.

+2

Ở mỗi giai đoạn từ một Arduino, đến một chip ARM hiện đại nhỏ gọn chạy kim loại trần hoặc một hệ điều hành nhỏ, đến một hệ thống Linux nhúng thấp, với một Linux cao cấp nhúng Linux so sánh với một điện thoại thông minh, với một nettop/netbook có một tăng hiệu suất với mức tăng giá nhỏ. Để thuận tiện cho lập trình, bạn có thể sử dụng các phương pháp giống như máy tính để bàn, ví dụ khi bạn có thể chạy Linux nhúng trên điều mà không cần áp lực bộ nhớ và có hệ thống tệp và trình biên dịch chéo hoặc trình thông dịch cho hầu hết các ngôn ngữ. –

Các vấn đề liên quan