praat
SPTK
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
praat
-
Praat: Doing Phonetics by Computer
This brings back memories.
I worked my way through some of its source code many years ago during my post-graduate studies and it was very _strange_. I see it is now on GitHub [0].
They used C macros to implement object oriented programming, with symbols like `me` and `my` and `thee` scattered throughout the source code. It seems the code has been converted to C++ (IIRC it used to be in C), but I still see the `my` keyword in there.
They have their own BASIC-like scripting language. The weirdest property for me was that it allowed for whitespace in the identifiers. Just look at the example in [1]: The `Create simple Matrix` is actually a function in the scripting language that constructs a matrix object. The function name corresponds to a menu item and IIRC they used some more preprocessor magic to reuse the same code for the menus on the GUI and the functions in the scripting language.
I don't think you're supposed to write the scripts by hand. Rather it recorded your actions as you worked your way through the GUI and then you could export and modify those recordings as scripts.
They also implemented their own cross platform GUI toolkit rather than using one of the existing cross-platform GUI toolkits, so it works on Windows, Linux (or any X Windows I believe) and MacOS.
[0]: https://github.com/praat/praat
-
Yllish knots are recorded sound, not written language
IPA is great, but even it fails to perfectly transcribe the subtleties of sound. Everyone has their own unique auditory space — your schwa is not the same as mine. Think about the range of sounds that could reasonably transcribed as a certain vowel or consonant, you can use a tool like Praat (https://github.com/praat/praat) to visualise it.
-
"point number too large" error in Praat
I wrote a script that worked beautifully on all of my test files (yay!). When I went to run it on all 240 real files, it kicked up this error on file 6. I am measuring VOT by having two point tiers - one marking the burst and one marking the onset of voicing. The script is just doing simple subtraction. I thought, maybe this is a negative VOT and Praat doesn't like that for some reason, but I checked and that is not the case. When I Google the error, I just get a script written by Paul Boersma that has this line in it, but I am not sure what it is doing there (https://github.com/praat/praat/blob/master/fon/praat_TextGrid_init.cpp).
-
Porting some c++ code
From here
SPTK
-
From Julia to C++ Struggle
For LinAlg https://eigen.tuxfamily.org/ is pretty popular. For speech signal processing one option is https://github.com/sp-nitech/SPTK
What are some alternatives?
julius - Open-Source Large Vocabulary Continuous Speech Recognition Engine
Fastor - A lightweight high performance tensor algebra framework for modern C++
SpeechLoop - Many ASRs under one roof. With Benchmarking... answering the question. What is the best ASR for my dataset?
conan - Conan - The open-source C and C++ package manager
r8brain-free-src - High-quality pro audio resampler / sample rate converter C++ library. Very fast, for both audio resampling and time-series interpolation.
Google Test - GoogleTest - Google Testing and Mocking Framework
faust - Functional programming language for signal processing and sound synthesis
Catch - A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
q - C++ Library for Audio Digital Signal Processing