2009-10-27 61 views
9

Tôi quen thuộc với Computer Vision (Vâng, biết về nó), trong đó một ứng dụng có thể được nhận dạng hình ảnh, chẳng hạn như Optical Character Recognition. Tuy nhiên, điều mà tôi quan tâm nhiều hơn là 'nghe máy tính', mà tôi vừa học được coi là Digital Signal Processing.Lập trình 'Nghe' với Âm thanh (Xử lý Tín hiệu?)

Điều mà tôi quan tâm nhất về xử lý tín hiệu là ứng dụng tiềm năng trong âm nhạc. Tôi nhớ một lúc trước, tôi đã thấy bản xem trước của một ứng dụng (Xin lỗi, quên tên) có thể nghe bản ghi của người nào đó chơi đàn ghi và tự động vẽ biểu đồ trên một dòng thời gian với ghi chú/hợp âm thực tế đã được chơi. Sử dụng chương trình, người dùng có thể di chuyển những thứ này và thậm chí chỉnh sửa chúng. Bây giờ, rõ ràng điều này phức tạp hơn nhiều, nhưng nó có liên quan đến cùng một thứ không? Xử lý tín hiệu? Tôi cũng quan tâm đến các ứng dụng có thể có trong các bộ hiển thị âm nhạc và các hệ thống chiếu sáng thông minh.

Sự hiểu biết của tôi là thực hiện việc xử lý này trên định dạng âm thanh nén như MP3 sẽ không mang lại kết quả giống như MIDI chứa các tuyến đường riêng biệt (Có thể tôi đã hiểu lầm). Một định dạng không nén như PCM có làm tốt hơn MP3 không? Tôi không biết gì về xử lý âm thanh, đó chỉ là những gì tôi đang suy luận từ những gì tôi đã đọc cho đến nay.

Tôi đã xem this question có câu trả lời và liên kết tuyệt vời bao gồm rất nhiều câu hỏi của tôi. Tuy nhiên, hầu hết các liên kết mà tôi đã tìm thấy là lý thuyết, tôi chắc chắn tất cả đều thú vị và chắc chắn đáng đọc khi tôi quan tâm đến chủ đề này, nhưng tôi muốn biết liệu có bất kỳ thư viện nào có thể tạo điều kiện này hay không hoặc các bài viết liên quan đến chủ đề này hướng tới Khoa học/Lập trình Máy tính, có lẽ là mã ví dụ. Ngay cả các trình hiển thị âm thanh/âm nhạc nguồn mở hoặc bất kỳ mã xử lý âm thanh nguồn mở nào khác cũng tuyệt vời.

Xin lỗi nếu tôi không hiểu. Như tôi đã nói, tôi không biết mình đang nói gì.

Trả lời

13

Điều mà tôi quan tâm nhất về xử lý tín hiệu là ứng dụng tiềm năng trong âm nhạc. Tôi nhớ một thời gian trước, tôi thấy một bản xem trước của một ứng dụng (Xin lỗi, quên tên)

lẽ cubase?

có thể nghe đoạn ghi âm của ai chơi guitar, và tự động vẽ đồ thị nó ra qua một thời gian dòng với thực tế ghi chú/âm được chơi

sâu sắc đơn giản, khi bạn phát một ghi chú, bạn tạo ra một sóng tuần hoàn với một tần số nhất định. Có một thủ thuật toán học (biến đổi Fourier DFT) chuyển đổi sóng thành quang phổ, thay vì biểu diễn cường độ theo thời gian, nó cho thấy nó chống lại tần số của sóng. Ví dụ, một lưu ý hoàn hảo từ một ngã ba điều chỉnh sẽ tạo ra một sóng dao động ở 440 Hz. Trong miền thời gian, điều này sẽ xuất hiện dưới dạng sóng hình sin. Trong miền tần số, nó sẽ xuất hiện dưới dạng một điểm hẹp, hẹp ở trung tâm 440 Hz.

Bây giờ, khi bạn chơi guitar, bạn không tạo ra sóng hình sin hoàn hảo. Đánh một A sẽ tạo ra tần số cơ bản, 440 Hz, nhưng cũng có rất nhiều tần số bổ sung (ví dụ 880, trên quãng tám cao hơn, nhưng cũng có rất nhiều freqs cao hơn và thấp hơn), do vật lý của chuỗi rung, vật liệu và hình dạng của guitar vv .. Những tần số bổ sung được gọi là hài, và chúng kết hợp với cơ bản để tạo ra "âm thanh của cây đàn guitar" (những gì trong thuật ngữ âm nhạc được gọi là âm sắc). Một công cụ khác (nói piano) sẽ có sự pha trộn khác nhau của sóng hài với cơ bản, tạo ra một âm sắc khác nhau.

