Slate System | Phonetic Pronunciation of 1, 2, 3 & 4-Digit Numbers as Single-Syllable Sounds


2021 Update

After completing the Slate System in 2018, an assignment came along my path which would end up consuming nearly all of my time for the next 2 years. As such, I was not at that time able to devote my energy to memorizing and applying the system as I had wished.

Sometimes the passage of time, though, allows us to look at things with fresh eyes and see the flaws that were too close to us for us to see before. During the process of memorizing and beginning to use the Slate System over the past year, I’ve noticed a few areas that could be improved.

I was reluctant to make these changes to the system since I had already considered it complete and it had been shared here. But now that I’m actually using the system on a daily basis, I feel like these tweaks are essential to making the system more intuitive and consistent.

These changes do unfortunately render the word generator script outdated. The script could possibly be updated if there is sufficient interest.

The 3 updates to the system are:

  1. The Vowel-Consonant numbers of 500-999 are now broken into 2 digit + 1 digit combinations, where the 2-digit number is the consonant and the 1-digit number is the vowel. This is more in alignment with the rest of the system, and, as I came to learn in practice, is much more logical for creating images if a 3-digit image needs to be created from the combination of a 2-digit image and 1-digit image. Yes, the number has to be read almost backwards, but it is easy to do with practice. I had forgotten until rereading this thread that this was how I originally conceived the system, and then later changed it due to feedback.
  2. The r-modified “ah” + r sound (e.g. car, far, par) is now assigned to the 0 vowel instead of the 4 vowel in order to be more consistent with the rest of the system. There were other considerations at play in the original assignment that was chosen, but when all the other 0 vowels are “ah”, and “ah” + r is easily read as “ar”, it’s only natural to keep with the phonetic nature of the system and follow this convention.
  3. The final consonant blends assigned to the 2-digit number in the range of 63-69 have been shifted in order to keep the “zh” sound (as in “beige”) tied to the number 63. This maintains consistency of placement for the zh sound across the 3 and 4-digit numbers. Numbers 64-69 then continue in alphabetic order as before, which also tends to help when memorizing the system.


With 3-digit number systems becoming more prevalent among mnemonists today, 4-digit number systems have become the new frontier for finding possible increases in number memorization speed and retention. The addition of 10,000 images for a 4-digit system presents a daunting proposition. For most people, a 2-digit system will amply suffice for remembering 4-digit numbers. A 3-digit number system is recommendable to a serious mnemonist, but a 4-digit system is only known to have been attempted by a few.

If the sole purpose of learning a 4-digit system is to remember numbers, it may be considered too great a time investment. But when the same system can be used to mentally catalog the precise sounds of English words and names, as well as playing cards and binary number combinations if so desired, it becomes considerably more valuable.

This system provides a framework for the mnemonist and linguist alike to pronounce every one of the 11,110 different combinations of numbers from 1 to 4 digits in length, in a single syllable. It is an expansion on the principles of the Major System for number-consonant conversion, the work of Ben Pridmore and his use of fixed-vowel assignments (see Ben System), and the ideas of Josh Cohen that such systems can be used for linguistical purposes.

System Overview

Every 1 and 2-digit number is assigned a unique phoneme or sound of the English language. These sounds, comprised of vowels, consonants, and consonant blends, are phonetic building blocks for pronouncing 3 and 4-digit numbers. Many of the vowel and consonant assignments will be intuitive to a person already familiar with the Major System. Consonant blends are listed in alphabetical order within their respective sections (Initial Blends, Final Blends, and Other Sounds) and must simply be memorized. The “Other Sounds” of numbers 50-69 are not used elsewhere in the system, but are still of use for language purposes, as discussed later.

The system is designed to incorporate as many syllables of the English language as possible, and by nature will include many non-English syllables as well. As such the system cannot be termed as simple, but every effort has been made to simplify the system where possible. Logical sectioning of the system key and many repeating sequences should greatly aid in learning of the system so that it can be put into practice as soon as possible.


This system has been designed from an American English perspective. Pronunciations used in the system key are based on the Wikipedia pronunciation respelling key. Examples of the pronunciations and their IPA equivalents can be found there.

Standard Vowels

Vowels are assigned to the 1-digit numbers based on the Major System’s predominant approach of matching letter shapes with number shapes. This method encourages the reader to visualize the numbers as letters, and thereby facilitates phonetic reading of the numbers.

