# Install libgsm with Homebrew, apt, MacPorts, zypper, Nix

Lossy speech compression library. Version 1.0.24 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:libgsm
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libgsm
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install libgsm
```

  Evidence: MacPorts ports tree: audio/libgsm/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install libgsm-tools
```

  Evidence: Debian stable package indexes: libgsm-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- zypper (92%):

```sh
sudo zypper install libgsm-devel
```

  Evidence: openSUSE Tumbleweed package metadata: libgsm-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#tcat
```

  Evidence: nixpkgs package indexes: pkgs/by-name/tc/tcat/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:libgsm
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/libgsm>
- **Version:** 1.0.24
- **Source summary:** Lossy speech compression library
- **Homepage:** <https://www.quut.com/gsm/>
- **Upstream docs:** <https://www.quut.com/gsm>
- **License:** TU-Berlin-2.0
- **Source archive:** <https://www.quut.com/gsm/gsm-1.0.24.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- tcat (cli)
- toast (cli)
- untoast (cli)
- tcat (alias)
- toast (alias)
- untoast (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.0.24
- Local data: ok
- Upstream repository: https://www.quut.com/gsm/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

libgsm is Jutta Degener and Carsten Bormann's C implementation of the GSM 06.10 RPE-LTP speech codec, distributed with a small Unix-style toolset headed by toast, untoast, and tcat. It matters in package collections because it is a compact, long-lived reference implementation of a telephony-era codec that still appears wherever old audio formats, speech samples, or GSM-framed test data need to be handled.

### Project history

The project began in 1992 at the Technical University of Berlin, where Degener's research group needed a speech-compression algorithm for multimedia conferencing experiments and selected the ETSI GSM 06.10 speech codec. Degener and Bormann implemented the GSM 06.10 RPE-LTP coder and decoder in C, exposing both a library API and standalone tools for encoding and decoding speech data.

The implementation reflects early-1990s Unix multimedia culture: the toast command was modeled after Unix compress, but it produces lossy .gsm speech data rather than reversible compressed files. The upstream page documents details such as 160-sample PCM frames encoded into 264-bit GSM frames, optional frame inspection, and portability notes for Unix-like systems, VMS, MS-DOS, and 64-bit DEC Alpha systems.

### Adoption history

libgsm spread through operating-system package collections because it solved a narrow problem with few dependencies. Build a GSM 06.10 codec and get small command-line tools for batch conversion. The batch input lists packages for Homebrew, Debian, Ubuntu, MacPorts, Nix, and openSUSE, showing the usual path for old C libraries that remain useful as compatibility glue.

### How it is used

Users normally encounter libgsm either as a dependency of audio or telephony software, or through the toast, untoast, and tcat commands for converting raw speech samples to and from GSM 06.10 data. Developers use the library when they need a small C codec implementation rather than a full multimedia framework.

### Why package nerds care

libgsm is the kind of package that makes old media stacks work quietly: tiny, ancient, standards-adjacent, and still carried because removing it breaks obscure but real audio workflows. Its licensing and provenance are also notable because Homebrew records the TU-Berlin-2.0 license while the upstream page preserves the original research-code distribution context.

### Timeline

- 1992: Work began at the Technical University of Berlin for multimedia-conferencing experiments.
- 1994: The upstream notes described real-time GSM 06.10 coding as requiring at least a medium-scale workstation.
- Patchlevel 9: WAV format #49 support was integrated after outside experimentation with compressed wave files.
- Patchlevel 24: The upstream release notes fixed undefined behavior from left-shifting negative signed integers.

### Related projects

- ETSI GSM 06.10 defines the speech-compression algorithm implemented by libgsm.
- toast, untoast, and tcat are the command-line programs distributed with the library.
- WAV format #49 is a parallel GSM 06.10 framing used by some Windows audio workflows.

### Sources

- <https://formulae.brew.sh/formula/libgsm>
- <https://www.quut.com/berlin/gsm/etsi.html>
- <https://www.quut.com/berlin/gsm/gsm-3.html>
- <https://www.quut.com/gsm>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** libgsm
- **Version Scheme:** 0
- **Revision:** 0
- **Conflicts With:** toast
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - libgsm-tools - 1.0.22-1+b2: normalized package name match | Debian stable package indexes: libgsm-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | User binaries for a GSM speech compressor | http://www.quut.com/gsm/
- Debian apt - libgsm1 - 1.0.22-1+b2: normalized package name match | Debian stable package indexes: libgsm1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Shared libraries for GSM speech compressor | http://www.quut.com/gsm/
- Debian apt - libgsm1-dev - 1.0.22-1+b2: normalized package name match | Debian stable package indexes: libgsm1-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Development libraries for a GSM speech compressor | http://www.quut.com/gsm/
- Ubuntu apt - libgsm-tools - 1.0.22-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libgsm-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | User binaries for a GSM speech compressor | http://www.quut.com/gsm/
- Ubuntu apt - libgsm1 - 1.0.22-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libgsm1 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Shared libraries for GSM speech compressor | http://www.quut.com/gsm/
- Ubuntu apt - libgsm1-dev - 1.0.22-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libgsm1-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Development libraries for a GSM speech compressor | http://www.quut.com/gsm/
- zypper - libgsm-devel - 1.0.24-1.2: normalized package name match | openSUSE Tumbleweed package metadata: libgsm-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | GSM 06.10 Lossy Speech Compressor Library and Utilities | http://www.quut.com/gsm/
- zypper - libgsm-devel-32bit - 1.0.24-1.2: normalized package name match | openSUSE Tumbleweed package metadata: libgsm-devel-32bit from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | GSM 06.10 Lossy Speech Compressor Library and Utilities | http://www.quut.com/gsm/
- zypper - libgsm-utils - 1.0.24-1.2: normalized package name match | openSUSE Tumbleweed package metadata: libgsm-utils from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | GSM 06.10 Lossy Speech Compressor Library and Utilities | http://www.quut.com/gsm/
- zypper - libgsm1 - 1.0.24-1.2: normalized package name match | openSUSE Tumbleweed package metadata: libgsm1 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | GSM 06.10 Lossy Speech Compressor Library and Utilities | http://www.quut.com/gsm/
- zypper - libgsm1-32bit - 1.0.24-1.2: normalized package name match | openSUSE Tumbleweed package metadata: libgsm1-32bit from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | GSM 06.10 Lossy Speech Compressor Library and Utilities | http://www.quut.com/gsm/
- MacPorts - libgsm: normalized package name match | MacPorts ports tree: audio/libgsm/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- MacPorts - tcat: installed executable or alias match | MacPorts ports tree: textproc/tcat/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- MacPorts - toast: installed executable or alias match | MacPorts ports tree: devel/toast/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Nix - tcat: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/tc/tcat/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Nix - toast: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/to/toast/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Archive and compression packages](https://www.automicvault.com/pkg/archive-compression-tools/) - Matched archive or compression metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://www.automicvault.com/pkg/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [fdk-aac](https://www.automicvault.com/pkg/brew/fdk-aac/) - Shares av.db curated category or tags: audio-codec, cli, media.
- [speex](https://www.automicvault.com/pkg/brew/speex/) - Shares av.db curated category or tags: audio-codec, cli, media, speech-compression.
- [a52dec](https://www.automicvault.com/pkg/brew/a52dec/) - Shares av.db curated category or tags: audio-codec, cli, media.
- [codec2](https://www.automicvault.com/pkg/brew/codec2/) - Shares av.db curated category or tags: audio-codec, cli, media.
- [musepack](https://www.automicvault.com/pkg/brew/musepack/) - Shares av.db curated category or tags: audio-codec, cli, media.
- [caesiumclt](https://www.automicvault.com/pkg/brew/caesiumclt/) - Shares av.db curated category or tags: cli, lossy-compression, media.
- [camellia](https://www.automicvault.com/pkg/brew/camellia/) - Shares av.db curated category or tags: c-library, cli, media.
- [freetype](https://www.automicvault.com/pkg/brew/freetype/) - Shares av.db curated category or tags: c-library, cli, media.

## Combined YAML source

View the package source record on GitHub. [combined/libgsm.yml](https://github.com/automic-vault/db/blob/main/combined/libgsm.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
