2013-06-03 49 views
5

Tôi đang tìm cách thay đổi các ghi chú riêng lẻ trong tệp MIDI đã có từ trước bằng Python. Tôi đã tìm thấy rất nhiều gói cho phép ghi các tệp MIDI, nhưng không thay đổi các tệp hiện có. Có một gói mà có thể giúp với điều này hoặc một cách phân tích cú pháp hex của tập tin MIDI để thực hiện điều này?Thao tác các tệp MIDI bằng Python

+0

Hầu hết các gói có thể ghi tệp MIDI cũng có thể đọc chúng. Nếu không, [tìm kiếm PyPI nhanh] (https://pypi.python.org/pypi?%3Aaction=search&term=midi&submit=search) sẽ bật lên một loạt các tùy chọn, như 'midiparser'. – abarnert

Trả lời

3

Có thể bạn không thể "thay đổi các tệp hiện có" nếu bạn muốn sửa đổi chúng tại chỗ.

Nhưng bạn chỉ có thể phân tích cú pháp tệp MIDI, thay đổi tệp đó (trong bộ nhớ hoặc lặp lại) và viết một tệp mới.

Bạn không đề cập đến gói nào bạn đã xem để ghi tệp MIDI, nhưng mọi thứ tôi từng xử lý cũng có thể đọc tệp MIDI, vì vậy bạn có thể đã có mọi thứ bạn cần.

Và không có gì yêu cầu bạn sử dụng cùng một gói cho cả đọc và viết. Ví dụ: bạn có thể sử dụng midiparser để đọc và python-midi để viết; mã để ánh xạ các tin nhắn MIDI từ định dạng của gói này sang định dạng khác là tầm thường.

4

Chương trình nguồn mở MIDICSV chuyển đổi MIDI thành CSV văn bản và ngược lại. Bạn có thể mở tệp CSV dưới dạng văn bản và chỉnh sửa nó dễ dàng bằng cách sử dụng Python, mà không phải dựa vào bất kỳ mô-đun đặc biệt nào.

Để biết thông tin trên giao thức MIDI, vui lòng xem:

Trong một recent project tôi thấy công việc này rất dễ dàng để làm.