To understand vowel assignments, it is necessary to consider how numbers are commonly substituted for vowels in English-speaking cultures, such as on license plates and the internet (see Leet). The number 3, for example, bears strong resemblance to the letter E, and thus is commonly substituted for the letter E. When placed between two consonants, the letter E generally makes the “eh” sound.

The chosen vowel assignments conveniently coincide with an overall phonetic division of two parts: Numbers 0 through 4 can be visualized as capital letters with short vowel sounds. 5 through 9 can be visualized as lower-case letters, sometimes with a macron (horizontal line) above them, and are long vowel sounds.

0 “ah” /ɑː/ The 0 undoubtedly resembles a capital O, and is commonly substituted for an O in popular culture. Between two consonants, an O generally makes an “ah” sound as in “H0T” or “T0P”. Closely-related “ah” or “aw” vowel sounds are merged into this vowel, see cot-caught merger.

1 “ih” /ɪ/ The 1, characteristically defined by its single vertical line, and sometimes accompanied by a serif at the top and horizontal line at the bottom, looks much like the capital letter I, and for this reason is commonly substituted for the letter I in popular culture. Between two consonants, an I will usually make an “ih” sound like in “B1D” or “G1N”.

2 “uh” /ʌ/ The 2, when turned 90 degrees clockwise, resembles a U, much like the way the number 2 can be rotated counter-clockwise to resemble the letter n in the Major System. Found between two consonants, a U often makes the “uh” sound as in “F2N” or “N2T”.

3 “eh” /ɛ/ The number 3 is nearly identical to the capital letter E when flipped on its vertical axis. In English, an E between two consonants will generally make the “eh” sound as in “M3N” or “Y3T”.

4 “a” /æ/ The 4 bears strong resemblance to a capital letter A. When placed between two consonants, the A will make the “a” (æ) sound as in “C4T” or “S4M”.

5 “oh” /oʊ/ The 5 assignment may be the most imaginative of the vowel assignments in this system, but can be readily seen by mentally shifting the 5’s vertical line downward to close the open circle. The result is a lower-case o with a macron above it (ō), which is how English dictionaries often denote the long “oh” sound as in “h5me” or “p5le”.

6 “ay” /eɪ/ The number 6, when flipped on its vertical axis, looks strikingly like a lower-case a. The long a (ā) sounds like “ay” as in “g6me” or “r6te”.

7 “eye” /aɪ/ The 7 can be seen as a lower-case i with a macron in place of the dot (ī). The long i sounds like “eye” as in “t7re” or “k7te”. A 7 can alternatively be visualized as the two strokes of a y, which can also make the long i sound.

8 “oo” /uː/ The number 8, when turned sideways, looks very much like two o’s side-by-side. Naturally this would correspond with the English “oo” (ōō, see The American Heritage Dictionary pronunciation key) sound as in “b8t” or “s8n”.

9 “ee” /iː/ Like the 3 and the 6, the number 9 needs only to be flipped on its vertical axis to look very much like a lower-case e. The long e (ē) sounds like “ee”, such as in “m9te” or sc9ne”.

Special Vowels (updated)

An r sound after a vowel sometimes modifies a vowel’s pronunciation. To account for this phenomenon, pronunciations for each of the r-controlled vowels are explicitly given in the system key. The decrease in possible vowel sounds when they are controlled by an r affords us the opportunity to include three more sounds in the system: “oy” as in toy, “uu” as in book, and “ow” as in cow. These three sounds can be found in isolation, represented by 541, 542 and 544 respectively, or ending with certain consonants in the 900-999 range.

Standard Consonants

The twenty most common English consonant sounds are divided in the system into two classes. The primary class, assigned to 00-09, are the consonant sounds most strongly associated with their assigned numbers in the Major System. This is usually the first listed sound next to a number in most versions of the Major System, and generally coincides with a similarity of the letter to the number shape. Resources specific to the Major System can be consulted for further understanding on these assignments. The secondary class of consonant sounds, assigned to 10-19, include many of the alternate sounds for each number in the Major System, as well as some additional sounds.

The primary class of consonants are the same whether they are at the beginning or end of a syllable. The secondary class of consonants contain two letters, h and w, which are more useful in the system as initial consonant sounds than final consonant sounds. For this reason, h and w are replaced by ng (as in “hang”) and zh (as in “measure”) when ending a syllable.

Consonant Blends

