Upload table with transcriptions:


 Upload table with coordinates (optional):



 Upload sound files:

 Format of file names:

 Preprocess samples:

 Upload table with genders (recommended):

 Upload table with coordinates (optional):


 Upload table with distances:

 Upload table with coordinates (optional):

 Width of margin ⇄:

 Width of margin ⇅:

 Radius of dot:

 Explorative method:

 Map visualization:

 Randomization method:

 Degree of stability:

 Segment class:


LED-A means 'Levenshtein Edit Distance App'. It is a web app for calculating linguistic distances with Levenshtein distance using phonetic IPA transcriptions. The following people were involved in the development of LED-A: Wilbert Heeringa (implementation), Vincent van Heuven (advice), Hans Van de Velde (project manager). LED-A is still under development. Comments are welcome and can be sent to .

How to cite this app

Heeringa, Wilbert & Van Heuven, Vincent & Van de Velde, Hans (2023). LED-A: Levenshtein Edit Distance App [computer program]. Retrieved 30 January 2024 from https://www.led-a.org/.


LED-A is implemented as a Shiny app. Shiny was developed by RStudio. This web app uses the following R packages:

  • base

    R Core Team (2023). _R: A Language and Environment for Statistical Computing_. R Foundation for Statistical Computing, Vienna, Austria. URL: https://www.R-project.org/.

  • Cairo

    Urbanek S, Horner J (2022). _Cairo: R Graphics Device using Cairo Graphics Library for Creating High-Quality Bitmap (PNG, JPEG, TIFF), Vector (PDF, SVG, PostScript) and Display (X11 and Win32) Output_. URL: https://CRAN.R-project.org/package=Cairo.

  • callr

    Csárdi G, Chang W (2022). _callr: Call R from R_. URL: https://CRAN.R-project.org/package=callr.

  • colouR

    Inglis A (2023). _colouR: Create Colour Palettes from Images_. URL: https://CRAN.R-project.org/package=colouR.

  • deldir

    Turner R (2023). _deldir: Delaunay Triangulation and Dirichlet (Voronoi) Tessellation_. URL: https://CRAN.R-project.org/package=deldir.

  • dplyr

    Wickham H, François R, Henry L, Müller K, Vaughan D (2023). _dplyr: A Grammar of Data Manipulation_. URL: https://CRAN.R-project.org/package=dplyr.

  • geodist

    Padgham, Mark (2021). geodist: Fast, Dependency-Free Geodesic Distance Calculations. URL: https://github.com/hypertidy/geodist

  • ggdendro

    de Vries A, Ripley BD (2022). _ggdendro: Create Dendrograms and Tree Diagrams Using 'ggplot2'_. URL: https://CRAN.R-project.org/package=ggdendro.

  • ggh4x

    van den Brand T (2023). _ggh4x: Hacks for 'ggplot2'_. URL: https://CRAN.R-project.org/package=ggh4x.

  • ggplot2

    H. Wickham. ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York, 2016. URL: https://ggplot2.tidyverse.org.

  • ggrepel

    Slowikowski K (2023). _ggrepel: Automatically Position Non-Overlapping Text Labels with 'ggplot2'_. URL: https://CRAN.R-project.org/package=ggrepel.

  • grid

    R Core Team (2023). _R: A Language and Environment for Statistical Computing_. R Foundation for Statistical Computing, Vienna, Austria. URL: https://www.R-project.org/.

  • htmlwidgets

    Vaidyanathan R, Xie Y, Allaire J, Cheng J, Sievert C, Russell K (2023). _htmlwidgets: HTML Widgets for R_. URL: https://CRAN.R-project.org/package=htmlwidgets.

  • ipa

    Alexander Rossell Hayes (2020). ipa: convert between phonetic alphabets. URL: https://github.com/rossellhayes/ipa.

  • leaflet

    Cheng J, Schloerke B, Karambelkar B, Xie Y (2023). _leaflet: Create Interactive Web Maps with the JavaScript 'Leaflet' Library_. URL: https://CRAN.R-project.org/package=leaflet.

  • leaflet.extras

    Karambelkar B, Schloerke B (2018). _leaflet.extras: Extra Functionality for 'leaflet' Package_. URL: https://CRAN.R-project.org/package=leaflet.extras.

  • MASS

    Venables, W. N. & Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth Edition. Springer, New York. ISBN 0-387-95457-0. URL: https://www.stats.ox.ac.uk/pub/MASS4/.

  • openxlsx

    Schauberger P, Walker A (2023). _openxlsx: Read, Write and Edit xlsx Files_. URL: https://CRAN.R-project.org/package=openxlsx.

  • plyr

    Hadley Wickham (2011). The Split-Apply-Combine Strategy for Data Analysis. Journal of Statistical Software, 40(1), 1-29. URL: https://www.jstatsoft.org/v40/i01/.

  • readr

    Wickham H, Hester J, Bryan J (2023). _readr: Read Rectangular Text Data_. URL: https://CRAN.R-project.org/package=readr.

  • rnaturalearth

    Massicotte P, South A (2023). _rnaturalearth: World Map Data from Natural Earth_. URL: https://CRAN.R-project.org/package=rnaturalearth.

  • rnaturalearthdata

    South A (2017). _rnaturalearthdata: World Vector Map Data from Natural Earth Used in 'rnaturalearth'_. URL: https://CRAN.R-project.org/package=rnaturalearthdata.

  • Rtsne

    L.J.P. van der Maaten and G.E. Hinton. Visualizing High-Dimensional Data Using t-SNE. Journal of Machine Learning Research 9(Nov):2579-2605, 2008.
    L.J.P. van der Maaten. Accelerating t-SNE using Tree-Based Algorithms. Journal of Machine Learning Research 15(Oct):3221-3245, 2014.
    Jesse H. Krijthe (2015). Rtsne: T-Distributed Stochastic Neighbor Embedding using a Barnes-Hut Implementation, URL: https://github.com/jkrijthe/Rtsne

  • shiny

    Chang W, Cheng J, Allaire J, Sievert C, Schloerke B, Xie Y, Allen J, McPherson J, Dipert A, Borges B (2023). _shiny: Web Application Framework for R_. URL: https://CRAN.R-project.org/package=shiny.

  • shinyBS

    Bailey E (2022). _shinyBS: Twitter Bootstrap Components for Shiny_. URL: https://CRAN.R-project.org/package=shinyBS.

  • shinyjqui

    Tang Y (2022). _shinyjqui: 'jQuery UI' Interactions and Effects for Shiny_. URL: https://CRAN.R-project.org/package=shinyjqui.

  • shinysky

    ZJ D (2019). _shinysky: A Set of Shiny Components and Widgets_. URL: https://github.com/AnalytixWare/ShinySky.

  • shinyWidgets

    Perrier V, Meyer F, Granjon D (2023). _shinyWidgets: Custom Inputs Widgets for Shiny_. URL: https://CRAN.R-project.org/package=shinyWidgets.

  • stringr

    Wickham H (2022). _stringr: Simple, Consistent Wrappers for Common String Operations_. URL: https://CRAN.R-project.org/package=stringr.

  • svglite

    Wickham H, Henry L, Pedersen T, Luciani T, Decorde M, Lise V (2023). _svglite: An 'SVG' Graphics Device_. URL: https://CRAN.R-project.org/package=svglite.

  • tikzDevice

    Sharpsteen C, Bracken C (2023). _tikzDevice: R Graphics Output in LaTeX Format_. URL: https://CRAN.R-project.org/package=tikzDevice.

  • tuneR

    Uwe Ligges, Sebastian Krey, Olaf Mersmann, and Sarah Schnackenberg (2023). tuneR: Analysis of Music and Speech. URL: https://CRAN.R-project.org/package=tuneR

  • webshot

    Chang W (2023). _webshot: Take Screenshots of Web Pages_. URLs: https://wch.github.io/webshot/, https://github.com/wch/webshot/.

