2010-02-09 25 views
6

Tôi có một công cụ âm thanh OpenAl trên ứng dụng iPhone của mình. Khi tôi chơi một âm thanh mà tôi đã tải, tôi có thể kiểm soát độ cao của nó.Giá trị độ cao OpenAl cho các nốt nhạc cụ thể trong quãng tám

Trong OpenAl, quảng cáo chiêu hàng được đặt thành 1.0 không có hiệu lực. Nếu bạn tăng gấp đôi nó lên 2.0, nó sẽ chơi nốt cao hơn 1 octave (12 semitones). Nếu bạn giảm một nửa, thành 0,5, nó sẽ thấp hơn quãng tám (12 semitones).

Vì vậy, mẫu ban đầu của tôi đang phát C. Tôi giả định rằng nếu tôi chia 1 cho 12 (semitones), tôi có thể nhận được quảng cáo chiêu hàng cho từng ghi chú trong quãng tám đó. Nhưng điều này dường như không đúng. Mà làm cho chúng ta nghĩ rằng semitones không phải là giá trị bằng nhau. Điều đó có đúng không?

Có ai biết cách tôi có thể tính giá trị quảng cáo chiêu hàng mở cho các ghi chú riêng lẻ trong quãng tám không?

Cảm ơn bạn

Trả lời

11

Semitones là tỷ lệ bằng nhau. Vì vậy, nếu mẫu của bạn là C, C# sẽ là gốc thứ hai của hai. Nếu bạn đếm semitones C = 0, C# = 1 v.v ..., tỷ lệ là pow(2.0, n*1.0/12.0)

Làm việc cho số âm.

Tôi cần lưu ý, điều này không đúng trong mọi sơ đồ điều chỉnh ... nhưng đây là một khởi đầu tốt. Nếu bạn thực sự quan tâm đến sự phức tạp đầy đủ của điều chỉnh âm nhạc, tôi có thể tìm thấy bạn một số tài liệu tham khảo.

+1

Cảm ơn bạn Andrew! điều này là hoàn hảo! ... chính xác những gì tôi đã sau! Và có tham chiếu sẽ là tuyệt vời. Đặc biệt là mối quan hệ giữa độ cao và chiều dài của mẫu. Cảm ơn một lần nữa. – Jonathan

+0

Ồ, vâng, độ dài chỉ ngắn hơn theo cùng tỷ lệ. Tôi sẽ tìm thấy một giới thiệu tốt về quy mô và điều chỉnh. –

+1

http://en.wikipedia.org/wiki/Mathematics_of_musical_scales và http://en.wikipedia.org/wiki/Equal_temperament sẽ đưa bạn vào phần dày của các bài viết về wikipedia về chủ đề này. Nó rất phức tạp sau một thời gian, nhưng nó cũng rất quan trọng đối với âm nhạc thực tế, đặc biệt là nếu bạn đang làm việc với các nhạc cụ dây hoặc gió. –

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