The breadth of a 4-digit system allows for inclusion of many initial and final consonant blends commonly found in the English language. For the sake of simplicity these blends are assigned within their section in alphabetical order. Attempt has been made to place the most frequent of these sounds in the Initial Blends and Final Blends sections, leaving the Other Finals section to include any extras.

For as many available combinations of numbers as there are in this system, there is still not enough room to accommodate every type of consonant blend without vastly increasing complexity. Because of this, final blends are omitted from the 4-digit section of the system key. Since it may generally be more important in the recall of words and names to know the first part of a syllable’s sound, preference is given to the initial consonant blends in the 4-digit section.

Artificial Language and Code

The idea of converting words into arrangements of non-standard symbols has been around for millennia. Applying this principle to mnemonic number systems has been discussed by Josh Cohen and again recently by Dale Oliver.

For purposes of remembering actual words or names, for additional practice, or for mere enjoyment, this system can be used as an artificial language or code for English with a high degree of precision. The pronunciation of any English word can be closely approximated, if not wholly replicated, by a short series of numbers. In addition to the spaces and punctuation marks already used in the English language, only a single symbol is needed to clarify the separation of sounds within words. The inobtrusive apostrophe (‘) may be well-suited for this purpose.


Hello, how are you today?

1235’5, 1204 544 498 5181’6?

Cards and Binaries

A 4-digit system can easily be adapted for other memorization interests such as for remembering the order of playing cards or strings of binary numbers. For example, a 1-card system can be made by assigning an existing 2-digit number image to each of the 52 playing cards. A 2-card system can be made by assigning existing 4-digit number images, corresponding to two 2-digit numbers side-by-side, to each of the 2,704 different 2-card combinations. A similar system of reusing 4-digit number images can be devised for combinations of ones and zeros. Anyone particularly interested in these disciplines is welcome to contribute ideas on how to best adapt the system for these uses.

Image Generation

Considering the large scale of this system, it seems prudent for the user to expend the least possible amount of effort in selecting images to correspond with each number. At the same time, it would be senseless to assign random images to all the number combinations when many of them, by virtue of their particular pronunciation, will invoke a particular image in the user’s mind.

To speed up image selection, the user can be presented with a list of possible word candidates for each number. This can be accomplished programmatically using phonetic dictionary resources like the Carnegie Mellon University (CMU) Pronouncing Dictionary. As stated on their site, the CMU dictionary “is an open-source machine-readable pronunciation dictionary for North American English that contains over 134,000 words and their pronunciations”. It uses 39 phonemes based on ARPABET pronunciation to convert English words into their corresponding sounds in General American English.

Thanks to Mnemoriam, a word-generating program for the system is now available! A user can enter any number from 1 to 4 digits in length and see possible matches from the CMU dictionary. See section on Word Generator below.

When all user-defined or script-suggested image selections have been exhausted, it may then be necessary to assign random images to the remaining numbers. This is, of course, the last resort, but needful to complete the system assignment phase in a timely manner so the user can move on to memorization and fluency of system images.

Word Generator (needs updating, see 2021 update above)

Mnemoriam has generously created a script for automatically generating words that match the pronunciation of numbers in the system.

Here are instructions for running the program on Windows computers:

  1. Install Python 3.
  2. Download the .py and .txt files from this link
  3. Create a convenient folder on your local drive such as C:\slate and put the .py and .txt files in that folder.
  4. Go to the Start menu and type cmd [Enter] to launch the Command Prompt.
  5. In the Command Prompt type cd C:\slate [Enter] or similar, according to the name of the folder you created, to change directory to that folder.
  6. Type python [Enter] to launch Python at that directory within the Command Prompt. If you don't see the current version number of your installed Python, then you may need to perform a web search on how to add Python as a PATH Environment Variable on your system.
  7. Type import slate [Enter]
  8. Type slate.convert("3961") [Enter] and you should see ['S', 'L', 'EY', 'T'] with matching words. Modify the number in quotations to search for other numbers.
  9. To modify the standard limit of 30 words, use a comma followed by the desired number within the parenthesis. E.g. slate.convert("0",100) will give one hundred matches for the "ah" sound of the number zero.
Search results are prioritized with shorter words with the desired phonemes closer to the beginning of the word appearing first. The numbers preceding each word in the search results correspond to this ordering.


The system is now complete and no longer under revision. Enjoy!



This is a fascinating system with HUGE potential. I can hardly fathom the amount of work you had to put in to get this done – Congratulations!

