Showing posts with label free software. Show all posts
Showing posts with label free software. Show all posts

Friday, August 21, 2026

(Free) Tools for learning Japanese

Recently, I build my own tools to learn Japanese, focusing on how to be able to read Kanji with minimum effort (without writing practice). These tools are listed below:

  1. Kanji-drill: a tool to mimic how Japanese elementary school students learn kanji
  2. Kotoba: learning words in context since language is a collection of words
  3. JLPT: a tool to learn kanji and compound words for JLPT
  4. Wani Kanji: Free tool to mimic wanikani
  5. JED: Japanese-English dictionary with radical, kanji, word, and sentence examples.
Although these apps are intended to be the most effective way to be able to read Kanji without writing, still, manual writing has the biggest impact on learning Kanji. These tools are all free, and currently there is no plan to commercialize them. Feel free to use it and contribute to the development in my GitHub repos. Get the repo at https://github.com/bagustris/<tool-name>.

Since I am also doing research on speech AI, I plan to build AI models to help learning Japanese, e.g., building AI models to detect correctness of pronunciation, vowel devoicing, double consonants, and long vowels in Japanese language learning. One prototype model that can be tried for vowel devoicing is one created by my student hosted on the following Hugging Face space: https://huggingface.co/spaces/Rudy-Ong/ja_vowel_devoicing_detection. 

Thursday, April 23, 2015

SPTK basic operation: .wav, .raw., .short

The Speech Signal Processing Toolkit (SPTK) is a suite of speech signal processing tools for UNIX environments, e.g., LPC analysis, PARCOR analysis, LSP analysis, PARCOR synthesis filter, LSP synthesis filter, vector quantization techniques, and other extended versions of them. It is developed by Prof. Imai and Prof. Kobayashi of Tokyo Inst. of Tech, and currently maintained by Nagoya Inst. of Tech. To install SPTK in Linux and Unix based-OS is easy, download the source file, extract and do the following,

./configure
make
sudo make install

That's all installation process, it will install SPTK in /usr/local/SPTK by default.

Add SPTK path to .bashrc

Now SPTK is installed in our machine, but by default it is (SPTK command) not searchable in our shell/terminal. To make it searchable (instead of use /usr/local/SPTK/bin/command everytime), we can add the path to .bashrc. Open .bashrc with editor (vim/gedit/other) and add the following,
export PATH=$PATH:/usr/local/SPTK/bin
And it's added to our command path, check it by using "impulse -h" in terminal. If done, it will show man pages of "impulse" command.

Remove Header : Convert Wav to Raw

SPTK provide utilities to remove header file in sound recording process by converting wav files to raw files (and we can convert it back to wav file). Here is how,
wav2raw +s data.wav
In current directory, there will be new file data.raw with header file removed. Argumen +s is for short data type, you can check full argument by wav2raw -h. To convert back in wav, use "raw2wav" command.

Convert to Short

To convert data from raw, wav or other format to .short (because mainly processing in SPTK is in .short format) we use command "x2x",

x2x +s data.raw > data.short 
It will covert raw to short, you can try to change other format.

Plot Waveform


Plot waveform in SPTK

Monday, April 13, 2015

How-to: Measure Impulse Response with Aliki

Aliki is software to measure room impulse response. It's free and open source. On a dynamic system, impulse response is its output(response) when presented with a brief input signal (impulse). For room acoustic, impulse response can be used to measure acoustic characteristics like reverberation time, early decay time, later decay time and speech intelligibility.

How to measure room impulse response? Here is how, with a software called Aliki (free and open source).

Impulse response of semi-anechoic room in VibrasticLab

Installation

In Ubuntu, it is easy to install Aliki using apt-get:
sudo apt-get install aliki
It will install Aliki (gui) and its dependencies.

Step-by-step :

Sunday, May 26, 2013

Lessons We Learns From Geeks and Free Software Culture

Benjamin Mako Hill defined the lessons that we can learn from geeks and free software culture as follows,
  1. If a system is fundamentally flawed, stop seeking to reform the system — replace with it a better one; redefine the concept of mainstream.

  2. Free software is an alternative to proprietary software because it throws the entire closed software development model out the window. Microsoft and other proprietary software giants have frantically tried to find methods to combat the free software movement. They remain at a loss because they don't know how to combat an “enemy” so unlike themselves. They can't fight GNU/Linux because GNU/Linux refuses to fight altogether. Like many geeks, I was forced onto the fringes of mainstream culture when I was young. As a result, I've realized that the line between outcasts and rebels is subtle and often purely subjective — at times little more than a difference in attitude. I know the flexibility — and power — that living on the edge can provide. Having been forced out of the game early on, I've come to learn that playing the game is not always prerequisite to winning.
  3. Armed with the power of a community, one can overcome the power of individual or corporation.

  4. RMS reminds us that free software operates around the idea that, “creativity can be a social contribution, but only in so far as society is free to use the result.” The implications of RMS's statement are clearly not limited to the development of software. He states that an inaccessible idea is a useless one. An idea that is allowed to grow, develop, and transform itself through and in a community will go further than one than that is bridled and restrained. A geek battle-cry says that, “information wants to be free.” While I'm not sure that information wants anything, I believe that for human society to realize its ultimate potential, information needs freedom to mature and transform in the presence of other ideas. In most cases, I don't subscribe to a Romantic conception of creation; I do not believe in divine inspiration. I believe that ideas are born from, through, and in the context of a lifetime of knowledge. Free software's power lies in its treatment of artistic and scientific knowledge as the process, creation, and domain of a community. By working within a community and by thinking, acting, and reacting as a community, I know I can be successful in tackling problems larger, more complex, and more powerful than myself.
  5. Destroy the idea of producer and consumer.

    Another reason behind free software's success is the way that it shatters the traditional roles of the producer and consumer. With a free software program, every user can step into the role of contributer or creator for their digital tools. The power of free software is the power of democracy — bottom up solutions are always better than those that work top-down. When I became frustrated with Microsoft Windows, I helped to create my own alternative.