Utilities to handle .kbp files created with Karaoke Builder Studio.
Project description
kbputils
This is a module containing utilities to handle .kbp files created with Karaoke Builder Studio. It's still very early development, but if you want to try it out, see some notes below.
Current contents are:
Parsers
Karaoke Builder Studio (.kbp)
k = kbputils.KBPFile(filename)
Doblon (full timing lyrics export .txt)
d = kbputils.DoblonTxt(filename)
Enhanced .lrc
l = kbputils.LRC(filename)
Converters
.kbp to .ass
ass_converter = kbputils.AssConverter(k) # Several options are available to tweak processing
doc = converter.ass_document() # generate an ass.Document from the ass module
with open("outputfile.ass", "w", encoding='utf_8_sig') as f:
doc.dump_file(f)
Doblon .txt to .kbp
doblon_converter = kbputils.DoblonTxtConverter(d) # Several options are available to tweak processing
kbp = doblon_converter.kbpFile() # generate a KBPFile data structure
with open("outputfile.kbp", "w", encoding='utf-8', newline='\r\n') as f:
kbp.writeFile(f) # writeFile() can also just take a filename so you don't need to create a file handle like this
Enhanced .lrc to .kbp
lrc_converter = kbputils.LRCConverter(l) # Several options are available to tweak processing
kbp = lrc_converter.kbpFile() # generate a KBPFile data structure
with open("outputfile.kbp", "w", encoding='utf-8', newline='\r\n') as f:
kbp.writeFile(f) # writeFile() can also just take a filename so you don't need to create a file handle like this
If the title, author, and comment options are not overridden when constructing the converter and are specified in the appropriate LRC tags, those are used in the .kbp.
Converter CLIs
.kbp to .ass
$ KBPUtils kbp2ass --help
usage: KBPUtils kbp2ass [-h] [--border | --no-border | -b] [--float-font | --no-float-font | -f] [--float-pos | --no-float-pos | -p]
[--target-x TARGET_X] [--target-y TARGET_Y] [--fade-in FADE_IN] [--fade-out FADE_OUT]
[--transparency | --no-transparency | -t] [--offset OFFSET] [--overflow {NO_WRAP,EVEN_SPLIT,TOP_SPLIT,BOTTOM_SPLIT}]
[--allow-kt | --no-allow-kt | -k] [--experimental-spacing | --no-experimental-spacing | -a] [--version]
source_file [dest_file]
Convert .kbp to .ass file
positional arguments:
source_file
dest_file
options:
-h, --help show this help message and exit
--border, --no-border, -b
bool (default: True)
--float-font, --no-float-font, -f
bool (default: True)
--float-pos, --no-float-pos, -p
bool (default: False)
--target-x TARGET_X, -x TARGET_X
int (default: 300)
--target-y TARGET_Y, -y TARGET_Y
int (default: 216)
--fade-in FADE_IN, -i FADE_IN
int (default: 300)
--fade-out FADE_OUT, -o FADE_OUT
int (default: 200)
--transparency, --no-transparency, -t
bool (default: True)
--offset OFFSET, -s OFFSET
int | bool (default: True)
--overflow {NO_WRAP,EVEN_SPLIT,TOP_SPLIT,BOTTOM_SPLIT}, -v {NO_WRAP,EVEN_SPLIT,TOP_SPLIT,BOTTOM_SPLIT}
AssOverflow (default: EVEN_SPLIT)
--allow-kt, --no-allow-kt, -k
bool (default: False)
--experimental-spacing, --no-experimental-spacing, -a
bool (default: False)
--version, -V show program's version number and exit
Doblon .txt to .kbp
$ KBPUtils doblontxt2kbp --help
usage: KBPUtils doblontxt2kbp [-h] [--title TITLE] [--artist ARTIST] [--audio-file AUDIO_FILE] [--comments COMMENTS]
[--max-lines-per-page MAX_LINES_PER_PAGE] [--min-gap-for-new-page MIN_GAP_FOR_NEW_PAGE]
[--display-before-wipe DISPLAY_BEFORE_WIPE] [--remove-after-wipe REMOVE_AFTER_WIPE] [--version]
source_file [dest_file]
Convert Doblon full timing .txt file to .kbp
positional arguments:
source_file
dest_file
options:
-h, --help show this help message and exit
--title TITLE, -t TITLE
str (default: )
--artist ARTIST, -a ARTIST
str (default: )
--audio-file AUDIO_FILE, -f AUDIO_FILE
str (default: )
--comments COMMENTS, -c COMMENTS
str (default: Created with kbputils Converted from Doblon .txt file)
--max-lines-per-page MAX_LINES_PER_PAGE, -p MAX_LINES_PER_PAGE
int (default: 6)
--min-gap-for-new-page MIN_GAP_FOR_NEW_PAGE, -g MIN_GAP_FOR_NEW_PAGE
int (default: 1000)
--display-before-wipe DISPLAY_BEFORE_WIPE, -w DISPLAY_BEFORE_WIPE
int (default: 1000)
--remove-after-wipe REMOVE_AFTER_WIPE, -i REMOVE_AFTER_WIPE
int (default: 500)
--version, -V show program's version number and exit
Enhanced .lrc to .kbp
$ KBPUtils lrc2kbp --help
usage: KBPUtils lrc2kbp [-h] [--title TITLE] [--artist ARTIST] [--audio-file AUDIO_FILE] [--comments COMMENTS]
[--max-lines-per-page MAX_LINES_PER_PAGE] [--min-gap-for-new-page MIN_GAP_FOR_NEW_PAGE]
[--display-before-wipe DISPLAY_BEFORE_WIPE] [--remove-after-wipe REMOVE_AFTER_WIPE] [--version]
source_file [dest_file]
Convert Enhanced .lrc to .kbp
positional arguments:
source_file
dest_file
options:
-h, --help show this help message and exit
--title TITLE, -t TITLE
str (default: )
--artist ARTIST, -a ARTIST
str (default: )
--audio-file AUDIO_FILE, -f AUDIO_FILE
str (default: )
--comments COMMENTS, -c COMMENTS
str (default: Created with kbputils Converted from Enhanced LRC file)
--max-lines-per-page MAX_LINES_PER_PAGE, -p MAX_LINES_PER_PAGE
int (default: 6)
--min-gap-for-new-page MIN_GAP_FOR_NEW_PAGE, -g MIN_GAP_FOR_NEW_PAGE
int (default: 1000)
--display-before-wipe DISPLAY_BEFORE_WIPE, -w DISPLAY_BEFORE_WIPE
int (default: 1000)
--remove-after-wipe REMOVE_AFTER_WIPE, -i REMOVE_AFTER_WIPE
int (default: 500)
--version, -V show program's version number and exit
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kbputils-0.0.16.tar.gz
(23.3 kB
view details)
Built Distribution
kbputils-0.0.16-py3-none-any.whl
(24.6 kB
view details)
File details
Details for the file kbputils-0.0.16.tar.gz
.
File metadata
- Download URL: kbputils-0.0.16.tar.gz
- Upload date:
- Size: 23.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13a3723f5e168c9a395489b03339743c6b0bc28c0d0bd2f551c11a7fe0d1fa87 |
|
MD5 | db68788044df2598d1664c7cacb54291 |
|
BLAKE2b-256 | 27e5b26c73ba013d9c1b6ccdbefaad3e4d8369b69b515ce986a15306550cca28 |
File details
Details for the file kbputils-0.0.16-py3-none-any.whl
.
File metadata
- Download URL: kbputils-0.0.16-py3-none-any.whl
- Upload date:
- Size: 24.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a1c77e0d9d3e1460209cc4538e0abee84081a411727a6be24a8c9773b2379c1 |
|
MD5 | 307b91578f7231502194e9ad5f899de4 |
|
BLAKE2b-256 | c0268a6e3b6b917e0753ea97eed7fc77c3d589244ed869a98e9b32fd1d567739 |