LIke you said, it can be “easily” applied to competition-geared systems or simply to everyday-usage systems, but what really interests me (for now) is how seamlessly it merges with the concept of “mnemotechnic word”, as Josh reminded us in this thread.

I have been toiling with the idea of associating descriptive sentences to mnemonic images in order to enrich them with relevant numbers (dates, amounts, etc.). I have always thought that adding number-images to a mnemonic scene hampers proper decoding and highly tangles everything. To be clear, I am not talking about creating a mnemonic scene composed only by number-images, say, a scene to remember a phone number. This is perfectly fine. But when you are trying to come up with a scene that summarizes a chapter, or a session of a book, or just any piece of subjective information for that matter, adding numeric information is a real ordeal (at least, to me). That’s where “mnemotechnic words” (I wish someone would come up with a better term) and your system come greatly in hand.

I believe the Major System was a huge breakthrough for mnemonic techniques, but we all know it’s not perfect. There is a lot of ambiguity which can be good or bad depending on the situation. If you want to quickly remember a number, having many options for each digit makes it easier to come up with words (19 can be dab or tuba or dip or tip), but when you want to do the inverse and decode a number into an exact word, you may run into problems. Of course, you can always rely on your natural memory, but the whole idea of the Art of Memory is to substitute artificial memory in its place, or is it not? Your system allows numbers to be unequivocally decoded.

Moreover, having to remember 4-digit numbers is very common in our lives: dates, half-phone numbers (at least, where I live), the top-most limit of any everyday financial calculation (at least, based on the contents of my wallet), encoding “Part-Chapter-Subchapter” for remembering books, etc. When adding numeric information to mnemonic scenes, image economy is a huge help. Granted, finding nice images for each of the combinations of your system will not be easy, but the same occurs with the Major System, with the added disadvantage that you can hardly pronounce the set of letters when they don’t. Your system allows one to create very nicely pronounced random non-existent words, which in turn allows one to come up with similar sounding words or even to use these words themselves as reminders (a long time ago I came up with “grubs” and “flinnons” as random placeholders words to use in programs, just as “foo” and “foobar” are, and now they are literally part of my vocabulary; eventually, I learned that grubs are actually larvae, which kind of disappointed me, but flinnons is still one of a kind!).

I have a few technical questions regarding your system, but I’ll devote some more time to it first before disturbing you, and before this post becomes too long.

Apart from that, again, CONGRATULATIONS!


1 Like

Thanks M! As you know it’s been a process to arrive at the present system, and thanks in part to your support and suggestions along the way! I think it’s finally close to usable now, pending any suggestions that you or others on the forum might have.

It has been a rather quick process, in fact, when one fathoms the amount of work and the complexity involved.

For now, there is only one technical question I would like to pose: What was the thought process that led you to that “inversion” solution that you used for the numbers 500-999? That’s the one aspect of your system that I wish could be changed if we lived in a fantasy world. It is really nice to be able to actually “read” the numbers, which is something your system provides really well as a default; that inversion hampers this a bit, it seems.

Any further clarifications would be greatly appreciated.



I agree with your sentiment that in a fantasy world it would be nice to not have to do the inversion to read these numbers. Here’s how I arrived at the inversion approach:

The system is as much a system for sounds as it is for numbers. Learning images for every number up to 4 digits in length not only helps with remembering numbers, it provides instant images for remembering words and names encountered on a daily basis. Oftentimes the sound that is most important to remember to recall a name or word is the first syllable. The 4-digit section of the system covers a generous 10,000 of these possibilities, all beginning with a consonant sound and ending with a consonant sound.

But sometimes that first syllable is very short, or maybe the word itself is very short, and doesn’t include an ending consonant. Consider common CV (consonant-vowel) words in the English language like tea, tie, toe, knee, dough, bee and pea. Surely a system containing over 11,000 images has a place for these most basic of sounds and images! Indeed, the 3-digit numbers are the most intuitive place for these sounds, being 1 vowel sound and 1 digit longer than their 2-digit counterparts, and 1 consonant sound and 1 digit shorter than their 4-digit counterparts.

There are not enough common initial consonant sounds in the English language to fill up a full one-thousand 3-digit numbers with these CV sounds. And that’s good, because our system of sounds is not complete without their counterpart, the VC (vowel-consonant) sounds. Many words, short or long, begin with a vowel sound, not a consonant sound. In such a large system, there must be a way to succinctly remember basic VC sounds like ant, art, elf, egg, arm, ice, and ark. With the 4-digit part of the system already being full, divided into two mirrored halves, and with the first half of the 3-digit section being allocated to CV syllables, the only remaining and logical place for the VC sounds is in the 500-999 range.

