2009-07-08 34 views
23

Tôi có ứng dụng iPhone dành cho trẻ em mà tôi đang viết và tôi cần có khả năng thay đổi độ cao của mẫu âm thanh bằng cách sử dụng Core Audio. Có ai có bất kỳ mã ví dụ tôi có thể nhìn vào nơi này được thực hiện. Có rất nhiều ứng dụng âm nhạc và trò chơi trong cửa hàng ứng dụng thực hiện việc này nên tôi biết tôi không phải là người đầu tiên. Tuy nhiên, tôi không thể tìm thấy bất kỳ ví dụ về nó được thực hiện.Thay đổi thời gian thực trên iPhone

Trả lời

14

bạn có thể sử dụng dirac-2 từ kích thước dsp để dịch chuyển độ cao trên iphone. báo giá: -

"DIRAC2 có sẵn dưới dạng thư viện đối tượng thương mại với tỷ lệ mẫu không giới hạn và hỗ trợ đa kênh bị khóa và kênh đơn miễn phí, phiên bản LE 44,1/48kHz."

+0

kinh nghiệm cố gắng dirac3 vì của nó 'libDIRAC_iOS4-fat.a' ​​mà có lẽ không có nhiều khác nhau trên dirac2.Tôi chỉ không thể sử dụng nó - có quá nhiều lỗi trên phần liên kết của quá trình xây dựng. Thay vào đó, [tôi đã sử dụng openAL] (http://stackoverflow.com/questions/2035975/how-do-you-completely-remove-and-release-memory-of-an-openal-sound-file/4647692# 4647692) với thành công lớn. – cregox

+1

Làm việc tốt cho tôi. Bạn có thể quên thêm khung tăng tốc vào dự án của bạn (nó nằm trong tệp readme) – tahome

+1

DIRAC là hoàn hảo, nhưng OpenAL với AL_PITCH cũng thay đổi độ dài của âm thanh, ít hơn lý tưởng. DIRAC bây giờ là phiên bản 3. Thư viện của nó bao gồm dự án iPhone Demo. – Tibidabo

1

Xem: Related question

Bao nhiêu quyền kiểm soát sân nào bạn cần ... bạn có thể precalculate tất cả các âm thanh khác nhau? Nếu câu trả lời là có, thì bạn chỉ có thể chọn đúng âm thanh và phát chúng.

Bạn cũng có thể sử dụng Dịch vụ chuyển đổi âm thanh kết hợp với AVAudioPlayer, cho phép bạn định lại mẫu âm thanh (có hiệu quả sẽ thay đổi chúng, mặc dù chúng sẽ thay đổi thời lượng).

Ngoài ra, như các câu hỏi có liên quan chỉ ra, bạn có thể sử dụng OpenAL và AL_PITCH

+2

Không hữu ích. Cảm ơn bạn! –

+0

@Leachy chỉ tự hỏi ... làm thế nào có thể mở không giúp bạn và DIRAC đã làm? Đối với tôi nó hoàn toàn ngược lại, và dirac tỏ ra vô dụng! : o – cregox

9

sử dụng các dự án SoundTouch mã nguồn mở để thay đổi sân

Dưới đây là liên kết: http://www.surina.net/soundtouch/

Khi bạn thêm SoundTouch cho dự án của bạn, bạn phải cung cấp cho đường dẫn tệp âm thanh đầu vào, đường dẫn tệp âm thanh đầu ra và thay đổi độ cao làm đầu vào.

Vì phải mất nhiều thời gian hơn để xử lý âm thanh tốt hơn để sửa đổi soundtouch để khi bạn ghi âm giọng nói, hãy trực tiếp cung cấp dữ liệu để xử lý. Nó sẽ làm cho ứng dụng của bạn tốt hơn.

+0

Tôi sẽ chụp ảnh này. Cảm ơn Anil! L. –

+0

@Anil: Tôi không có API cho iOS – Maulik

+1

Tôi rất thích liên kết về cách thực hiện việc này. Đã dành tất cả các ngày cố gắng tìm hiểu cách thêm Soundtouch vào dự án iOS của tôi – AlBeebe

2

Hãy thử Dirac - đó là công nghệ tốt nhất hiện có và có sẵn trên Win, Linux, MacOS X và iOS. Chúng tôi đang sử dụng nó trong tất cả các sản phẩm của chúng tôi (và một vài người khác cũng làm như vậy, tìm kiếm "Capo" trên App Store). Họ đang ở phiên bản 3 bây giờ mà đã thấy một sự gia tăng rất lớn về hiệu suất từ ​​các phiên bản trước. Hi vọng điêu nay co ich.

3

Tôi biết đã quá muộn đối với người đã hỏi nhưng đó thực sự là một liên kết có giá trị (Như tôi đã tìm thấy) cho bất kỳ ai khác đang tìm kiếm giải pháp cho cùng một vấn đề.

Vì vậy, đây chúng tôi có DIRAC3 mới nhất với nó của riêng audio player lớp mà sẽ chăm sóc thời gian sân chạy và tốc độ (khám phá cho thần biết gì hơn) chuyển. Chạy mẫu và có tràng pháo tay to lớn cho điều đó.

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