# tipa

> IPA in TypeScript

Latest version **1.0.14** (published 2023-01-04) · ISC license · 0 weekly downloads

## Install

```sh
npm install tipa
pnpm add tipa
yarn add tipa
bun add tipa
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.14 |
| Published | 2023-01-04 |
| First published | 2020-02-02 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 162.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 6 |
| Maintainers | dustinnewman |
| Keywords | ipa, linguistics |

## Links

- npm: https://www.npmjs.com/package/tipa
- Repository: https://github.com/dustinnewman/tipa
- Homepage: https://github.com/dustinnewman/tipa#readme
- Issues: https://github.com/dustinnewman/tipa/issues
- npm.io page: https://npm.io/package/tipa

## Recent versions

- 1.0.14 (latest) — 2023-01-04
- 1.0.13 — 2021-04-25
- 1.0.12 — 2020-02-06
- 1.0.11 — 2020-02-06
- 1.0.10 — 2020-02-06
- 1.0.9 — 2020-02-06
- 1.0.8 — 2020-02-06
- 1.0.7 — 2020-02-05
- 1.0.6 — 2020-02-05
- 1.0.5 — 2020-02-05
- 1.0.4 — 2020-02-05
- 1.0.3 — 2020-02-04
- 1.0.2 — 2020-02-03
- 1.0.1 — 2020-02-03
- 1.0.0 — 2020-02-02

## README

# tipa
[![version](https://img.shields.io/npm/v/tipa.svg)](https://www.npmjs.org/package/tipa)

*tipa* is a TypeScript package supporting parsing of linguistic input in Unicode, HTML Entity, and [Branner (1994)](https://web.archive.org/web/19990209070257/http://weber.u.washington.edu/~yuenren/ASCII_IPA.html) formats. It contains extensive features from Hayes (2009) and Riggle (2012), allowing you to transform sounds reliably.


```js
const tipa = require("tipa")

tipa.get("t") === tipa.devoice(tipa.get("d")) // true

const word = tipa.parse("liŋˈɡwɪ.stɪks")

const nucleus = word[0].nucleus[0].name // high front tense unrounded vowel
```

## Installation

For Yarn:

```bash
$ yarn add tipa
```

For NPM:

```bash
$ npm install tipa
```

## Functions

| Name                   | Type Signature                   | Example
| ------                 | -------                          | -------
| `parse`                | `string => word`                 | `parse("liŋˈɡwɪ.stɪks")`
| `get`                  | `string => ipa_symbol`           | `get("low back rounded vowel")`
| `tokenize`             | `string => ipa_symbol[]`         | `tokenize(".ʕe.es.a.án.")`
| `collapse`             | `ipa_symbol[] => ipa_segment[]`  | `collapse(tokenize("kætz̥"))`
| `syllabify`            | `ipa_segment[] => word`          | `syllabify(collapse(tokenize("lu.nə")))`
| `devoice`              | `phone => phone`                 | `devoice(get("g"))`

## Types

| Type                        | Meaning
| ------                      | -------
| `ipa_symbol`                | Base type which includes `ipa_diacritic`, `ipa_suprasegmental`, and `ipa_letter`.
| `ipa_diacritic`             | Sub-type of `ipa_symbol`. Used to modify an `ipa_letter` in some way. Includes tone diacritics (1 - 5), secondary articulation, and length diacritics (long, half long, and extra short).
| `ipa_suprasegmental`        | Sub-type of `ipa_symbol`. Used to create syllable boundaries and/or provide syllable-level information such as primary or secondary stress.
| `ipa_letter`                | Sub-type of `ipa_symbol`. Can either be a vowel or consonant. Has a feature matrix defined by Hayes (2009).
| `phone`                     | A single, standalone sound. Can be an `ipa_letter` (e.g. `[p]`) or an `ipa_letter` followed by diacritics (e.g. `[v̥̄]`).
| `ipa_segment`               | The building block of syllables. Can be a `phone` or a suprasegmental.
| `syllable`                  | A group of `ipa_segments` and the building block of words. Has an onset, nucleus, and coda, as well as a list of all constituent segments.
| `word`                      | A group of syllables and the end result of parsing.

## Testing

To run tests on the library, first clone the repository:

```bash
$ git clone https://github.com/dustinnewman/tipa.git
$ cd tipa
```

Then install the dev dependencies:

```bash
$ yarn # for NPM, run: npm install
```

Now you're ready to run the tests!

```bash
$ yarn test # NPM: npm run test
```

---
_Source: https://npm.io/package/tipa · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