While it’s true that you could code the VC syllables as combinations of 1-digit vowel images and 2-digit consonant images, it seems unreasonable to need to resort to linking two images together to remember such short sounds when the 4-digit section allows for single images to store more complex CVC sounds.

Now that we’ve established the need for single-image VC sounds and the logic for them being placed in the 500-999 section, we need only to understand how they fit there. There are 10 different standard vowels in the system, 0-9. But the first digit of the available 500-999 range is a 5, not a 0. Which means reading the numbers left-to-right as normal would only allow for half of the vowel sounds to be used, and a full hundred final consonant sounds to be available, neither of which are possibilities.

Numerically the only way for the VC sounds to fit in the 500-999 range is if the second or third of the 3 digits represents the vowel sound. It seems a bit odd to break up the 2-digit number corresponding to the final consonant sound and place the vowel in between, so instead the vowel can go at the end. 2-digit final consonant sound followed by a 1-digit vowel. But the vowel is pronounced first. Strange? A little. But not as difficult as it may at first seem.

Take, for example, the letter A in English. We read the words lame, lamb, and llama without hesitation, yet the A in those three words is pronounced differently in each case. The reason is that we’re looking at the word as a whole, not at individual letters. Just the same, in this system the user’s mind becomes trained to check the first digit of a 3 or 4-digit number. Depending if the first digit is 0-4 or 5-9, it will have bearing on how the number is pronounced. In the case of 4-digit numbers, a 0-4 first digit means the last digit will be a primary consonant ending. A 5-9 first digit means the syllable will end with a secondary consonant sound. For a 3-digit number, a 0-4 first digit means the number is pronounced normally left-to-right. But a 5-9 first digit means it will be pronounced with the third digit vowel sound first.

From what I can tell the only viable alternative to the VC pronunciation inversion technique is to not include the VC syllables at all. But as mentioned earlier, it hardly makes sense to not have single images for these common short sounds, when more complex sounds are being accounted for with a single image in the rest of the system. So I feel the solution is to retain the VC syllables in 500-999 and simply learn to read them in their own special way, with the third digit pronounced first.

Thank you for this very thorough explanation. It’s hard to try and criticize or contribute anything to such a well-thought-out system.

That said, I still think I’d prefer that you would swap the columns of the 500-999 numbers, but that’s just me. I could do it myself when trying to learn your system. Although it would “visually” make it less symmetric, it would be just one more change in the assignments of consonants and vowels, whereas the way it is right now the system has an “inconsistency” in the very foundation of how it should be used, meaning, read from left to right like English and Arabic numbers are read.

We already need to get acquainted with the fact that, i.e., 50 as a 2-digit number is “dw” and when not it is “s”. I’d rather memorize that when it is the beginning of a 3-digit number it becomes the vowel “ah” than to read the number invertedly – this is pretty hard to me, I think.

But, anyway, this is a minor glitch much more due to my own idiosyncrasies than to anything related to your system.

How is your memorization of the system going?


Oh, that’s very clever! Great work! The four-digit system is similar to the kind of thing I’ve tried to create in the past, but I could never quite get it to all come together. I really love yours; changing the final consonant for the second half of the list is a great idea, and it’s the kind of thing that should come naturally with a bit of practice.

I’ll try to create images and use the system, if I ever find the time and energy. Thank you!

1 Like

No, it’s not just you and your ‘idiosyncrasies’! Please forgive me, it’s my slowness to understand, but now I understand more clearly what you’re suggesting. I think swapping the two columns would be the way I had it in earlier versions of the system, but somehow I had come to the conclusion that it wasn’t as symmetrical.

However, I’m looking at this again now, after taking a break from this for a few days (probably a good thing), and I don’t see a compelling reason not to swap the pronunciations of the two columns as you suggest. Besides the significant benefit of then being able to read the numbers left-to-right (I never ‘liked’ the inversion either though I thought it was needed), there is actually another benefit I hadn’t noticed until now. Numbers of the same decade, like 560-569, will all start with the same sound/phoneme, “ay”. This is much like the first half of the 3-digit system where numbers of similar decades also start with similar sounds, e.g. 140-149 all start with the “th” sound.

