2012-12-25 63 views
16

Tôi hoàn toàn ngây thơ khi nói đến âm thanh và âm nhạc trên iPhone hoặc trên bất kỳ nền tảng nào nói chung.Làm nhạc theo lập trình trên iPhone?

Giả sử tôi muốn tạo một ứng dụng đàn piano đơn giản - là bạn có thể tạo âm thanh cho mỗi khóa theo chương trình không?

Hoặc tôi có phải cung cấp tệp .wav nói cho mọi âm thanh có thể không?

Tôi tự hỏi các chương trình như GarageBand có thể cung cấp những âm thanh đa dạng như thế nào - có thể là chúng có tệp cho mọi âm thanh có thể không?

Hoặc có cách nào để tự động tạo các loại âm thanh đó không?

Sửa: Tôi tìm thấy this most excellent article mô tả chính xác những gì tôi muốn làm, và anh chàng thậm chí còn có một dự án mẫu với đàn piano nhỏ với tất cả các âm thanh được tạo lập trình.

Trả lời

9

Bạn có thể tạo âm theo chương trình, như được mô tả trong tutorial này. Ví dụ ở đây cho bạn thấy làm thế nào để tạo ra một làn sóng sin thuần túy bằng cách sử dụng các đơn vị âm thanh.

Do định lý Fourier, bất kỳ chức năng liên tục (định kỳ) nào có thể được biểu diễn bằng tổng hàm sin của các biên độ và pha khác nhau. Sử dụng điều này, bạn có thể kết hợp một vài chức năng này để mô phỏng âm thanh của một nhạc cụ. Tuy nhiên, điều này đòi hỏi rất nhiều nghiên cứu và một sự hiểu biết sâu sắc về cơ học sóng và tính toán, do đó, nó không phải là một nhiệm vụ tầm thường.

+0

Bất kỳ ý tưởng nào về cách làm cho dự án hướng dẫn chạy trên trình mô phỏng với SDK 6.1? Nó chỉ chạy trên thiết bị. – Snowman

+0

@mohabitar Điều đó có thể có lý do (một số tính năng không thể giải quyết được trên trình mô phỏng). –

3

Trình tổng hợp đàn piano thường được triển khai với tính năng phát lại mẫu - và điều này cũng bao gồm các cây đàn piano kỹ thuật số thực tế. Thông thường ít hơn một mẫu cho mỗi khóa được sử dụng kết hợp với DDS oscillator.

Trình tổng hợp đàn piano kỹ thuật số chất lượng tốt cũng mang theo các mẫu cho khóa ban đầu, duy trì, đạp van điều tiết mở và khóa, ở các tốc độ phím khác nhau, sau đó được trộn với nhau.

Có mã nguồn cho một trong VST3 SDK

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