praat.github.io  by praat

Speech analysis tool for phonetics research

created 11 years ago
1,722 stars

Top 25.3% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

Praat is a comprehensive speech analysis, synthesis, and manipulation tool for phoneticians and speech researchers. It offers advanced features for analyzing pitch, formants, intensity, and voice quality, alongside capabilities for speech synthesis, manipulation, and detailed annotation using the International Phonetic Alphabet. The software also supports grammar models and statistical analysis, making it a powerful, albeit complex, solution for in-depth phonetic research.

How It Works

Praat employs a sophisticated signal processing pipeline for speech analysis, generating visualizations like spectrograms and cochleagrams. Its synthesis capabilities range from acoustic modeling using pitch curves and filters to articulatory synthesis based on muscle activities. The software's architecture supports extensibility through C/C++ plugins and a robust scripting language, allowing for custom analysis workflows and integration with advanced phonetic models like Optimality Theory and Harmonic Grammar.

Quick Start & Requirements

  • Installation: Download pre-compiled binary executables for various platforms from the official Praat website (praat.org) or GitHub releases.
  • Compilation: Requires C++17 and C99 compliant compiler. Windows development necessitates MSYS2 with specific toolchains (mingw64, mingw32, clangarm64). macOS development uses Xcode (version 15.1+ recommended). Linux development requires build tools like make, gcc/clang, pkg-config, and libraries such as libgtk-3-dev, libasound2-dev, libpulse-dev, libjack-dev.
  • Resources: Compilation can be time-intensive, especially for multiple platforms. Detailed setup instructions for cross-compilation and development workflows are provided.

Highlighted Details

  • Supports a wide array of platforms including Windows (Intel/ARM), macOS (Intel/Apple Silicon), Linux (Intel/ARM/s390x), and Chromebooks.
  • Offers extensive documentation and tutorials, accessible via the in-app Help menu and praat.org.
  • Includes capabilities for statistical analysis (MDS, PCA, discriminant analysis) and grammar learning models (Optimality Theory, Harmonic Grammar).
  • Provides options for building GUI-less or "barren" executables for server-side or headless operation.

Maintenance & Community

Developed by Paul Boersma and David Weenink. The project is actively maintained, with frequent releases and updates. Community support channels are not explicitly mentioned in the README, but the project's long history and widespread use suggest a significant user base.

Licensing & Compatibility

The source code is primarily distributed under the GNU General Public License, version 2 or later, with the entirety of Praat distributed under version 3 or later due to included third-party software. This GPLv3+ license may impose restrictions on linking with closed-source applications.

Limitations & Caveats

The compilation process, especially for cross-platform development, is complex and requires significant technical expertise and setup. While binary executables are available, building from source is necessary for customization or unsupported platforms. Code-signing for Windows executables can still trigger security warnings, requiring user intervention.

Health Check
Last commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
29
Issues (30d)
3
Star History
83 stars in the last 90 days

Explore Similar Projects

Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Nat Friedman Nat Friedman(Former CEO of GitHub), and
32 more.

llama.cpp by ggml-org

0.4%
84k
C/C++ library for local LLM inference
created 2 years ago
updated 16 hours ago
Feedback? Help us improve.