So if I make this change will you write a script for the CMU dictionary? Ha! But really, I will probably make this change in the system shortly, unless I find any reason otherwise.

Regarding memorization, I’ve not memorized the system yet on purpose so as to keep myself open-minded to any changes such as this. I’ve also wanted to see if there would be any input for consonant blends, because they’re in alphabetical order and any change to them could alter their number assignments.

Ben your 3-digit system has been hugely inspiring to make this system, so thanks to you! I hope to get this one ‘finalized’ before long so if you have any recommendations for changes please feel free to share.

I hadn’t noticed that either. That would be really nice for dates.

That one was below the belt :slight_smile:

Per @Mnemoriam’s suggestion, the system has been updated to simplify the vowel-consonant syllables (500-999) so that those numbers can also be read left-to-right.

Hi, Slate

Thanks to Python, I think this will be easier than I thought. So, I guess I don’t have much of an excuse, do I? :slight_smile:

I think I got the most important part of it already:

Given a sequence of phonemes (which, in turn, will be given by a simple lookup based on the number-phoneme assignments), I can already extract all the entries of the CMU Pronouncing Dictionary and sort them first based on “distance to start of word”, then based on length (I decided to calculate length based on the actual ARPABET phonemes list instead of the number of letters in the word, which I think makes most sense).

So, for a number corresponding to, say, the list [‘IH0’, ‘K’, ‘S’, ‘P’, ‘L’, ‘AO1’] (which I know no single 4-digit number will yield, but just as a simple example), the program returns:

(0, ‘explore’, [‘IH0’, ‘K’, ‘S’, ‘P’, ‘L’, ‘AO1’, ‘R’], 7)
(0, ‘explored’, [‘IH0’, ‘K’, ‘S’, ‘P’, ‘L’, ‘AO1’, ‘R’, ‘D’], 8)
(0, ‘explorer’, [‘IH0’, ‘K’, ‘S’, ‘P’, ‘L’, ‘AO1’, ‘R’, ‘ER0’], 8)
(0, ‘explores’, [‘IH0’, ‘K’, ‘S’, ‘P’, ‘L’, ‘AO1’, ‘R’, ‘Z’], 8)
(0, ‘explorers’, [‘IH0’, ‘K’, ‘S’, ‘P’, ‘L’, ‘AO1’, ‘R’, ‘ER0’, ‘Z’], 9)
(0, ‘exploring’, [‘IH0’, ‘K’, ‘S’, ‘P’, ‘L’, ‘AO1’, ‘R’, ‘IH0’, ‘NG’], 9)
(0, ‘exploratory’, [‘IH0’, ‘K’, ‘S’, ‘P’, ‘L’, ‘AO1’, ‘R’, ‘AH0’, ‘T’, ‘AO2’, ‘R’, ‘IY0’], 12)
(0, ‘exploravision’, [‘IH0’, ‘K’, ‘S’, ‘P’, ‘L’, ‘AO1’, ‘R’, ‘AH0’, ‘V’, ‘IH2’, ‘ZH’, ‘AH0’, ‘N’], 13)
(2, ‘unexplored’, [‘AH2’, ‘N’, ‘IH0’, ‘K’, ‘S’, ‘P’, ‘L’, ‘AO1’, ‘R’, ‘D’], 10)

Note the beginning and ending numbers in each row. These are, respectively, the index (location) of the beginning of the desired sub-list within the full word-list of phonemes, and the length of the full word-list of phonemes. I let them there in the output just for your examination (know that any list starts at index=0 in Python).

Based on my understanding of the problem, what we need now is to:
1 - Hard-code your system-key table;
2 - Create a lookup function to allow retrieval based on numbers instead of list of phonemes;
3 - Make any necessary consolidation of sounds such as the “cot-caught merger (AA and AO)”;
4 - Disregard the lexical stress markers (0, 1, 2);
5 - Maybe add more dictionaries.

I think that’s a good start. I’ll call it a day today and wait for your considerations.


Mnemoriam, Thanks for looking into this further, this is a great start! Your sample with index numbers and phoneme counts looks right on target.

To help with the first three items on the to-do list, I’ve created a new tab in the system spreadsheet with an equivalent version of the system using the CMUPD edition of ARPABET. You’ll see that the most mergers occur in the list of italicized vowels.

