Skip to content

Latest commit

 

History

History
54 lines (40 loc) · 2.16 KB

README.md

File metadata and controls

54 lines (40 loc) · 2.16 KB

pcfl

GitHub Workflow Status (with event) GitHub Workflow Status (with event) CI PyPI - Python Version PyPI - Version GitHub

  • MuseScore4에서 FL Studio에 피아노 페달(CC64)이 포함된 미디파일을 임포트할 때, 페달 사이의 간격을 벌려 정상적으로 임포트를 하게 하는 전처리 라이브러리 및 프로그램 입니다.
  • 페달이 연속으로 붙어있는 미디파일을 FL Studio에 임포트 하면 그 두 개의 페달이 하나로 합쳐저 불협화음을 발생시킵니다.
  • PCFL는 이를 막기 위해 두 페달 사이의 간격을 3 ticks 정도 벌립니다.
  • 이전 구현체에서는 Musescore3까지만 대응할 수 있고 Musescore4 부터 대응이 불가능 하여 새 구현체를 구현하게 되었습니다.

Installation (As User)

$ pip install pcfl

Installation (As Dev)

$ git clone https://github.com/skywinz/pcfl.git
$ poetry install

Usage

As CLI

$ python -m pcfl -f input.mid -o output.mid

As Library

import mido
from pcfl import pcfl, pcfl_by_file

# 파일을 사용할 경우
output_filepath = pcfl_by_file("input.mid", "output.mid")

# mido.MidiFile을 사용할 경우
midi = mido.MidiFile("input.mid")
pcfl(midi)

ThirdParty

  • mido
    • 이전 legacy 버전에서 사용했던 music21대신 mido를 사용했습니다.
    • 기본 midi R/W 말고도 많은 분석 툴까지 포함되어 상당히 무거운 music21과는 달리 mido는 단순히 midi 데이터를 R/W하는 데만 집중되어 있어 훨씬 가볍습니다.