Jump to content
Learn Chinese in China

  • Why you should look around

    Since 2003, Chinese-forums.com has been helping people learn Chinese faster and get to China sooner. Our members can recommend beginner textbooks, help you out with obscure classical vocabulary, and tell you where to get the best street food in Xi'an. And we're friendly about it too. 

    Have a look at what's going on, or search for something specific. We hope you'll join us. 

`pinyin_drill` open-source command-line pinyin drill program

Recommended Posts


If you are a fan of practicing their pinyin, open-source software, and the command-line then you may be one of the select few interested in a new pinyin drill program I recently wrote.  `pinyin_drill` is free/libre software released under a GPL (version 2 or higher) license available for download (and forking) at Github.com:  https://github.com/trevorld/pinyin_drill


Compared to some other pinyin drill programs I've seen ``pinyin_drill`` has a very rich set of filtering options to allow you to fine-tune what pinyin you want to practice.  It also has some support for drilling erhua and interjection syllables.  It allows you to use your own hand-picked Mandarin audio or alternatively I've assembled a couple "Collective Works" of Creative Commons licensed Mandarin audio you could download and use. 


There are several audio filtering examples available at https://github.com/trevorld/pinyin_drill#examples but here is a taste of the kind of pinyin drills supported by `pinyin_drill`.


For example if you only want to drill the recognition of x, q, sh, ch initials used in single syllables you would use:

bash$ pinyin_drill --initial1=x,q,sh,ch --nsyllables=1

If you like to drill your pronunciation of the zhi, chi, shi, ri in single syllables you would use:

bash$ pinyin_drill --display_pinyin_first --pinyin1=zhi,chi,shi,ri --nsyllables=1

The above request could alternatively be written by:

bash$ pinyin_drill --display_pinyin_first --final1=r --nsyllables=1

If you want to drill the pronunciation of dian versus dianr (in any syllable) you would use:

pinyin_drill --display_pinyin_first --pinyin=dian,dianr

If you only want to drill the recognition of u, ü, u, and ü finals in single syllables you would use:

bash$ pinyin_drill --final1=u,v,un,vn --nsyllables=1

If you want to drill the recognition of the tones in two-syllable combinations you would use:

bash$ pinyin_drill --nsyllables=2

If you want to drill producing two-syllable combinations starting with a second tone and ending in a first tone you would use:

bash$ pinyin_drill --display_pinyin_first --tone1=2 --tone2=1 --nsyllables=2


Share this post

Link to post
Share on other sites
Site Sponsors:
Pleco for iPhone / Android iPhone & Android Chinese dictionary: camera & hand- writing input, flashcards, audio.
Study Chinese in Kunming 1-1 classes, qualified teachers and unique teaching methods in the Spring City.
Learn Chinese Characters Learn 2289 Chinese Characters in 90 Days with a Unique Flash Card System.
Hacking Chinese Tips and strategies for how to learn Chinese more efficiently
Popup Chinese Translator Understand Chinese inside any Windows application, website or PDF.
Chinese Grammar Wiki All Chinese grammar, organised by level, all in one place.

Join the conversation

You can post now and select your username and password later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Click here to reply. Select text to quote.

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...