2011-01-24 51 views
6

Ở trường trung học, chúng tôi có thể học một lớp về cơ bản chúng tôi tự học về một chủ đề trong một học kỳ. Tôi đã nghĩ rằng tôi muốn tìm hiểu về "lập trình âm thanh", nhưng tôi nhận ra rằng tôi không biết điều đó đòi hỏi điều gì. Tôi quan tâm đến việc tìm hiểu về, ví dụ, làm thế nào một bộ tổng hợp hoạt động, làm thế nào tôi có thể viết một VSTi, và làm thế nào âm thanh hoạt động trong khoa học máy tính. Đây có phải là chủ đề khả thi không? Có bất kỳ hướng dẫn tốt ra khỏi đó cho ai đó hoàn toàn mới này? Mọi lời khuyên hay gợi ý sẽ được đánh giá cao.Tôi muốn làm một dự án về lập trình âm thanh, nhưng tôi không biết bắt đầu từ đâu

Edit:. This là loại điều mà tôi quan tâm đến

+0

Có vẻ như tôi không có ý định chơi chữ như bạn quan tâm đến lĩnh vực kỹ thuật âm thanh. Trường của bạn có chương trình Stagecraft không? Điều đó, kết hợp với một lớp lập trình, có vẻ như là một khởi đầu tốt. – aqua

+0

Bạn đang sử dụng (các) hệ điều hành máy tính nào và (các) ngôn ngữ lập trình nào, nếu có, bạn có biết không? – Phrogz

+0

aqua-Không, trường của tôi không cung cấp chương trình "Stagecraft", hoặc cho vấn đề đó, bất kỳ lớp học lập trình nào Phrogz-Windows/Ubuntu và C++ – ahota

Trả lời

2

Plugin VST thường được viết bằng C++. Nhưng cũng có thể sử dụng các ngôn ngữ khác. Xây dựng một plugin VST với C++ là một dự án khá liên quan. Nếu không có kinh nghiệm từ trước, có lẽ nó quá nhiều cho một dự án trường học. Ngoài ra, bạn có thể sẽ dành nhiều thời gian để triển khai phần VST và GUI khi bạn thực sự lập trình âm thanh.

Tuy nhiên, có một cách khác để tạo plugin VST và vẫn nhận được mã viết tay bẩn.

SynthEdit là môi trường mô đun để tạo bộ tổng hợp và hiệu ứng. Các mô-đun như bộ dao động, phong bì, vv được kết nối trực quan với dây. Các bản vá có thể được xuất dưới dạng các plugin VST. SynthEdit cho phép các mô đun bổ sung được lập trình với C++.

SynthMaker là một tùy chọn khác tương tự như SynthEdit. Nó có một mô-đun mã cho phép bạn viết mã DSP mà không gặp khó khăn trong việc biên dịch các mô-đun bằng ngôn ngữ khác.

Lợi thế của việc sử dụng SynthEdit hoặc SynthMaker trong trường hợp của bạn là bạn có thể tập trung nỗ lực lập trình vào một khu vực cụ thể, chẳng hạn như tạo bộ lọc hoặc mô-đun dao động. SynthEdit/SynthMaker sau đó có thể xử lý các khu vực khác (GUI, logic thoại, v.v.).

Sử dụng SynthEdit hoặc SynthMaker cũng sẽ cho phép bạn lấy mẫu ý tưởng nhanh hơn. Vì vậy, bạn sẽ có nhiều thời gian hơn để thử nghiệm với các bộ tổng hợp hoặc kiến ​​trúc hiệu ứng khác nhau trước khi giải quyết một cái gì đó để hoàn thành cho dự án trường học của bạn.

Lý thuyết DSP có thể khá tham gia và tính toán nặng nhưng điều đó một mình không nên bỏ bạn. Tùy thuộc vào những gì bạn muốn làm, một sự hiểu biết cơ bản về nguyên tắc âm thanh kỹ thuật số và toán học đại số có thể là đủ để đưa bạn một cách dài đáng ngạc nhiên.

+0

Cảm ơn câu trả lời. Tôi hiểu rằng việc thực hiện một VSTi có lẽ sẽ vượt qua đầu tôi, và tôi đoán rằng tôi chỉ đặt nó vào OP vì đó là thứ liên quan đến những gì tôi đang cố gắng đạt được. Tuy nhiên, tôi muốn tập trung vào phần lập trình, vì vậy tôi đoán tôi nên chỉ làm xước ý tưởng đó. Điều này: http://stackoverflow.com/questions/36567/beginner-digital-synth là một bài đăng tôi thấy rằng mô tả chính xác hơn những gì tôi muốn tìm hiểu hơn là tôi có thể mô tả. – ahota

+0

Tôi nghe nói rằng VSTi đã làm với SynthEdit và SynthMaker thường xuyên bị lỗi. Đây có phải là kinh nghiệm của bạn, hay đây chỉ là tin đồn mà không có bất kỳ cơ sở thực sự nào? –

+1

@Warrior Bob: Tôi biết SynthEdit và SynthMaker nhiều hơn danh tiếng hơn là trải nghiệm cá nhân. Nhưng AFAIK chúng khá ổn định ở hầu hết các máy chủ. SynthEdit đã có một sự không tương thích lâu dài với các máy đa lõi, nhưng lỗi đó hiện đã được sửa. Tuy nhiên có lẽ có khá nhiều plugin SynthEdit trong tự nhiên chưa được biên dịch lại với phiên bản mới nên vẫn có lỗi. – Shannon

1

Bạn có thể thử tìm kiếm các nguồn lực trên DSP (Digital Signal Processing) và/hoặc âm thanh Xử lý tín hiệu. Bản thân chương trình (trừ khi bạn đang tìm kiếm một thư viện âm thanh hiện có) có thể sẽ tốn nhiều toán hơn lập trình chuyên sâu, do đó, có thể phù hợp với truy vấn tại math.stackexchange.com.

+0

Cảm ơn bạn! Điều này nghe giống như những gì tôi muốn học. – ahota

0

Có ứng dụng âm thanh rất linh hoạt và mạnh mẽ được gọi là Plogue Bidule. Bạn có thể sử dụng nó để tìm hiểu về xử lý và tổng hợp âm thanh, bằng cách tạo 'bidules' của riêng bạn hoặc các nhóm sử dụng các khối xây dựng toán học và logic cấp thấp. Có một cộng đồng người dùng hiện có và tôi đã gặp khó khăn trong việc tìm ra giới hạn cho những gì nó có thể làm. Bạn sẽ không thực hiện bất kỳ mã nào với công cụ này, nhưng nó tuyệt vời cho hiệu suất và tìm hiểu về các nguyên tắc cơ bản về xử lý và tổng hợp âm thanh.

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