Điều gì làm chương trình DSP là thực hiện DFT trên tín hiệu vào. Với các thủ thuật bổ sung, họ tìm thấy những điều cơ bản và hài hòa, và theo những gì họ thấy, họ phỏng đoán ghi chú bạn đã chơi. Điều này phải xảy ra nhanh chóng, bởi vì bạn có thể tìm thấy ghi chú khi phát trực tiếp và kích hoạt các thủ thuật đặc biệt. Ví dụ, bạn có thể nhấn một nốt A trên cây đàn guitar, DSP hiểu rằng đó là chữ A và thay thế nó bằng chữ A từ cây đàn piano, do đó, từ loa bạn có được âm thanh của cây đàn piano.

Sử dụng chương trình, người dùng có thể để di chuyển những thứ này xung quanh và thậm chí chỉnh sửa . Bây giờ, rõ ràng đây là rất nhiều phức tạp hơn, nhưng nó liên quan đến điều tương tự? Xử lý tín hiệu? Tôi cũng quan tâm đến các ứng dụng có thể có trong trình hiển thị nhạc và hệ thống chiếu sáng thông minh.

Có. Một khi bạn đang ở trong miền tần số, mọi thứ trở nên rất dễ dàng. Ví dụ, bạn có thể thắp sáng một ánh sáng cụ thể theo tần số âm thanh, và một ánh sáng khác với trống bass.

sự hiểu biết của tôi là làm chế biến này trên một nén định dạng âm thanh như MP3 sẽ không mang lại cùng results as MIDI chứa track riêng biệt (Có lẽ tôi hiểu lầm).

Chúng là hai thứ khác nhau. MP3 là một định dạng nén từ một sóng âm thanh. Về cơ bản nó có những gì phi công các loa, và nén nó. Ý tưởng là như nhau: DFT, sau đó loại bỏ các công cụ mà không có khả năng được nghe (ví dụ, một sân cao mà đến ngay sau khi một âm thanh cường độ cao ít có khả năng được lắng nghe, vì vậy nó được loại bỏ).

MIDI mặt khác là một cuộn các sự kiện (bạn biết đấy, giống như những cây đàn piano ở phía tây xa xôi, với cuộn giấy cuộn). Tệp không chứa nhạc. Nó chứa các hướng thay thế cho trình phát MIDI để thực hiện các ghi chú cụ thể vào những thời điểm cụ thể với các công cụ cụ thể. Chất lượng của "ngân hàng dụng cụ" là một trong số những thứ khác biệt với máy nghe nhạc MIDI (nghe giống như một đồ chơi trẻ em) từ một máy nghe nhạc MIDI tốt (nghe có vẻ thực tế, đặc biệt đối với đàn piano và violon) phải nghe một thực tế).

Nó sẽ chuyển từ MIDI sang MP3, bạn chỉ cần thực hiện qua trình phát MIDI. Làm theo cách khác xung quanh là một câu chuyện hoàn toàn khác, và phức tạp hơn nhiều, và đây là nơi DSP đi vào chơi, như bạn đã nói.

Giống như đang đun sôi một chiếc xe tăng nhanh. Bạn nhận được một món canh cá. Nhưng để có được từ súp cá trở lại bể cá, nó khó hơn nhiều.

Định dạng không nén như PCM có tốt hơn MP3 không?

PCM là kỹ thuật chuyển đổi tín hiệu tương tự thành tín hiệu số. Vì vậy, câu hỏi của bạn có một sự hiểu lầm cơ bản, rằng không có định dạng PCM tồn tại (định dạng RAW là một cuộc gọi gần gũi, contaning về cơ bản không có gì nhưng dữ liệu thô). Nếu bạn hỏi nếu một WAV không nén (có chứa dữ liệu PCM) tốt hơn MP3, thì có, nhưng câu hỏi đôi khi là điều này thực sự quan trọng đến tai người và sau bao nhiêu bạn phải thực hiện trên dữ liệu đó.

biết nếu có bất kỳ thư viện hiện có mà có thể tạo điều kiện này, hoặc các sản phẩm liên quan đến chủ đề này mà hướng tới máy tính Khoa học/Lập trình, với lẽ dụ mã. Ngay cả mã nguồn mở trình hiển thị âm thanh/âm nhạc hoặc bất kỳ mã nào khác mã nguồn mở xử lý âm thanh sẽ là tuyệt vời.

