tis-praat-portable icon

Praat

Silent install package for Praat

6.4.52-1

Preprod packages are packages built on LUTI. They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the store.

  • package: tis-praat-portable
  • name: Praat
  • version: 6.4.52-1
  • maintainer: WAPT Team,Tranquil IT,Amel FRADJ
  • licence: GNU GENERAL PUBLIC LICENSE
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 23.01 Mo
  • homepage : www.praat.org

package           : tis-praat-portable
version           : 6.4.52-1
architecture      : x64
section           : base
priority          : optional
name              : Praat
categories        : 
maintainer        : WAPT Team,Tranquil IT,Amel FRADJ
description       : PRAAT is a highly flexible tool for speech analysis. It offers a wide range of standard and non-standard procedures, including spectrographic analysis, articulatory synthesis and neural networks. There is simply no better package that linguists can use to analyze speech
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : 
target_os         : windows
min_wapt_version  : 
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : PRAAT est un outil très flexible pour l'analyse de la parole. Il offre une large gamme de procédures standard et non standard, notamment l'analyse spectrographique, la synthèse articulatoire et les réseaux neuronaux. Il n'existe tout simplement pas de meilleur package que les linguistes puissent utiliser pour analyser la parole
description_pl    : PRAAT to wysoce elastyczne narzędzie do analizy mowy. Oferuje szeroki zakres standardowych i niestandardowych procedur, w tym analizę spektrograficzną, syntezę artykulacyjną i sieci neuronowe. Po prostu nie ma lepszego pakietu, którego lingwiści mogą używać do analizy mowy
description_de    : PRAAT ist ein sehr flexibles Werkzeug für die Sprachanalyse. Es bietet eine breite Palette an Standard- und Nichtstandardverfahren, darunter spektrografische Analyse, artikulatorische Synthese und neuronale Netze. Es gibt einfach kein besseres Paket, das Linguisten zur Analyse von Sprache verwenden können
description_es    : PRAAT es una herramienta muy flexible para el análisis del habla. Ofrece una amplia gama de procedimientos estándar y no estándar, como el análisis espectrográfico, la síntesis articulatoria y las redes neuronales. Sencillamente, no existe un paquete mejor para que los lingüistas analicen el habla
description_pt    : O PRAAT é uma ferramenta altamente flexível para a análise da fala. Oferece uma vasta gama de procedimentos normalizados e não normalizados, incluindo análise espectrográfica, síntese articulatória e redes neuronais. Simplesmente não há melhor pacote que os linguistas possam utilizar para analisar o discurso
description_it    : PRAAT è uno strumento altamente flessibile per l'analisi del parlato. Offre un'ampia gamma di procedure standard e non, tra cui l'analisi spettrografica, la sintesi articolatoria e le reti neurali. Non esiste semplicemente un pacchetto migliore che i linguisti possano utilizzare per analizzare il parlato
description_nl    : PRAAT is een zeer flexibel hulpmiddel voor spraakanalyse. Het biedt een breed scala aan standaard en niet-standaard procedures, waaronder spectrografische analyse, articulatoire synthese en neurale netwerken. Er is simpelweg geen beter pakket dat linguïsten kunnen gebruiken om spraak te analyseren
description_ru    : PRAAT - это очень гибкий инструмент для анализа речи. Он предлагает широкий спектр стандартных и нестандартных процедур, включая спектрографический анализ, артикуляционный синтез и нейронные сети. Лучшего пакета для анализа речи лингвистам просто не найти
audit_schedule    : 
editor            : 
keywords          : 
licence           : GNU GENERAL PUBLIC LICENSE
homepage          : www.praat.org
package_uuid      : 23b50f84-6b89-4945-830c-21f0c09f83c4
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 685ffe467b182d03133abeada187d14dd496d321974aa5b5e2cce49aef446f90
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-01-03T16:16:22.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature         : V6cpDvQUKMICOowj3Aks+x11fqPC9qre4LD9m7FW8tHCLyLbwv4LJfBWQrsTv1IRj9zy/kdH8M5eD7AHnNorJlEK2WLLsK/GIJsmdR/cgSdtcYlV/onIoQvaS8FqVpt+OlweZ3fr6zS5Pj4kjpYltVKHonaZIFK8XtD5sCHNb5l356RF/7p4Pf1KwnKl7AwMz8l2XbRfjgPEuknyu9fNa8pYTnZ255RjeRy5Rp+NeJbkwKdMi+e8kbqq7cYrxs/LqrhV8Bb4AwcPjagc597M/RCWW7XxK3yoPE5I4udL4xL2hJD7bSZ8cF8wAAb3ftUSRtQFctVw16zu3DvNdeS8+g==

