---
name: "abc2abc"
section: "1"
platform: "linux"
package: "abcmidi"
version: "2026_10_09-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/abc2abc"
---

# abc2abc(1)

a simple abc checker/re-formatter/transposer

## NAME

abc2abc - a simple abc checker/re-formatter/transposer

## SYNOPSIS

**abc2abc** *file* \[ **-s** \] \[ **-n** \] \[ **-b** \] \[ **-r** \] \[ **-e** \] \[ **-t** *semitones* \] \[ **-nda** \] \[ **-u** \] \[ **-d** \] \[ **-v** \] \[ **-V***voice number*\] \[**-P***voice number*\] \[**-nokeys**\] \[ **-nokeyf**\] \[ **-usekey***(sharps/flats)*\] \[**-useclef***(treble/clef)*\] \[ **-OCC** \]

## DESCRIPTION

**abc2abc** is a simple abc checker/re-formatter/transposer. It will check whether the *file* given on the command line obeys basic abc syntax.

If you want to check an abc tune, it is recommended that you use **abc2midi** with the **-c** option. This performs extra checks that **abc2abc** does not do.

The output of **abc2abc** goes to standard output. Use redirection to save it to a file.

## OPTIONS

- **-s**

  Rework spacing in the file (which affects how notes are beamed together when the music is printed out). This option does not appear to be working correctly.

- **-n** *X*

  Reformats the abc file with line breaks every *X* bars.

- **-b**

  Don't do bar checking.

- **-r**

  Don't do repeat checking.

- **-e**

  Don't report errors.

- **-t** *n*

  Transpose tune by *n* semitones. This function will also work with K: none or one of -nokeys or -nokeyf. If a voice is assigned to channel 10 (drum channel) using a %%MIDI channel 10 command, then this voice is never transposed.

- **-nda**

  Convert double accidentals in guitar chord to another chord though strictly not correct.

- **-u**

  Update notation; the older notation **+ +** for chords is replaced by  **\[\]** and **s s** for slurs is replaced by **()**.

- **-OCC**

  Accept the old notation for chord. Normally this is turned off, since it conflicts with abc draft standard version 2.0 for decorations (eg. +crescendo(+).

- **-d**

  Re-notate the tune with all note lengths doubled. The unit length specified by the L: field command is halved (e.g. L:1/8 to L:1/16).

- **-v**

  Re-notate the tune with all note lengths halved. The unit length specified by the L: field command is doubled (e.g. L:1/8 to L:1/4).

- **-ver**

  Prints version number and exits.

- **-V** *X\[,Y...\]*

  For multivoiced abc files (i.e. contains V: field commands), only voices *X\[,Y,...\]* are copied.

- **-P** *X,\[,Y...\]*

  For multivoiced abc files (i.e. contains V: field commands), all voices except *X\[,Y...\]* remain the same. Voices X,Y... are modified according the other runtime parameters.

- **-X** *n*

  For a file containing many tunes, the X: reference numbers are renumbered sequentially starting from number *n*.

- **-xref** *n*

  Only the tune with X: n is processed.

- **-nokeys**

  No key signature will be assumed. Instead, sharps and naturals will be placed wherever they are needed.

- **-nokeyf**

  No key signature will be assumed. Instead, flats and naturals will be placed wherever they are needed.

- **-usekey sf**

  This will force abc2abc to output the notes in the key signature keys\[sf\] where sf specifies the number of flats (-negative) or  sharps (+positive) in the key signature. It is a number between -5 and +5 inclusive.

- **-useclef**

  This works with only the -t (transpose) and provided the abc file does not already have a clef command in the K: field. It does not support voices.

\* Normally abc2abc will convert the deprecated notation for decorations (eg. !ppp!) to the abc version 2.0 draft standard (eg. +ppp+). If you do not wish to change to this standard include the -OCC flag.

## SEE ALSO

*abcmtex*(1), [*abc2midi*(1)](/abc2midi/1.md), [*midi2abc*(1)](/midi2abc/1.md), [*mftext*(1)](/mftext/1.md)

## AUTHOR

This manual page was written by Anselm Lingnau \<lingnau@tm.informatik.uni-frankfurt.de\> and is now supported by Seymour Shlien \<fy733@ncf.ca\> for the GNU/Linux system.

## VERSION

This man page describes abc2abc version 2.04 from January 22 2020.