The CMUPD doesn’t use the 2-letter ARPABET version of the schwa (AX for ə), and instead uses an unstressed version of the AH (uh) vowel: AH0. This is sensible because “ə” is pretty close to “uh”. This presents a special case for the script, however, because generally lexical stress markers should be ignored, as you stated in point #4. I suggest still ignoring the stress numbers for the AH vowel everywhere else in the system, and only singling out the AH0 vowel for the 2-digit numbers.

Regarding point 5 it would be great to add more dictionaries, and I would be particularly interested in adding a Spanish dictionary. But if we can get a script for English CMUPD up and running first, that would be most helpful!

Let me know if there’s more I can do to assist you.

The system has been updated with a significant reordering of consonant blends. It was easier than I expected to get approximate numbers for frequency of consonant blends in the CMU dictionary by simply using the web browser’s search function. Based on those numbers the consonant blends have been reassigned to give the more frequent blends higher priority. They are still ordered alphabetically within each section of the system key.

EDIT (again): Additional edits have been made to the above order, since basic searches for phoneme frequency don’t always result in the best phonemes for initial blends. As in former versions of this system, many of the -s and -z endings have been deprioritized to the “Other Finals” section because they are often associated with pluralized versions of words. In addition, care has been taken to avoid groupings of like consonant blends of like first letters spanning across sections of 10 as much as possible. This helps with intuitive pronunciation of the numbers and memorization of the system key. Additionally, all of the numbers in the 900s range now employ the special r endings, instead of a mixture of regular and r endings.

The first two assignments of the “Initial Blends” section are NOT part of the alphabetical order intentionally because “y” and “dh” (as in “this”) are not really consonant blends like the rest of the section. They fit more with the consonants of 00-19, so it’s logical for them to immediately follow that section as 20 and 21.

The ‘ng’ and ‘zh’ sounds are assigned to the ‘Other Finals’ section regardless of their frequency, because they are already part of the secondary consonant endings in the 4-digit section, and need only to be in the 2-digit section for the sake of being available as their own distinct sound.

To simplify the system, I’ve abandoned the idea of incorporating the schwa (ə) sound. The CMU dictionary considers the schwa to be an unstressed version of the ‘uh’ sound (AH0), which should be sufficient. This can be considered a merger like the cot-caught merger for the ‘ah’ sound. 3 initial consonant blends of low frequency (shr, skw, spl) have also been removed from the 50-69 range so that this section can be occupied completely by final blends. In reality the 50-69 is of little consequence to the rest of the system, and could be assigned to a myriad of sounds. In the absence of a better idea, the other final consonant blends can occupy this range.

2-digit numbers can be pronounced as the user deems appropriate. It may be easier to pronounce 00-49 with a slight vowel sound afterward because they are initial sounds, and conversely to pronounce 50-99 with a slight vowel sound beforehand because they are final sounds, but in reality they are just consonant sounds or phonemes without any vowels attached. It is also of note that the ‘st’ sound appears twice in the system. This is intentional since ‘st’ is both a very frequent initial and final consonant sound. Pronouncing them something like “əst” and “stə” can help differentiate them, and of course their images would be different.

The system is now complete! Mnemoriam has been of inestimable help by providing feedback along the way, and having now created a script for searching for any number in the CMU dictionary! This word-generating program is highly useful for finding word matches for any number, and particularly the 4-digit numbers. Anyone wishing to use the program can follow the instructions in the first post.

For my personal use I am now working to fully memorize the system. I’m using my existing system of images for 1 and 2-digit numbers based on number associations to memorize the associated phonemes for each number. For example 22 is “bl”, so I think of Louis Armstrong blasting his trumpet. 37 is “skr”, so I think of Amelia Earhart screaming over the loud sound of her plane’s engine.

I will be working on adding and reviewing images in an Anki deck every day. With 11,110 images to learn, it’s necessary to become quick at choosing images. This is where Mnemoriam’s word-generating script will be very helpful, as well as powerful SRS-type memorization tools like Anki. This Anki add-on is quite useful for pulling images from Google Image search without needing to take extra time to resize the image.

Hey Slate, this looks like a terrific idea! I’ve just skimmed through your post, but it’s honestly got me interested in memorizing your system. It seems dead useful, and I particularly like that words can be approximated.

I’m going to give it a go and try to learn a 3-digit system. Also, Mnemoriam, great work on the word generator! It’s a great program(I’ve looked at the source code and the fact that you call it easy frankly makes me feel inferior). If you don’t mind, could I attempt to add another dictionary if I find one? I doubt I’m going to find another prononciation dictionary that conviniently happens to be machine-readable, but I’d like your permission on the off-chance that I do.

