Skip to content

A package to write song lyrics with chord diagrams in Typst

License

Notifications You must be signed in to change notification settings

ljgago/typst-chords

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chordx

A package to write song lyrics with chord diagrams in Typst.

Table of Contents

Introduction

With chordx you can easily generate song lyrics with chords for writing songbooks.

chordx generates chord charts for stringed instruments (e.g. guitar, ukulele, etc.), piano chords (with diferent piano layouts) and single chords that are chords without charts used to write the chords over a word to write songbooks.

Usage

chordx exports 3 functions to generate diferents types fo charts:

  • chart-chord: used to generate chart chords for stringed instruments.
  • piano-chord: used to generate piano chords.
  • single-chord: used to show the chord name over a word.

Typst Packages

Typst added an experimental package repository and you can import chordx as follows:

#import "@preview/chordx:0.5.0": *

Local Packages

If the package hasn't been released yet, or if you just want to use it from this repository, you can use local-packages.

You can read the documentation about typst local-packages and learn about the path folders used in differents operating systems (Linux / MacOS / Windows).

In Linux you can do:

git clone https://github.com/ljgago/typst-chords ~/.local/share/typst/packages/local/chordx/0.5.0

And import the package in your file:

#import "@local/chordx:0.5.0": *

Documentation

Here chordx-docs you have the reference documentation that describes the functions and parameters used in this package. (Generated with tidy)

Examples:

Chart Chords

#import "@preview/chordx:0.5.0": chart-chord

#let chart-chord-sharp = chart-chord.with(size: 18pt)
#let chart-chord-round = chart-chord.with(size: 1.5em, design: "round")

// Design "sharp"
#chart-chord-sharp(tabs: "x32o1o", fingers: "n32n1n")[C]
#chart-chord-sharp(tabs: "ooo3", fingers: "ooo3")[C]

// Desigh "round" with position "bottom"
#chart-chord-round(tabs: "xn332n", fingers: "o13421", fret: 3, capos: "115", position: "bottom")[Cm]
#chart-chord-round(tabs: "onnn", fingers: "n111", capos: "313", position: "bottom")[Cm]

// Design "round" with background color in chord name
#chart-chord-round(tabs: "xn332n", fingers: "o13421", fret: 3, capos: "115", background: silver)[Cm]
#chart-chord-round(tabs: "onnn", fingers: "n111", capos: "313", background: silver)[Cm]

Piano Chords

#import "@preview/chordx:0.5.0": piano-chord

#let piano-chord-sharp = piano-chord.with(layout: "F", size: 18pt)
#let piano-chord-round = piano-chord.with(layout: "F", size: 1.5em, design: "round")

#piano-chord-sharp(keys: "B1, D2#, F2#", fill-key: blue)[B]
#piano-chord-round(keys: "B1, D2#, F2#", fill-key: yellow, position: "bottom")[B]
#piano-chord-round(keys: "B1, D2#, F2#", fill-key: red)[B]

Single Chords

#import "@preview/chordx:0.5.0": single-chord

#let chord = single-chord.with(
  font: "PT Sans",
  size: 12pt,
  weight: "semibold",
  background: silver
)

#chord[Jingle][G][2] bells, jingle bells, jingle #chord[all][C][2] the #chord[way!][G][2] \
#chord[Oh][C][] what fun it #chord[is][G][] to ride \
In a #chord[one-horse][A7][2] open #chord[sleigh,][D7][3] hey!

Changelog

You can read the latest changes in CHANGELOG.md

License

MIT License