In addition, programs implemented in Free Pascal and C are used on the backend, as well as the Praat program (in particular the 'Change gender' function).

The icons used in the main menu of this app are glyphs taken from the set of Bootstrap Glyphicons which includes over 250 glyphs from the Glyphicon Halflings set.


Gabmap offers some functionality that is not available in LED-A. Gabmap is available at gabmap.nl . A Docker version can be found here .


By uploading data files in LED-A, you give the Fryske Akademy permission to process the data files with LED-A. The data will not be used by the Fryske Akademy for any other purposes. When uploading data files in LED-A, they are temporarily stored on the Fryske Akademy server. The data will not be shared with third parties and is protected against unauthorized access and disclosure. The data files will be deleted from the server after the session is ended by the user.

This app uses cookies that are used to collect data. By using this site you agree to these cookies being set. Google Analytics is used in order to track and report website traffic. See: How Google uses data when you use our partners' sites or apps .


This app is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of fitness for a purpose, or the warranty of non-infringement. Without limiting the foregoing, the Fryske Akademy makes no warranty that: 1) the app will meet your requirements, 2) the app will be uninterrupted, timely, secure or error-free, 3) the results that may be obtained from the use of the app will be effective, accurate or reliable, 4) the quality of the app will meet your expectations, 5) any errors in the app will be corrected.

