Sendpraat: sending messages to Praat

With the sendpraat source code, you can send messages to a running program that uses the Praat shell, like Praat, although it is nowadays easier to use praat --send, which will start up Praat if it’s not running yet (see section 6.9 of the scripting tutorial). Sendpraat is available as a subroutine for macOS, Windows, and Linux, and as a command-line program for macOS, Windows, and Linux. The Praat manual contains a page about how to use the sendpraat7 program.

The source code is in sendpraat7.c. In the line above the definition of main (), this file contains either "if 0" or "if 1", depending on whether you use it as a subroutine or as a command-line program.

Sendpraat for macOS

You can freely use sendpraat as a subroutine in your own C programs, in which case the sendpraat subroutine becomes a part of your macOS application.

If you must (but praat --send is easier), you can use the executable program sendpraat7-mac (67,344 bytes) from the macOS command line (Terminal).

You could also compile this executable program yourself with

   cc sendpraat7.c -arch arm64 -arch x86_64 -o sendpraat-mac -DSTAND_ALONE -Dmacintosh -framework CoreServices -I/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/Headers -I/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers

Sendpraat for Windows

You can freely use sendpraat as a subroutine in your own C programs, in which case the sendpraat subroutine becomes a part of your Windows application.

If you must (but praat --send is easier), you can use the executable program sendpraat7-win-x64.exe (88,576 bytes) or sendpraat7-win-arm64.exe (87,040 bytes) from the command line (console).

You could also compile this executable program yourself with something like

   cc -std=gnu99 sendpraat7.c -o sendpraat7-win-x64.exe -DSTAND_ALONE -mconsole
from an MSYS2 CLANG64 shell, or
   cc -std=gnu99 sendpraat7.c -o sendpraat7-win-arm64.exe -DSTAND_ALONE -mconsole
from an MSYS2 CLANGARM64 shell.

Sendpraat for Linux

You can freely use sendpraat as a subroutine in your own C programs, in which case the sendpraat subroutine becomes a part of your Linux application.

If you must (but praat --send is easier), you can use the executable program sendpraat7-linux-x64 (17,224 bytes) or sendpraat7-linux-arm64 (18,392 bytes) from the command line (Terminal).

You could also compile this executable program yourself with

   cc -std=gnu99 sendpraat7.c -o sendpraat7-linux-x64 -DSTAND_ALONE -DUNIX
or
   cc -std=gnu99 sendpraat7.c -o sendpraat7-linux-arm64 -DSTAND_ALONE -DUNIX

Paul Boersma, 3 August 2026
Phonetic Sciences
University of Amsterdam
Spuistraat 134, Amsterdam
E-mail: paul.boersma@uva.nl