User:Vermont/Meow-speak

Meow-speak
Project of the Linguistics Department of the Wikimedia Cuteness Association
PurposeCommunicating with super-intelligent but vocally-limited cats
Other namesC(r)at chat
Version 1June 19, 2023 (deprecated)
Version 2June 21, 2023 (current)

Meow-speak is an advanced constructed writing system, an alternative to the English alphabet, where text is represented with some combination of cat noises. The goal of this project is to aid in communication for the friendly plushies of the Wikimedia Cuteness Association. Code on GitHub.

Meow-speak 1

edit

In the first generation of meow-speak, each character is converted to a 6-bit binary number (so, max 64 characters), then to either "meow" for 0 or "mew" for 1. Because of this exceptionally limited vocabulary, it results in exceptionally long translations.[1]

For human readability,[2] there are two exceptions to the "meow" or "mew" vocabulary limit: end-of-sentence punctuation, and spaces between words. End-of-sentence punctuation is capitalized, and is "mreow" with varying numbers of e's: one for a period, two for a question mark, three for an exclamation mark. Spaces are "mau", and every message starts with "Mau".

Automatic translator on GitHub.

Examples
English Meow-speak
Hello world Mau meow meow mew meow meow meow meow meow meow mew meow mew meow meow mew mew meow meow meow meow mew mew meow meow meow meow mew mew mew mew mau meow mew meow mew mew mew meow meow mew mew mew mew meow mew meow meow mew meow meow meow mew mew meow meow meow meow meow mew meow meow
Meow-speak Mau meow meow mew mew meow mew meow meow meow mew meow mew meow meow mew mew mew mew meow mew meow mew mew mew mew meow mew meow mew meow meow mew meow meow mew mew meow mew meow meow meow meow meow meow meow mew meow mew meow meow meow meow meow mew meow meow mew meow mew mew
Conversion table:
Character Binary Meow-speak
a 000001 (1) meow meow meow meow meow mew
b 000010 (2) meow meow meow meow mew meow
c 000011 (3) meow meow meow meow mew mew
d 000100 (4) meow meow meow mew meow meow
e 000101 (5) meow meow meow mew meow mew
f 000110 (6) meow meow meow mew mew meow
g 000111 (7) meow meow meow mew mew mew
h 001000 (8) meow meow mew meow meow meow
i 001001 (9) meow meow mew meow meow mew
j 001010 (10) meow meow mew meow mew meow
k 001011 (11) meow meow mew meow mew mew
l 001100 (12) meow meow mew mew meow meow
m 001101 (13) meow meow mew mew meow mew
n 001110 (14) meow meow mew mew mew meow
o 001111 (15) meow meow mew mew mew mew
p 010000 (16) meow mew meow meow meow meow
q 010001 (17) meow mew meow meow meow mew
r 010010 (18) meow mew meow meow mew meow
s 010011 (19) meow mew meow meow mew mew
t 010100 (20) meow mew meow mew meow meow
u 010101 (21) meow mew meow mew meow mew
v 010110 (22) meow mew meow mew mew meow
w 010111 (23) meow mew meow mew mew mew
x 011000 (24) meow mew mew meow meow meow
y 011001 (25) meow mew mew meow meow mew
z 011010 (26) meow mew mew meow mew meow
0 011011 (27) meow mew mew meow mew mew
1 011100 (28) meow mew mew mew meow meow
2 011101 (29) meow mew mew mew meow mew
3 011110 (30) meow mew mew mew mew meow
4 011111 (31) meow mew mew mew mew mew
5 100000 (32) mew meow meow meow meow meow
6 100001 (33) mew meow meow meow meow mew
7 100010 (34) mew meow meow meow mew meow
8 100011 (35) mew meow meow meow mew mew
9 100100 (36) mew meow meow mew meow meow
, 100101 (37) mew meow meow mew meow mew
: 100110 (38) mew meow meow mew mew meow
; 100111 (39) mew meow meow mew mew mew
' or ‘ or ’ 101000 (40) mew meow mew meow meow meow
" or “ or ” 101001 (41) mew meow mew meow meow mew
- 101010 (42) mew meow mew meow mew meow
101011 (43) mew meow mew meow mew mew
101100 (44) mew meow mew mew meow meow
( 101101 (45) mew meow mew mew meow mew
) 101110 (46) mew meow mew mew mew meow
[ 101111 (47) mew meow mew mew mew mew
] 110000 (48) mew mew meow meow meow meow
110001 (49) mew mew meow meow meow mew
space W[3] mau
. X[3] Mreow
? Y[3] Mreeow
! Z[3] Mreeeow
  1. This could be made 5-bit if we limited it to the 26 English letters and absolutely necessary punctuation, but we'd be losing 1/2 of the possible characters for a 1/6 decrease in length.
  2. good luck
  3. a b c d Exception from the binary transformation.


Meow-speak 2

edit

The second generation of Meow-speak saw significant improvement both in expressive capacity and complexity.

Both systems function on the same basic idea: text is converted to a number, which is converted to a series of cat noises. However, instead of using a 6-bit binary system, version 2 uses a 5-digit senary (i.e., base 6) system. Each digit can be one of 6 states, bring much-needed variety to Meow-speak's output: meow, mew, mreow, nyaa, mewl, and mau.

Examples
English Meow-speak
Hello world meow mew mewl mreow nyaa meow mreow mewl nyaa meow meow nyaa nyaa mau mau meow mau mreow mewl mewl meow mewl mew mreow meow meow meow mau mewl mewl
Meow-speak meow mreow mau mewl mewl meow nyaa nyaa mew mreow mew mewl meow mau mew meow nyaa mewl mew mew meow meow meow mew mewl

Where a 6-bit binary system has 64 possible combinations, a 5-digit senary system has 7776 possible combinations. Thus, where version 1 computed a 6-bit binary number for every character, Meow-speak 2 computes a 5-digit senary number for every character pair.

This shift to character pairs, combined with the senary system, brings significant efficiency for the Meow-speak process: every five cat noises reflects two characters, for an average of 2.5 cat noises needed to express each character. This is under half of the 6 cat noises per character of Meow-speak 1.

Automatic translator on GitHub.

Comparison in process
Step 1 Step 2 Step 3 Cat noises per character (CNPC)
Meow-speak 1 Separate text by character Swap character for 6-bit binary number Convert 0s to 'meow' and 1s to 'mew' 6
Meow-speak 2 Separate text by character pairs Swap character pair for 5-digit senary number Convert numbers 0 through 5 to their respective predefined cat sound 2.5

Additionally, Meow-speak 2 does not have any exempted characters. Meow-speak 1 added special characters, exempt from the binary transformations, for end-of-sentence punctuation and spaces. In Meow-speak 2, these are treated as any other character, and included in the character pairs calculation.

When run, the Meow-speak 2 translator creates a list of all possible two-character pairs, from first to last in the list of 53 set characters. It then computes the 6-digit senary number for each of these 2,809 combinations, and stores that in a dictionary. When parsing inputted text, it splits the content into a series of character pairs to then translate into Meow-speak using the dictionary. If there is an odd number of characters, it adds a space at the end of the text.

Because spaces and end-of-sentence punctuation are treated no differently from other characters, there is no indication of these in written Meow-speak. Unless, of course, you memorize all cat noise combinations with a space in it.

The Meow-speak 2 process functions with up to 88 characters. At the moment, it includes the 53 characters of the original Meow-speak.

For specific information on Meow-speak 2's operations, see the Python file on github.