The app and its documentation could include technical or other mistakes, inaccuracies or typographical errors. The Fryske Akademy may make changes to the app or documentation made available on its web site. The app and its documentation may be out of date, and the Fryske Akademy makes no commitment to update such materials.

The Fryske Akademy assumes no responsibility for errors or ommissions in the app or documentation available from its web site.

In no event shall the Fryske Akademy be liable to you or any third parties for any special, punitive, incidental, indirect or consequential damages of any kind, or any damages whatsoever, including, without limitation, those resulting from loss of use, data or profits, whether or not the Fryske Akademy has been advised of the possibility of such damages, and on any theory of liability, arising out of or in connection with the use of this software.

The use of the app is done at your own discretion and risk and with agreement that you will be solely responsible for any damage to your computer system or loss of data that results from such activities. No advice or information, whether oral or written, obtained by you from the Fryske Akademy shall create any warranty for the software.


The disclaimer may be changed from time to time.

The data sets on this page can freely be downloaded and used to try out LED-A.

One-word pair example

The Dutch word hart 'heart' is pronounced as [ærtə] in the West Flemish dialect of Oostende (in Belgium) and as [hɑʀt] in the Limburg dialect of Meerssen (in The Netherlands). With the example file the distance between the two respective realizations can be calculated in LED-A. The transcriptions were taken from the Reeks Nederlandse Dialectatlassen (see below).

Nordavinden og sola -- Norwegian
NOS Norwegian
NOS Norwegian coordinates

The data offered here consists of IPA transcriptions of a subset of 20 Norwegian varieties out of a database that contains recordings and transcriptions of 55 Norwegian varieties. This database was compiled by Jørn Almberg and Kristian Skarbø (Department of Linguistics, University of Trondheim) in the period 1999–2002. As a basis the text of the fable ‘The North Wind and the Sun’ was used. The database is online available at a website of the Norwegian University of Science and Technology.

Reeks Nederlands Dialectatlassen -- Dutch
RND Dutch
RND Dutch coordinates

The Reeks Nederlandse Dialectatlassen (RND) is a series of atlasses covering the Dutch dialect area. The Dutch dialect area comprises the Netherlands, the northern part of Belgium, a smaller northwestern part of France and the German county Bentheim. The atlas was compiled by prof. E. Blancquaert and Willem Pée in the period 1925-1982. The RND contains the translations of 139 sentences in 1956 local dialects spread over this entire area. The sentences are translated and transcribed in phonetic script for each dialect. The atlas is online available at a website of Ghent University.

