---
name: "midicat"
section: "1"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "openbsd"]
url: "https://new.carta.tech/midicat"
---

# midicat(1)

send to or receive from MIDI ports

## NAME

**midicat** – send to or receive from MIDI ports

## SYNOPSIS

**midicat** \[**-d**\] \[**-i** *file*\] \[**-o** *file*\] \[**-q** *port*\]

## DESCRIPTION

The **midicat** utility receives MIDI data from the given input MIDI port and/or sends it to the given output MIDI port. The options are as follows:

- **-d**

  Dump transferred data in hex on stderr.

- **-i** *file*

  Read MIDI data from this file instead of receiving it from the MIDI port. If the option argument is ‘-’ then standard input will be used.

- **-o** *file*

  Write MIDI data to this file instead of sending it to the MIDI port. If the option argument is ‘-’ then standard output will be used.

- **-q** *port*

  Use this [sndio(7)](/sndio/7.md) MIDI port for input/output. If the option is used twice, the first one specifies the input port and the second one the output port.

If no files are specified, then **midicat** transfers data from the MIDI input port to the MIDI output port.

## EXAMPLES

Send the given file to *rmidi/0*:

```
$ midicat -i file.syx -q rmidi/0
```

Dump data received from *rmidi/0* to stderr:

```
$ midicat -d -q rmidi/0 -o /dev/null
```

Send data from *rmidi/0* to *midithru/0*:

```
$ midicat -q rmidi/0 -q midithru/0
```

## SEE ALSO

[midi(4)](/midi/4.md), [sndio(7)](/sndio/7.md), [sndiod(8)](/sndiod/8.md)