Hi, nkp

You and Slate almost make me feel like a real programmer :slight_smile: Really, the program is ugly and amateur as hell, but it allowed us to “solve” the problem in the limited time I had available, so I am glad to have been useful.

I don’t know if you are talking to me or Slate here, but I am pretty sure I can speak for him too on this matter. As far as the code is concerned, please, it is YOURS (and everybody else’s), so use it, modify it, share it, do whatever you want with no attribution of any sort needed (only don’t sell it, of course).

With respect to adding another dictionary, I am sure Slate will love the idea that someone would be willing to do that. I myself think the system deserves it, for sure. Feel free to contact me if you need any help, but, like I believe I’ve hinted above, I’ll be very busy in the near future to actually get my hands dirty. But it is my pleasure to help in any way if I can. I am quite positive that Python’s Natural Language Processing Toolkit (NLTK) has a number of other dictionaries available, including different languages, so I’d start there if I were you; that’s where I got the CMUDict, anyway.

Best of luck and welcome to the site!

Thanks nkp, glad you like it :slight_smile: I would certainly welcome any contributions to making the system more accessible, and I’m glad Mnemoriam has already welcomed you to modify the code that he has written.

In devoting my attention now to learning and using this system with Anki, I’ve realized there’s a need for good flashcards. If you’re serious about learning the system, I would think you’d find a good set of Anki flashcards quite useful as well.

It’s simple enough to make a CSV file with the 11,110 numbers in one column and import that into Anki so that there is an Anki note (card) for every number. Adding an image to every one of those numbers within Anki is then a straightforward process of entering each number in the Word Generator to see matching words, and then performing a Google Image search of those words to choose an image. Images can be copy/pasted with resizing very quickly using the add-on I mentioned in post 15.

Adding TTS (text-to-speech) audio to the Anki flashcards is something I feel would greatly enhance their effectiveness. Since every number is uniquely and precisely pronounceable, becoming fluent in the Slate System is really like learning the vocabulary of a new language. In my experience of using Anki for foreign-language vocabulary, hearing the spoken audio for words greatly enhances recall. I feel now that this is a feature that should be all means be included in an Anki deck for this system for those who are serious about learning it.

There is an Anki plugin called AwesomeTTS for converting text to speech within Anki. However, in order to have accurate TTS pronunciation of each single-syllable number, I believe it will be necessary to feed the actual phonemes to a TTS engine. This page regarding Microsoft’s speech engine may be useful for understanding the required syntax for doing the TTS conversion.

What do you think?

AwesomeTTS sounds useful, I’ve installed it in Anki and I’m already working on assigning images to each number. I’m actually stuck in a conundrum there. Selecting an image for 3-digit and 4-digit numbers is simplicity itself. For example, 1235 conveniently becomes ‘hell’. However, I’m having difficulty choosing images for the single digits. 7 becomes ‘eye’ easily enough, but it’s difficult to choose images for the other 9 without ‘encroaching’ on other number-image assignments. 4 could become ‘arm’, but it would interfere with 945 which literally spells out arm. The lack of single vowel words makes it hard to choose appropriate(and memorable) ones.

I don’t know if I’m missing an obvious solution here, but any insight would be appreciated. (Just to clarify, I consider arbitrary assignment a last resort)

Yes, my solution for the issue you describe is to use another association-based system of images for 1 and 2-digit numbers. Since the assignments of this second system aren’t based on phonetics but rather historical information, there isn’t a problem of a second phonetic system interfering with the Slate phonetic system. It does, of course, require memorization of 110 images without the aid of phonetics, as well as practice in referring to them by their Slate pronunciation. For example 23 is an image of Michael Jordan, but is referred to as “br”. So I make a little mnemonic for myself connecting the word “bro” with MJ like a nickname that might be used for a basketballer. Since I use an image of Roger Federer for the number 6, and 6 is pronounced “ay”, I think of Roger Federer being a tennis ace to remember this association.

Beyond the 1 and 2-digit numbers there are still going to be a lot of numbers that don’t have a matching word in English. A full third or so of the numbers in this system don’t have a match based on the preliminary analysis that Mnemoriam did when he wrote the word-generating code. For this reason I would only recommend this system to someone who does want to learn all the 4-digit numbers in addition to 1, 2 and 3-digit numbers.