# -*- coding: utf-8 -*-
from setuphelpers import *

"""


"""


app_name = "praat "
editor_dir = makepath(programfiles, "praat")
app_dir = makepath(editor_dir, "praat")
app_path = makepath(app_dir, "praat.exe")
audit_version = False


def get_installed_version(app_path):
    return get_file_properties(app_path).get("FileVersion", "")


def install():
    # Declaring local variables
    zip_name = glob.glob(f"praat*.zip")[0]

    unzipped_dir = "praat"


    # Installing software
    killalltasks(ensure_list(control.impacted_process))
    if isdir(app_dir) and force:
        remove_tree(app_dir)
    mkdirs(app_dir)
    print("Extracting: %s to: %s" % (zip_name, unzipped_dir))
    unzip(zip_name, unzipped_dir)
    print('Copy praat to %s' % app_dir)
    copytree2(unzipped_dir, app_dir, onreplace=default_overwrite)
    
    # Creating custom shortcuts
    create_desktop_shortcut(app_name, target=app_path)
    create_programs_menu_shortcut(app_name, target=app_path)

    

def audit():
    # Auditing software
    audit_status = "OK"
    installed_version = get_installed_version(app_path)
    if Version(installed_version) < Version(control.get_software_version()) and audit_version:
        print("%s is installed in version (%s) instead of (%s)" % (app_name, installed_version, control.get_software_version()))
        audit_status = "WARNING"
    elif isdir(app_dir) and not dir_is_empty(app_dir):
        print("%s (%s) is installed" % (app_name, installed_version))
        audit_status = "OK"
    else:
        print("%s is not installed" % app_name)
        audit_status = "ERROR"
    return audit_status


def uninstall():
    # Uninstalling software
    killalltasks(ensure_list(control.impacted_process))
    if isdir(app_dir):
        remove_tree(app_dir)
    if dir_is_empty(editor_dir):
        remove_tree(editor_dir)

    # Removing shortcuts
    remove_desktop_shortcut(app_name)
    remove_programs_menu_shortcut(app_name)

# -*- coding: utf-8 -*-
from setuphelpers import *
import re


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    update_dict = {
        "x64" :"win-intel64.zip",
        "x86"  : "win-intel32.zip"
    }
    git_repo = "praat/praat"
    url_api = "https://api.github.com/repos/%s/releases/latest" % git_repo
    # Getting latest version information from official sources
    print("API used is: %s" % url_api)
    json_load = json.loads(wgets(url_api, proxies=proxies))
    for download in json_load["assets"]:
        if download["browser_download_url"].endswith(".zip") and update_dict[control.architecture] in download["browser_download_url"] :
            url_dl = download["browser_download_url"]
            version = json_load["tag_name"].replace("v","").replace("a","")
            filename = download["name"]
            break

    if not isfile(filename):
        package_updated = True
        wget(url_dl, filename, proxies=proxies)

    # nettoyer les fichiers temporaires
    for f in glob.glob("*.zip"):
        if f != filename:
            remove_file(f)
    
    control.set_software_version(version)
    control.save_control_to_wapt()

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
a4c87159646d465135c37a09cdcc2f2aa622d9cecc5fbbf72dae2a9fe690563e : WAPT/control
685ffe467b182d03133abeada187d14dd496d321974aa5b5e2cce49aef446f90 : WAPT/icon.png
696e9fee1b9dd992c613e1e8db86cad77d94efabbfd60d354b9a0c4557b10bdf : luti.json
4fa991db4451183bebaaa0f4fff8518103a407e6b5591df6ed40b146f1cb44a3 : praat6452_win-intel64.zip
b7660155d4758885bcfb1560a792ba0fa52ac46d5d1de38a342e9b2cb8b61e52 : setup.py
a1caf962b898700f2c772a7a0ce710a71f72a85b494dd4dbfe04c88eb3f918a3 : update_package.py