> For the complete documentation index, see [llms.txt](https://kazescripts.gitbook.io/kazescripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kazescripts.gitbook.io/kazescripts/kaze_sound/migrating-from-pma-voice.md).

# Migrating from pma-voice

Switch a server from pma-voice to kaze\_sound voice chat.

kaze\_sound voice chat is a drop-in replacement for pma-voice. Existing radio, phone and HUD scripts keep working.

{% stepper %}
{% step %}

### Keep your voice config

Keep `exec voice.cfg` (or wherever you set it) with:

```cfg
setr voice_useNativeAudio true
```

The other pma-voice settings in that file are no longer used. Their kaze\_sound equivalents are in `config_voice.lua`.
{% endstep %}

{% step %}

### Stop pma-voice

Remove `ensure pma-voice` from `server.cfg` and move the `pma-voice` folder out of your resources. If it sits in a category folder such as `[voice]`, ensure the other resources in that folder by name instead.
{% endstep %}

{% step %}

### Start kaze\_sound first

Ensure `kaze_sound` before your radio and phone scripts, then restart the server.
{% endstep %}
{% endstepper %}

## What keeps working

* **Exports:** every `exports['pma-voice']` call is answered by kaze\_sound under the same name.
* **Dependencies:** kaze\_sound declares `provide 'pma-voice'`, so resources that depend on pma-voice still start.
* **State bags:** `proximity`, `radioChannel`, `callChannel` and the rest keep their names, so HUDs such as qbx\_hud work unchanged.
* **Events:** `pma-voice:radioActive`, `pma-voice:setTalkingOnRadio`, `pma-voice:setTalkingMode` and `pma-voice:playerMuted` are still fired.

## What changes for players

* Voices are muffled through walls, interiors and closed cars.
* A range ring appears when switching voice range.
* Radio and call volumes are remembered between sessions.

{% hint style="warning" %}
**Keybinds reset once.** The radio and range keys use new command names. The defaults are the same (`Left Alt` and the key under Esc), but players who rebound them in pma-voice need to set them again in **Settings → Key Bindings → FiveM**.
{% endhint %}

## Optional: switch scripts to kaze\_sound exports

Old calls keep working, but you can point scripts at kaze\_sound directly. Replace:

```lua
exports['pma-voice']:setRadioChannel(1)
```

with:

```lua
exports.kaze_sound:setRadioChannel(1)
```

To listen for radio talking, use `kaze_sound:voice:radioTalking` instead of `pma-voice:setTalkingOnRadio`. The arguments are the same. See [Voice API](/kazescripts/kaze_sound/voice-api.md) for the full list.