Nếu bạn thích trăn, take a look at this page

Xin lỗi nếu tôi đã không thực hiện bất kỳ ý nghĩa. Như tôi đã nói, tôi không biết mình đang nói gì.

Tôi cũng vậy, nhưng tôi đã đùa giỡn một chút.

+0

Tôi nghĩ rằng bạn có nghĩa là âm sắc, không timbro –

+2

Trong tiếng ý đó là timbro, và các nhạc sĩ sử dụng các ký hiệu tiếng Ý khá thường xuyên. Đang sửa. –

+0

Thú vị, cảm ơn. –

6

sự hiểu biết của tôi là làm chế biến này trên một định dạng âm thanh nén như MP3 sẽ không mang lại kết quả tương tự như MIDI, trong đó có ca khúc riêng biệt (Có lẽ tôi hiểu lầm).

MIDI về cơ bản lưu trữ thông tin cụ và ghi chú âm nhạc. Ngoài ra các hiệu ứng khác (âm lượng, độ cong, rung, tỷ lệ tấn công, vv)

Không thực sự xử lý tín hiệu số.

Định dạng không nén như PCM có tốt hơn MP3 không?

Có thể một phần; Nó phụ thuộc vào ứng dụng. MP3 làm giảm độ chính xác của tần số mà con người không nhạy cảm với. Nếu bạn muốn làm visualisations thì MP3 có lẽ là tốt.

Nhưng nếu bạn muốn xác định loại nhạc cụ nào đang phát trong bản ghi, thì có thể có thông tin hữu ích được ẩn trong các tần số mà con người không nhạy cảm.

Tôi nghĩ rằng The Scientist and Engineer's Guide to Digital Signal Processing là một tài liệu tham khảo tuyệt vời dành cho người lập trình.Chương 8 giải thích biến đổi Fourier rời rạc (được sử dụng trong xử lý MP3 và nhiều nơi khác để tách riêng các tần số thành phần của sóng).

Tôi đã sử dụng nó để giúp tạo một chương trình đồ họa cho phép bạn vẽ một con sóng bằng chuột, sau đó áp dụng DFT và cho phép bạn chọn số lượng tần số cần bao gồm. Đó là một bài tập tuyệt vời.

0

Tôi nghĩ bạn cần phải xác định chính xác những gì bạn đang tìm kiếm và những gì bạn đang cố gắng làm.

Nếu bạn muốn tìm hiểu về DSP, MIDI hoặc PCM thì có rất nhiều thông tin trên Wikipedia và tài liệu tham khảo.

Có rất nhiều ứng dụng cho thao tác âm thanh có sẵn. Những gì bạn đã mô tả trong câu hỏi của bạn là những gì diễn ra trong mỗi studio thu âm kỹ thuật số (mà những ngày này sẽ chiếm hầu như tất cả các hãng phim) mỗi ngày.

Nếu bạn có ý định thực hiện một số DSP chống lại, nói, một âm thanh guitar sau đó bạn lý tưởng có một bản ghi của guitar chính nó (chứ không phải là một ca khúc hỗn hợp có chứa trống hoặc giọng hát). Nó sẽ được khá rõ ràng rằng bạn sẽ nhận được kết quả tốt hơn phân tích một tín hiệu rời rạc mà không có tiếng ồn bổ sung hơn bạn sẽ phân tích một tín hiệu có chứa mức độ đáng kể của 'tiếng ồn'. Vì vậy, có, một bản ghi multitrack sẽ thích hợp hơn để 'một MP3'.

MP3 điển hình chứa các kênh trái và phải (các bản nhạc) để nó về mặt kỹ thuật là đa nhiệm. Khi âm nhạc được ghi lại (chuyên nghiệp, ít nhất) các tín hiệu khác nhau được ghi lại trên các bản nhạc khác nhau, chính xác để chúng có thể được chỉnh sửa và xử lý một cách cụ thể vào một thời điểm sau đó.

Bạn muốn làm gì với âm thanh?

Như các câu trả lời khác đã chỉ ra, điều này không liên quan đến MIDI chút nào.

1

Tôi nhớ một lúc trước tôi đã thấy bản xem trước của một ứng dụng (Xin lỗi, quên tên) có thể nghe bản ghi của người nào đó chơi đàn ghi và tự động vẽ trên một dòng thời gian ghi chú/hợp âm đã được chơi.

Bạn cũng có thể nghĩ đến việc Melodyne: http://www.celemony.com/cms/

Mặc dù Vari âm thanh trong phiên bản mới hơn của Cubase là khá tương tự. :)

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