Git Product home page Git Product logo

hachiko's Introduction

Hachiko PyPI introduction

Hachiko

Simple tool for creating pitch timeline, this program divides midi creation into pitches and timeline part.

When creating timeline, press A to give position/duration information, and use S to split different notes directly when holding A

# Twinkle Little Star
[45, 45, 52, 52, 54, 54, 52, 50, 50, 49, 49, 47, 47, 45, 52, 52, 50, 50, 49, 49, 47, 52, 52, 50, 50, 49, 49, 47, 45, 45, 52, 52, 54, 54, 52, 50, 50, 49, 49, 47, 47, 45]

Tip: press K in pitch window, and input code in console (it's recommended to launch this application in console)

The name of the project is Hachiko, inspired by the golden yellow Akita dog - ハチ公, which is in homophonic with "扒公" (means melody extraction "耳 Copy" or "扒谱").

Installing

There's no need for system-wide installation, just use the script hachi.py

Since version 1.1, setting up the installation using setuptools is required.

For Windows installation guide, please read this wiki

python3 setup.py install # can be --user or sudo

or get it from PyPI:

pip3 install hachiko-bapu
#v or, for the latest version
pip3 install --upgrade git+https://github.com/duangsuse-valid-projects/Hachiko

System library FluidSynth is required to run this application.

Old installation-free version

See release 1.0, get a zip(or tar) and uncompress:

pip install --user -r requirements.txt
python3 hachi.py
# use midnotes.py to replace srt2mid.py print-notes

UI Control / Basic Routine

Hachiko is self documented, so just use the program.

hachiko -h

NOTE: For the first time using GUI, you can spend more time learning hot keys

Once puzi.srt is generated, you can use srt2mid puzi.srt to transform it into MIDI file

Btw, you can use pitches from extrenal tool (like Synthesizer V Editor or MidiEditor) extracted by srt2mid print-notes puzi.mid instead of built-in approach

Btw, there's also an option to use MELODIA Algorithm to extract pitches directly from music

Tool srt2mid and lrc_merge

srt2mid.py can be used to make conversation between SRT / MIDI File format

Output filename is determined automatically from input path, and SRT representation of MIDI track will be timeline of integer(note pitch)s.

The default mode, "from", means "from srt to mid", and when extracting lyrics from mid file you have to use "back-lyrics" instead.

Usage: srt2mid [ from/back/back-lyrics/print-notes ] files...

lrc_merge.py can be used to merge words-based lyrics into sentence-based lyrics

usage: lrc_merge [-h] [-dist n_sec] [-min-len n_sec] [-o name] [-sep word_seprator] (path / 'lrc')
  • dist max distance for words in same sentence, default 0.8
  • min-len min duration for the last word in sentence (only when lrc input is used)

Execute lrc_merge -h to see full details

hachiko's People

Contributors

duangsuse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.