A selection of 360 local dialects is available at the Dutch Language Institute . For 136 local dialects transcriptions are available for a set of 166 words that were chosen from the 139 sentences. For 226 local dialects transcriptions are available for a set of 125 words. The set of 125 words is a subset of the set of 166 words. Standard Dutch and Standard German were added having transcriptions of 166 words each. The data set that we offer on this page includes a subset of 50 local dialects having transcriptions of 166 words each. Additionally, Standard Dutch (SD) is included.

Reeks Nederlandse Dialectatlassen -- Frisian
RND Frisian
RND Frisian coordinates

This data set is another subset of the set that is hosted by the Dutch Language Institute. It contains transcriptions of 48 local dialects in the Dutch province of Fryslân and transcriptions of two local dialects in the Dutch province of Groningen in the area adjacent to the eastern border of the province of Fryslân. Per local dialect 90 words are selected. For the local dialects of Appelscha, Donkerbroek and Tjalleberd transcriptions of two different varieties are included.

Text To Speech -- Germanic
TTS Germanic
TTS Germanic genders

This dataset contains acoustic samples of 20 words in 16 language varieties. The 20 words are: apple, daughter, earth, egg, eye, fish, foot, heart, house, year, knee, milk, name, night, nose, stone, wind, water, word, sun. These words were translated into Danish, Dutch, English, Icelandic, German, Norwegian and Swedish. The translations were entered into ttsMP3.com and pronounced by the following speakers: Mads (Danish), Naja (Danish), Lotte (Dutch), Ruben (Dutch), Nicole (Australian English), Russell (Australian English), Amy (British English), Brian (British English), Matthew (US English), Salli (US English), Hans (German), Vicki (German), Dóra (Icelandic), Karl (Icelandic), Liv (Norwegian), Astrid (Swedish). ttsMP3.com uses external services such as Amazon Polly for Standard Voices. Amazon Polly is known to use concatenative synthesis. See here for the full list of speakers.

In order to use this data set in LED-A, download the two files. After downloading unzip GermanicTTS.zip. This will result in a folder GermanicTTS.zip that contains 16 times 20 is 320 wave files. In order to process them, choose ‘Run’ in the main menu of LED-A, and subsequently choose ‘Acoustic data.’ Under ‘Upload sound files’ browse to the folder GermanicTTS and select all 320 wave files at once. The uploading may take some time. Choose as format ‘variety_item.wav’.

Upload GermanicTTS_Genders.xlsx under ‘Upload table with gender’. This is important since our data set includes both male and female speakers. When the genders of the speakers are known, the differences between the genders will automatically be eliminated by using the function Change Gender in Praat .

Finally, click on Go! The calculation of the acoustic distances among the speakers may take some time. During this process, do not close the browser.

How to install LED-A as a standalone application in Windows
  • The installer provided on this page has been tested under Windows 10.
  • Click here in order to download the installer.
  • Save the installer file in the Downloads or Desktop folder and double-click on it. Then follow the installation procedure.
  • Under Select Destination Location click on Next .
  • Under Select Additional Tasks check Create a desktop shortcut (important!)
  • Under Ready to Install click on Install .
  • Under Installing just wait.
  • Under Completing the LED-A Setup Wizard click on Finish .
  • Now the packages are loaded, which may take a while, especially when running the application for the first time.
  • When loading the packages is completed, your default web browser is openened and LED-A is loaded in the browser.
  • When you closed the app and want to run it again, double-click on the LED-A icon on the deskop.

We thank wleepang for developing and making available the DesktopDeployR framework and Jordan Russell for developing and making available Inno Setup . We thank SuperShiny for explaining how to use both the DesktopDeployR framework and Inno Setup .