2008-09-27 33 views
13

Tôi đã suy nghĩ rất nhiều về một dự án hướng âm nhạc mà tôi muốn làm việc. Loại giống như một trò chơi ... giống như một phòng máy trạm (FL Studio, Lý do).Phần mềm Thư viện Synth cho Java

Tôi đoán cách tốt nhất để mô tả nó sẽ là: như "Guitar Hero", nhưng không có bài hát đóng hộp. Tất cả âm nhạc gốc - do bạn sáng tác - nhưng phần mềm sẽ sử dụng kiến ​​thức về lý thuyết âm nhạc (cũng như một số thuật toán học được giám sát) để đảm bảo rằng đầu vào của bạn được chuyển thành âm thanh tuyệt vời.

Nghe có vẻ hơi ngớ ngẩn, giải thích nó như thế, nhưng có bạn đi. Đó là điều tôi nghĩ sẽ tạo ra một dự án phụ thú vị.

Nhưng dù sao, tôi đang tìm thư viện Java để tạo âm thanh thực. Duyệt quanh trên sourceforge, có vô số phần mềm synths, và tôi không biết nên chọn cái nào.

Ưu tiên hàng đầu của tôi là âm thanh đáng kinh ngạc ... Thực sự phong phú, nhiều lớp, tổng hợp kết cấu, với nhiều gobs của thông số có thể định cấu hình. Thi đua các dụng cụ âm thanh không quan trọng đối với tôi.

Ưu tiên thứ hai của tôi là cần phải đơn giản để sử dụng đúng như thư viện, không có GUI nào cả. (Nếu có một synth với đầu ra thực sự ngoạn mục, nhưng nó được kết hợp chặt chẽ với GUI, sau đó tôi có thể xem xét tách phần âm thanh ra khỏi ứng dụng, nhưng tôi muốn bắt đầu với một thư viện chứa độc đáo).

Tôi biết tôi có thể gửi MIDI cho một synth độc lập, nhưng tôi nghĩ sẽ rất tuyệt khi đọc mã synth thực tế và tìm hiểu một chút DSP trong khi tôi đang ở đó.

Mọi đề xuất?

Ồ vâng, tôi đang sử dụng Windows, vì vậy các công cụ chỉ tích cực là không thể thực hiện được.

Cảm ơn!

Trả lời

7

Bạn đã xem JFugue chưa? Đó là một "Java API mã nguồn mở để lập trình nhạc mà không có sự phức tạp của MIDI".

thông tin bổ sung: Tìm thấy một vài nguồn lực khác được tham chiếu trong JFugue documentation (pdf):

  • Audio Synthesis Engine Project: phiên bản mã nguồn mở của bộ tổng hợp MIDI Java

  • Gervill: mở tổng hợp phần mềm mã nguồn tạo ra như là một đề xuất cho Dự án Công cụ Tổng hợp Âm thanh

+0

Xin chào, tôi đã viết tài liệu đó! Tôi đã nhìn thấy câu hỏi này ngày hôm qua, tôi cũng đã đề xuất mượn mã từ Dự án Công cụ Tổng hợp Âm thanh. –

3

Vâng, tôi nhận thấy JFugue cách đây vài năm. Đó là trên danh sách các bookmark thú vị máy tính/âm nhạc:

http://delicious.com/BenjiSmith/computermusic http://delicious.com/BenjiSmith/programming.java.libraries.music

Nhưng JFugue là tất cả về cấu trúc của âm nhạc riêng của mình ... những giai điệu, hòa âm, nhịp điệu, vv ....

Những gì tôi đang tìm kiếm ngay bây giờ chỉ là bộ tổng hợp. Một cái gì đó như thế này ...

Synth s = new Synth(); 
Instrument i = s.getInstrument("Robot Bass"); 
i.makeAwesome(true); 

Và sau đó tôi sẽ gửi sự kiện của mình vào luồng MIDI (hoặc vào bất kỳ API điều khiển nào mà thư viện synth cung cấp).

+0

Cảm ơn các liên kết. Tôi đang đùa giỡn với ý tưởng tạo một trình theo dõi java, và những thứ này chắc chắn sẽ có ích. – Oddmund

0

minim không chính xác là một synth java, nhưng nó là một lib xử lý và tôi tưởng tượng rằng nó nên được khá dễ dàng để sử dụng với java vanilla quá.

1

Nếu Clojure là một tùy chọn có thể chấp nhận được (chạy trên JVM, dễ tích hợp với Java), thì nó chắc chắn đáng để kiểm tra ra Overtone.

Nó sử dụng SuperCollider làm công cụ tổng hợp, nhưng kết thúc tốt đẹp tất cả trong một môi trường lập trình DSL và tương tác tốt đẹp.