├── README ├── dev ├── __init__.py └── word_components.py ├── tests ├── __init__.py └── test_repeat.py ├── nltk.txt ├── gibberish ├── dir.py ├── __init__.py └── database │ ├── raw_components.yaml │ └── components.yaml ├── .gitignore ├── setup.py ├── LICENSE.txt └── README.rst /README: -------------------------------------------------------------------------------- 1 | README.rst -------------------------------------------------------------------------------- /dev/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /nltk.txt: -------------------------------------------------------------------------------- 1 | cmudict 2 | -------------------------------------------------------------------------------- /gibberish/dir.py: -------------------------------------------------------------------------------- 1 | import os 2 | import inspect 3 | 4 | ROOT = os.path.abspath(os.path.dirname(inspect.getframeinfo(inspect.currentframe()).filename)) 5 | 6 | 7 | def database_path(database): 8 | return os.path.join(ROOT, 'database', database) 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.py[cod] 2 | 3 | # C extensions 4 | *.so 5 | 6 | # Packages 7 | *.egg 8 | *.egg-info 9 | dist 10 | build 11 | eggs 12 | parts 13 | bin 14 | var 15 | sdist 16 | develop-eggs 17 | .installed.cfg 18 | lib 19 | lib64 20 | 21 | # Installer logs 22 | pip-log.txt 23 | 24 | # Unit test / coverage reports 25 | .coverage 26 | .tox 27 | nosetests.xml 28 | 29 | #Translations 30 | *.mo 31 | 32 | #Mr Developer 33 | .mr.developer.cfg 34 | 35 | #Virtual environment 36 | venv/ 37 | -------------------------------------------------------------------------------- /tests/test_repeat.py: -------------------------------------------------------------------------------- 1 | from gibberish import Gibberish 2 | 3 | gib = Gibberish() 4 | 5 | 6 | def test_generate_word(rep=50): 7 | for _ in range(rep): 8 | print(gib.generate_word()) 9 | 10 | 11 | def test_generate_word_start_vowel(rep=50): 12 | for _ in range(rep): 13 | print(gib.generate_word(start_vowel=True)) 14 | 15 | 16 | def test_generate_word_end_vowel(rep=50): 17 | for _ in range(rep): 18 | print(gib.generate_word(end_vowel=True)) 19 | 20 | 21 | def test_generate_words(rep=50): 22 | for _ in range(rep): 23 | print(gib.generate_words(3)) 24 | 25 | 26 | if __name__ == '__main__': 27 | test_generate_word() 28 | test_generate_words() 29 | test_generate_word_start_vowel() 30 | test_generate_word_end_vowel() 31 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | import os 2 | try: 3 | # use setuptools if available 4 | from setuptools import setup 5 | kwargs = { 6 | 'entry_points': {'console_scripts': 7 | 'gibberish = gibberish:console_main', 8 | } 9 | } 10 | except ImportError: 11 | # fall back to distutils 12 | from distutils import setup 13 | kwargs = {} 14 | 15 | 16 | base_dir = os.path.dirname(os.path.abspath(__file__)) 17 | 18 | setup( 19 | name='Gibberish', 20 | description="A pseudo-word generator", 21 | version='0.3', 22 | author='Gregory Haskins', 23 | author_email='greg@greghaskins.com', 24 | url='https://github.com/greghaskins/gibberish', 25 | packages=('gibberish',), 26 | license='MIT License', 27 | long_description=open(os.path.join(base_dir, 'README.rst')).read(), 28 | install_requires=['PyYAML'], 29 | package_data={ 30 | 'gibberish': ['database/*'], 31 | }, 32 | # include_package_data=True, 33 | extras_require={ 34 | 'dev': ['nltk'] 35 | }, 36 | **kwargs 37 | ) 38 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2012 Gregory Haskins, http://greghaskins.com 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to 5 | deal in the Software without restriction, including without limitation the 6 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 7 | sell copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 18 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 19 | DEALINGS IN THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | ================================== 2 | Gibberish: a pseudo-word generator 3 | ================================== 4 | 5 | The ``gibberish`` module let's you generate random, pronounceable pseudo-words. It started life as an `answer on StackOverflow `_ about password generators , but it's also a fun way to coin words or just spark some lexical creativity. 6 | 7 | Usage 8 | ----- 9 | 10 | ``gibberish`` creates pseudo-words which consist of one consonant-vowel-consonant syllable that sounds like it could be English. Sometimes it spits out real words; most of the time not:: 11 | 12 | >>> from gibberish import Gibberish 13 | >>> gib = Gibberish() 14 | >>> gib.generate_word() 15 | 'zept' 16 | >>> gib.generate_word(start_vowel=True) 17 | 'ientz' 18 | >>> gib.generate_word(end_vowel=True) 19 | 'twae' 20 | >>> gib.generate_words(3) 21 | ['sqiounn', 'nuil', 'hydrieucks'] 22 | 23 | It also works as a console script:: 24 | 25 | ~$ gibberish 6 26 | strit druf doct vel dosk flomp 27 | ~$ gibberish 28 | brank 29 | ~$ gibberish 1 -l large 30 | fabaduk 31 | ~$ gibberish 2 -l medium 32 | voskot koontan 33 | 34 | Installation 35 | ------------ 36 | 37 | To install the ``gibberish`` module and console script globally, clone this repository and run: 38 | 39 | ~$ python setup.py install 40 | 41 | Updates 42 | ------- 43 | 44 | - (2017.5.11) 45 | - Analyze the components from CMUdict (``nltk.corpus.cmudict``) entries. 46 | - Use ``secrets`` module if Python version 3.6 or later. 47 | 48 | Contributions 49 | ------------- 50 | 51 | Please help edit entry the ``gibberish/database/components.yaml`` as which of the characters is an initial consonant, final consonants, or vowels is opinionated. 52 | -------------------------------------------------------------------------------- /dev/word_components.py: -------------------------------------------------------------------------------- 1 | from nltk.corpus import cmudict 2 | import string 3 | from collections import Counter 4 | import yaml 5 | 6 | 7 | def initial_consonants(): 8 | for word in cmudict.words(): 9 | initial = '' 10 | for char in word: 11 | if char not in 'aeiou' and char in string.ascii_letters: 12 | initial += char 13 | else: 14 | if len(initial) != 0: 15 | yield initial 16 | break 17 | 18 | 19 | def final_consonants(): 20 | for word in cmudict.words(): 21 | final = '' 22 | for char in word[::-1]: 23 | if char not in 'aeiou' and char in string.ascii_letters: 24 | final += char 25 | else: 26 | if len(final) != 0: 27 | yield final[::-1] 28 | break 29 | 30 | 31 | def vowels(): 32 | for word in cmudict.words(): 33 | vowel = '' 34 | vowel_started = False 35 | for char in word: 36 | if char in 'aeiou': 37 | vowel_started = True 38 | vowel += char 39 | else: 40 | if vowel_started: 41 | yield vowel 42 | break 43 | 44 | vowel = '' 45 | vowel_started = False 46 | for char in word[::-1]: 47 | if char in 'aeiou': 48 | vowel_started = True 49 | vowel += char 50 | else: 51 | if vowel_started: 52 | yield vowel[::-1] 53 | break 54 | 55 | 56 | if __name__ == '__main__': 57 | with open('../gibberish/raw_components.yaml', 'w') as f: 58 | yaml.safe_dump({ 59 | 'initials': [x[0] for x in Counter(initial_consonants()).most_common()], 60 | 'vowels': [x[0] for x in Counter(vowels()).most_common()], 61 | 'finals': [x[0] for x in Counter(final_consonants()).most_common()] 62 | }, f) 63 | -------------------------------------------------------------------------------- /gibberish/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import string 3 | import yaml 4 | try: 5 | from secrets import choice 6 | except ImportError: 7 | from random import choice 8 | 9 | from gibberish.dir import database_path 10 | 11 | __all__ = ('Gibberish', ) 12 | 13 | 14 | class Gibberish: 15 | def __init__(self, component_file=database_path('components.yaml')): 16 | with open(component_file) as f: 17 | components = yaml.safe_load(f) 18 | 19 | self.initial_consonants = list(set(string.ascii_lowercase) - set('aeiou') 20 | # remove those easily confused with others 21 | - set('qxc') 22 | # add some crunchy clusters 23 | | set(sum(components['initials'], [])) 24 | ) 25 | 26 | self.final_consonants = list(set(string.ascii_lowercase) - set('aeiou') 27 | # remove the confusables 28 | - set('qxcsj') 29 | # crunchy clusters 30 | | set(sum(components['finals'], [])) 31 | ) 32 | 33 | self.vowels = list(set(sum(components['vowels'], []))) # "oo" because google 34 | 35 | def generate_word(self, vowel_consonant_repeats=1, start_vowel=False, end_vowel=False): 36 | """Returns a random consonant-(vowel-consonant)*wc pseudo-word.""" 37 | if not start_vowel: 38 | letter_list = [self.initial_consonants] 39 | else: 40 | letter_list = [] 41 | for i in range(vowel_consonant_repeats): 42 | letter_list.extend([self.vowels, self.final_consonants]) 43 | if end_vowel: 44 | letter_list.pop() 45 | return ''.join(choice(s) for s in letter_list) 46 | 47 | def generate_words(self, wordcount=1, vowel_consonant_repeats=1): 48 | """Returns a list of ``wordcount`` pseudo-words.""" 49 | # range for Python 3 compatibility 50 | return [self.generate_word(vowel_consonant_repeats=vowel_consonant_repeats) for _ in range(wordcount)] 51 | 52 | 53 | def console_main(): 54 | import argparse 55 | len_options = {'small': 1, 'medium': 2, 'large': 3} 56 | parser = argparse.ArgumentParser(description='Generate gibberish!') 57 | parser.add_argument( 58 | "wordcount", type=int, default=1, nargs='?', 59 | help="Number of words to print.") 60 | 61 | parser.add_argument( 62 | "-l", "--word_length", type=str, default='small', metavar='', 63 | choices=['small', 'medium', 'large'], 64 | help="Length of the words") 65 | args = parser.parse_args() 66 | 67 | print(' '.join(Gibberish().generate_words( 68 | args.wordcount, len_options[args.word_length]))) 69 | 70 | 71 | if __name__ == '__main__': 72 | console_main() 73 | -------------------------------------------------------------------------------- /gibberish/database/raw_components.yaml: -------------------------------------------------------------------------------- 1 | finals: [s, n, r, d, ng, l, y, rs, ns, t, m, ll, nt, c, ck, st, k, ss, sts, rd, nd, 2 | ry, rt, w, lly, tt, ch, ts, ty, p, ls, ld, nts, x, rg, sh, ly, th, ff, g, rn, ngs, 3 | nn, tz, sm, gh, ms, z, cs, ps, h, ds, b, lt, nk, nds, ys, rk, ght, v, cks, f, ct, 4 | rth, rry, lls, ny, ws, cts, wn, rds, dy, bly, rts, ft, hl, gy, pp, rly, mp, ntly, 5 | sch, ngly, sly, ks, tch, ncy, rm, gs, rty, hn, fy, rst, rr, ntz, bs, cy, dly, tts, 6 | lf, nks, rp, hr, nsky, lk, nz, lds, rf, lm, rns, cht, rks, dt, gg, tty, cz, my, 7 | mb, ltz, nch, mm, lts, nny, rms, by, ghts, rdt, ffs, pt, ndt, ddy, sk, ndy, ths, 8 | rtz, rl, hm, sky, rch, mps, lty, sy, phy, lz, py, nty, rb, fts, pf, vy, ggs, ssy, 9 | nly, ph, sty, cky, wns, dd, bby, ldt, rby, thy, try, fs, tsch, gn, nth, rz, ppy, 10 | pts, bb, hs, ssly, rthy, nc, pps, sms, sz, mmy, bbs, ghs, j, lks, vsky, wl, rdy, 11 | chs, ffy, lp, tly, ggy, lms, sby, rff, mbs, lyn, rsch, nky, yd, stry, sks, lby, 12 | rls, ky, stly, xy, rgy, rgh, ntry, q, lch, nck, rld, rdly, lph, rc, zy, hy, chy, 13 | shy, xt, rny, rsh, rsky, shly, mby, rbs, sp, tsky, lsky, ndly, wy, ctly, zz, ghty, 14 | rps, ndry, nns, wls, mpy, rcy, gns, phs, ngy, dry, ryl, rky, wk, ghtly, lb, nby, 15 | nry, nst, rtly, wry, yn, nh, nsch, zzy, mpf, lth, nct, ldy, mbly, rck, tchy, wsky, 16 | fty, dl, vs, kh, mpt, wd, wdy, rths, nths, gt, rv, ngst, rchy, mpts, gby, wks, bst, 17 | rys, rtt, lry, ply, nsk, mly, lps, lysts, rmy, psy, lky, fsky, ghn, tsy, yl, nchy, 18 | kly, ndl, wny, rsts, hrs, wly, ghy, mpp, tyn, bt, dds, pply, rx, mn, rrs, rczyk, 19 | tzky, nx, mms, dby, spy, rfs, gly, zny, rsk, ptly, bts, nym, rph, lyst, bry, ldly, 20 | rsby, rgs, nyl, fly, dny, cq, lfs, gl, dgy, wth, lthy, ltry, mph, hns, ngth, ngths, 21 | ckly, ln, mczyk, ncts, dz, kst, llyn, lwyn, mply, gsby, hls, dth, rtsch, ghly, rtch, 22 | yt, dys, mry, msy, ddly, rvy, nzy, ftly, ctv, sc, mpty, lck, lynn, rmly, sps, hrt, 23 | ggly, lsby, nft, lst, lsch, chl, sny, bl, lsh, nyms, ndr, lmy, dst, ngry, rndt, 24 | wb, ldry, rtl, rnt, rwyn, sys, chly, nkly, xx, hms, klyn, bbly, vsk, lbs, rfly, 25 | byl, rpy, rcq, mns, rsy, rdts, wds, rrys, rkly, thly, ngh, msky, nys, rcks, lg, 26 | sfy, rthly, ghth, kk, lvy, ncz, tzy, ttl, czyk, dky, ndyk, ncks, ntsch, lff, pl, 27 | lczyk, fft, tny, rynx, chty, rchs, sr, nsy, lc, dh, sq, dss, hh, hlf, ldwyn, xs, 28 | thm, thms, rphs, llys, lys, gyny, rcs, rnst, rntz, ctyl, rtsy, shby, tx, styn, ydt, 29 | yr, zs, nff, ptcy, yh, yly, rss, mbry, kt, rjy, nthly, xby, rsty, wdry, rscht, dsky, 30 | nzl, ttry, tyl, zby, cld, lmly, lny, mny, rll, syn, ryn, vys, ntzy, xts, rdry, nsby, 31 | nvy, cry, gm, tl, fm, nctly, vvy, zzly, wsy, ckl, gypt, hly, tr, mmys, ncrypt, thyl, 32 | rpt, rpts, fth, fths, schl, ncs, dfly, ngl, ntt, ttsch, lx, ffly, mz, nf, glyph, 33 | glyphs, chst, ml, mphry, dths, yck, tsk, slyn, rpf, tys, khs, lns, cny, czny, wczyk, 34 | ngg, ghry, wr, rphy, rgsky, flynn, stby, rldly, zts, mptly, chts, gny, vtl, nczyk, 35 | ndby, cyr, rnly, ndth, ndths, gts, tby, ghby, byss, syst, kc, ldys, lgy, lmys, mc, 36 | thyst, mr, myx, nkh, ntsy, nwyl, nwyll, pc, rchly, rgyll, rlt, rnn, ctyls, rtzt, 37 | rzt, tp, ht, pcty, rszcz, styr, hrns, lfry, llm, ngt, gnly, njy, rnd, ngsly, lyk, 38 | nyls, szczyk, skys, thby, rwn, tfly, wlby, wlds, wnds, ylls, yz, skly, nwyn, dzyn, 39 | gsy, ndys, ntyn, rndy, lyx, mrys, ntv, clysm, wsl, lsty, dhry, myr, phyll, stz, 40 | nq, lbys, gys, mfy, ym, sply, vl, vls, wnx, nylyszyn, rryl, ghtry, lft, pth, pths, 41 | ryck, vry, ltly, nghy, scs, byns, wty, mt, bsky, bny, zd, nphy, dlyn, dyth, ghmy, 42 | ghths, lzy, mch, mdr, mlyn, nsz, tc, tsty, vlyn, hd, hmy, ncl, rstly, lksy, rmby, 43 | rsyth, ncklyn, nkl, nklyn, md, rrh, brys, dsby, tsby, wky, hry, ttys, ckry, ldsby, 44 | dwyn, vpx, ssl, lgh, wths, ynn, zdz, jj, ngby, mck, rpst, rshly, ydn, nl, jl, ndryx, 45 | rbst, rschy, bdy, wm, hlt, pkyns, rnby, rnsby, skyns, bsch, mfry, ynh, bn, dyll, 46 | llg, clyn, rryd, ffry, kyll, rmyn, rzy, myn, hnny, hny, ynt, hng, gst, rcz, sprzyk, 47 | stl, thryn, ylynn, rkby, ttz, tky, mpl, pd, scy, ngthy, ntzsch, schly, ndh, psky, 48 | szt, yds, ynd, ckyn, cys, ltby, rbry, rlys, rshy, rtyn, rtyr, rtyrs, thys, tthys, 49 | ltsby, xcy, zyck, nstry, rtry, lnyk, lvyn, rkt, rvyn, ryll, ssrs, fx, jczyk, ksch, 50 | lln, ckby, kry, ggsy, lct, rlyn, rphys, rzyn, mphy, llwyn, wby, wlyn, wt, wts, mtz, 51 | zhny, rdby, lsk, lcy, rft, dp, fc, ksy, yls, nyx, pry, rct, rmsby, ryx, tcry, wnby, 52 | lsy, gms, rzych, nsyl, rryn, rsyn, trzyk, gmy, rkl, lcyn, lygyny, lyp, lyps, rphyry, 53 | szny, rpc, rpcs, chtl, tzl, zm, pst, cly, czy, lphs, skyn, hg, ndts, pr, jn, zk, 54 | byn, hlfs, lynd, sslyn, stys, vr, lpt, lpts, jm, rply, wdly, byll, xth, xths, xty, 55 | bczyk, mnly, ltys, tsyn, gnty, ktr, ndbys, rzyk, stny, nchly, fl, jny, mpff, btly, 56 | rbly, dych, lcs, mblyn, rghs, nysk, fry, fz, ptych, mphs, bh, rchyn, lfth, lvth, 57 | wnst, sry, ndyck, nryn, nwhy, nwyck, nwyk, ghns, sx, rmth, lths, grzyn, hrly, llms, 58 | szyn, rlds, ntl, chry, phyr, phyrs] 59 | initials: [m, c, b, r, d, h, s, p, l, g, f, w, t, k, n, v, st, pr, j, br, ch, gr, sh, 60 | tr, cr, fr, z, sp, wh, cl, y, bl, th, fl, sch, pl, q, dr, str, sc, sl, kr, sw, gl, 61 | ph, kl, sm, sn, kn, sk, mcc, scr, wr, mc, chr, spr, thr, tw, schw, mcg, mck, rh, 62 | sq, schl, shr, schr, x, schm, mcm, gh, mcn, hyp, mccl, schn, mcd, hydr, kh, ts, 63 | mcl, psych, spl, dw, pf, mccr, mcf, typ, cz, sr, cycl, gn, hr, hy, syn, sz, kw, 64 | mcq, chl, by, dyn, ky, phys, symb, bh, mcgr, dy, ll, ly, ry, my, ps, zh, zw, styl, 65 | sv, dh, gw, myst, sylv, syst, gyr, mcgl, pyr, vl, cyr, syr, vr, kv, lyr, ryb, symp, 66 | synd, glyc, hl, mct, mr, rw, cryst, cyb, hym, mch, mcph, ng, tyr, zl, bj, bry, cypr, 67 | dz, hyd, hypn, lyd, mcb, mcp, mcr, myr, nyl, pyl, skyl, wy, cy, gymn, ny, sym, synth, 68 | try, byl, gyn, hw, hyg, hyst, kj, lymph, mcv, pfl, synchr, wyn, cry, cyn, cyt, hybr, 69 | hyph, lyn, lys, mcbr, mcw, ml, myl, pn, pt, ryl, sj, szcz, tch, thw, tsch, ty, xyl, 70 | byr, dj, dyl, dys, fry, fy, hj, hs, mcwh, mn, phr, ryk, sf, sph, syb, tyc, tyl, 71 | wys, cyl, gy, km, lyc, lyk, mb, myth, phyl, py, pyth, rhym, syll, symm, sync, wyl, 72 | byn, byp, byw, chm, chrys, crypt, cw, dl, dn, dry, dyk, dym, dzh, fj, fly, hn, hys, 73 | jh, khr, kyl, kyn, lynch, lynd, lyph, mcsh, mm, myrt, nyc, nyd, nyg, nyh, nymph, 74 | pry, ryd, ryn, skyh, skyr, skyw, syd, symph, synt, syph, tyn, typh, tys, vy, why, 75 | wyk, ydst, yv, zb, zy, bryd, bryn, brz, byrn, byz, chrysl, cm, cs, cyc, cynth, cyph, 76 | drycl, dv, dyc, dysf, frym, fyff, gj, grz, gwyn, gyps, hm, hyl, hymn, hyn, kys, 77 | lh, lw, lyl, lynn, mckn, mcsw, myc, myn, nyb, phl, plym, rhyn, rrr, scl, scyth, 78 | sff, shch, shl, skr, skyd, skywr, snyd, stym, styr, syc, sydn, sympt, syndr, sysc, 79 | tyg, wyg, wym, yb, zs, zyd, brck, byf, byg, byk, bypr, byst, byt, cdr, chrz, chyr, 80 | clyd, clym, clyt, cnn, cryd, crysl, csp, cygn, cymb, dm, dryp, dych, dync, dysl, 81 | dystr, glynn, grb, grzyw, gt, hrnc, hyr, kc, kg, khl, kryg, krypt, krzyszt, kyll, 82 | kyr, kyrgyzst, kyz, lj, lx, lyb, lybr, lym, mcgh, mcj, mckr, myhr, myrl, myrm, myrtl, 83 | mysl, ngh, npr, nvh, nygr, nym, nyn, nyq, phn, phyt, pygm, pyk, pyn, rhythm, rychl, 84 | rym, rys, rz, schnyd, scz, sgr, shyn, shyst, skl, skyb, skyscr, smr, spy, strz, 85 | sty, sy, syk, synb, sypn, systr, syv, szym, tb, thym, thyr, thyss, tj, tk, tl, trnk, 86 | trn, tryb, trz, tv, tyb, tymp, whyt, wl, wn, wyd, wynn, wynt, wyr, yn, ynj, bbc, 87 | bly, blyl, blyst, blyth, brc, bryc, brydg, brym, bryng, brys, brzyck, bt, byb, byh, 88 | bylsm, byrd, byrg, byrl, bystr, cd, chryst, chs, chyk, chyn, cly, clyb, clyn, clyv, 89 | crnk, cryb, crym, crytz, cwyn, cyd, cydr, cyg, cyh, cymr, cynd, cynr, cyp, cyst, 90 | cyth, cyw, czyz, db, dhl, dq, dryd, dryn, drysd, drys, dryw, drz, ds, dwy, dyb, 91 | dyckm, dyg, dykh, dykm, dykstr, dysph, dyspl, flyc, flyp, flyth, flytr, flyw, flywh, 92 | fryb, fryl, fryr, frys, fs, fth, fyf, fyk, gd, gf, ghr, glynd, glyn, gryd, gryg, 93 | gryph, grzyb, gschw, gs, gv, gwynn, gyg, gyl, gyll, gymb, gym, gypp, gyth, hb, hc, 94 | hrdl, hybl, hych, hyc, hycr, hydstr, hygr, hyk, hyls, hylt, hyndm, hyns, hysl, hyss, 95 | hyw, jf, jn, jw, jy, khm, klynv, kryd, krys, kryst, krz, krzyw, krzyz, ks, kyd, 96 | kyg, kyk, kyt, kytr, lycr, lyf, lynchb, lyndh, lynf, lynsk, lynt, lynx, lysk, lysn, 97 | lyst, lyt, lythg, lytl, lyttl, lytt, lyv, mcbry, mcbryd, mcch, mcchr, mccryst, mcdy, 98 | mcfly, mcgw, mckl, mcsl, mcs, mcsp, mcst, mcwr, mcz, mf, mh, mj, mkh, mp, mrs, ms, 99 | mssrs, mt, mw, myh, mykl, mynh, myrn, mys, myszk, nd, nk, nvry, nyss, nystr, pc, 100 | phlc, phryg, phyll, pj, plyb, ply, plyl, plympt, plyw, prch, pryc, pryd, prynn, 101 | przyb, przybyl, przybylsk, przyw, psh, psyll, pty, pyb, pyhrr, pyp, pyrrh, pysh, 102 | pyt, pyx, qm, rhys, rybk, ryckm, rycr, rycz, rydb, rydm, rydz, ryg, rynd, ryr, rysk, 103 | ryth, ryt, ryzhk, sb, schry, schryv, scht, scyll, sg, shry, sht, shtyr, shy, shyj, 104 | shyl, shym, skrzyp, skyc, sky, skyt, sly, slyn, slyt, smy, smyl, smyr, smyrn, smys, 105 | smyth, spyc, spych, spygl, spyk, srd, srpsk, ss, stcl, stj, stp, strn, strych, strychn, 106 | stryk, styg, styn, swy, swyg, swyt, sybr, syf, sygm, syl, sylm, sylph, symps, symtr, 107 | syngm, synh, synn, syntr, syp, sytsm, szczyg, szw, szydl, szymb, szymcz, tc, thyg, 108 | trb, trygst, trygv, tryph, trzc, tsh, tt, tvs, twyf, twyl, twym, tyd, tyk, tylk, 109 | tym, tymn, tynd, tyrr, tyrrh, vlc, vn, vrb, vrd, vs, wry, wryn, wrz, wybl, wyb, 110 | wych, wyck, wycl, wyc, wydr, wyff, wykl, wyld, wyll, wylm, wyndh, wyng, wynk, wyny, 111 | wyszynsk, wyth, xh, xscr, xtr, xyv, ygl, yl, ylv, yps, yq, ysl, yttr, yz, zdr, zm, 112 | zsch, zv, zyc, zych, zygm, zyg, zyl, zylk, zylstr, zym, zynd, zysk, zyw] 113 | vowels: [e, a, i, o, u, ia, ie, ee, io, au, ea, ou, ai, ue, ei, eau, eu, oe, ae, eo, 114 | oa, oo, ao, ua, oi, ui, aa, ieu, uo, oia, aue, iu, aia, iou, ii, aio, uie, eia, 115 | oie, aie, aou, iao, uu, oue, uai, oua, uee, iau, ooo, ouie, ioia, eie, uei, ooi, 116 | uia, oaa, oeu, oui, uiu, eae, ooe, ooee, uea, aiei, oea, eii, eua, oio, aea, aii, 117 | iaa, iai, iia, iaia, oao, auai, eio, aai, uau, aui, iae, uoio, eue, oeie, eou, ueau, 118 | ueue, uoia, ieau] 119 | -------------------------------------------------------------------------------- /gibberish/database/components.yaml: -------------------------------------------------------------------------------- 1 | initials: 2 | - ['bl', 'br', 'cl', 'cr', 'dr', 'fl', 'fr', 'gl', 'gr', 'pl', 'pr', 'sk', 'sl', 'sm', 'sn', 3 | 'sp', 'st', 'str', 'sw', 'tr', 'ch', 'sh'] # Original ones in Gibberish 4 | - [m, c, b, r, d, h, s, p, l, g, f, w, t, k, n, v, st, pr, j, br, ch, gr, sh, 5 | tr, cr, fr, z, sp, wh, cl, y, bl, th, fl, sch, pl, q, dr, str, sc, sl, kr, sw, gl, 6 | ph, kl, sm, sn, kn, sk, mcc, scr, wr, mc, chr, spr, thr, tw, schw, mcg, mck, rh, 7 | sq, schl, shr, schr, x, schm, mcm, gh, mcn, hyp, mccl, schn, mcd, hydr, kh, ts, 8 | mcl, psych, spl, dw, pf, mccr, mcf, typ, cz, sr, cycl, gn, hr, hy, syn, sz, kw, 9 | # mcq, chl, by, dyn, ky, phys, symb, bh, mcgr, dy, ll, ly, ry, my, ps, zh, zw, styl, 10 | # sv, dh, gw, myst, sylv, syst, gyr, mcgl, pyr, vl, cyr, syr, vr, kv, lyr, ryb, symp, 11 | # synd, glyc, hl, mct, mr, rw, cryst, cyb, hym, mch, mcph, ng, tyr, zl, bj, bry, cypr, 12 | # dz, hyd, hypn, lyd, mcb, mcp, mcr, myr, nyl, pyl, skyl, wy, cy, gymn, ny, sym, synth, 13 | # try, byl, gyn, hw, hyg, hyst, kj, lymph, mcv, pfl, synchr, wyn, cry, cyn, cyt, hybr, 14 | # hyph, lyn, lys, mcbr, mcw, ml, myl, pn, pt, ryl, sj, szcz, tch, thw, tsch, ty, xyl, 15 | # byr, dj, dyl, dys, fry, fy, hj, hs, mcwh, mn, phr, ryk, sf, sph, syb, tyc, tyl, 16 | # wys, cyl, gy, km, lyc, lyk, mb, myth, phyl, py, pyth, rhym, syll, symm, sync, wyl, 17 | # byn, byp, byw, chm, chrys, crypt, cw, dl, dn, dry, dyk, dym, dzh, fj, fly, hn, hys, 18 | # jh, khr, kyl, kyn, lynch, lynd, lyph, mcsh, mm, myrt, nyc, nyd, nyg, nyh, nymph, 19 | # pry, ryd, ryn, skyh, skyr, skyw, syd, symph, synt, syph, tyn, typh, tys, vy, why, 20 | # wyk, ydst, yv, zb, zy, bryd, bryn, brz, byrn, byz, chrysl, cm, cs, cyc, cynth, cyph, 21 | # drycl, dv, dyc, dysf, frym, fyff, gj, grz, gwyn, gyps, hm, hyl, hymn, hyn, kys, 22 | # lh, lw, lyl, lynn, mckn, mcsw, myc, myn, nyb, phl, plym, rhyn, rrr, scl, scyth, 23 | # sff, shch, shl, skr, skyd, skywr, snyd, stym, styr, syc, sydn, sympt, syndr, sysc, 24 | # tyg, wyg, wym, yb, zs, zyd, brck, byf, byg, byk, bypr, byst, byt, cdr, chrz, chyr, 25 | # clyd, clym, clyt, cnn, cryd, crysl, csp, cygn, cymb, dm, dryp, dych, dync, dysl, 26 | # dystr, glynn, grb, grzyw, gt, hrnc, hyr, kc, kg, khl, kryg, krypt, krzyszt, kyll, 27 | # kyr, kyrgyzst, kyz, lj, lx, lyb, lybr, lym, mcgh, mcj, mckr, myhr, myrl, myrm, myrtl, 28 | # mysl, ngh, npr, nvh, nygr, nym, nyn, nyq, phn, phyt, pygm, pyk, pyn, rhythm, rychl, 29 | # rym, rys, rz, schnyd, scz, sgr, shyn, shyst, skl, skyb, skyscr, smr, spy, strz, 30 | # sty, sy, syk, synb, sypn, systr, syv, szym, tb, thym, thyr, thyss, tj, tk, tl, trnk, 31 | # trn, tryb, trz, tv, tyb, tymp, whyt, wl, wn, wyd, wynn, wynt, wyr, yn, ynj, bbc, 32 | # bly, blyl, blyst, blyth, brc, bryc, brydg, brym, bryng, brys, brzyck, bt, byb, byh, 33 | # bylsm, byrd, byrg, byrl, bystr, cd, chryst, chs, chyk, chyn, cly, clyb, clyn, clyv, 34 | # crnk, cryb, crym, crytz, cwyn, cyd, cydr, cyg, cyh, cymr, cynd, cynr, cyp, cyst, 35 | # cyth, cyw, czyz, db, dhl, dq, dryd, dryn, drysd, drys, dryw, drz, ds, dwy, dyb, 36 | # dyckm, dyg, dykh, dykm, dykstr, dysph, dyspl, flyc, flyp, flyth, flytr, flyw, flywh, 37 | # fryb, fryl, fryr, frys, fs, fth, fyf, fyk, gd, gf, ghr, glynd, glyn, gryd, gryg, 38 | # gryph, grzyb, gschw, gs, gv, gwynn, gyg, gyl, gyll, gymb, gym, gypp, gyth, hb, hc, 39 | # hrdl, hybl, hych, hyc, hycr, hydstr, hygr, hyk, hyls, hylt, hyndm, hyns, hysl, hyss, 40 | # hyw, jf, jn, jw, jy, khm, klynv, kryd, krys, kryst, krz, krzyw, krzyz, ks, kyd, 41 | # kyg, kyk, kyt, kytr, lycr, lyf, lynchb, lyndh, lynf, lynsk, lynt, lynx, lysk, lysn, 42 | # lyst, lyt, lythg, lytl, lyttl, lytt, lyv, mcbry, mcbryd, mcch, mcchr, mccryst, mcdy, 43 | # mcfly, mcgw, mckl, mcsl, mcs, mcsp, mcst, mcwr, mcz, mf, mh, mj, mkh, mp, mrs, ms, 44 | # mssrs, mt, mw, myh, mykl, mynh, myrn, mys, myszk, nd, nk, nvry, nyss, nystr, pc, 45 | # phlc, phryg, phyll, pj, plyb, ply, plyl, plympt, plyw, prch, pryc, pryd, prynn, 46 | # przyb, przybyl, przybylsk, przyw, psh, psyll, pty, pyb, pyhrr, pyp, pyrrh, pysh, 47 | # pyt, pyx, qm, rhys, rybk, ryckm, rycr, rycz, rydb, rydm, rydz, ryg, rynd, ryr, rysk, 48 | # ryth, ryt, ryzhk, sb, schry, schryv, scht, scyll, sg, shry, sht, shtyr, shy, shyj, 49 | # shyl, shym, skrzyp, skyc, sky, skyt, sly, slyn, slyt, smy, smyl, smyr, smyrn, smys, 50 | # smyth, spyc, spych, spygl, spyk, srd, srpsk, ss, stcl, stj, stp, strn, strych, strychn, 51 | # stryk, styg, styn, swy, swyg, swyt, sybr, syf, sygm, syl, sylm, sylph, symps, symtr, 52 | # syngm, synh, synn, syntr, syp, sytsm, szczyg, szw, szydl, szymb, szymcz, tc, thyg, 53 | # trb, trygst, trygv, tryph, trzc, tsh, tt, tvs, twyf, twyl, twym, tyd, tyk, tylk, 54 | # tym, tymn, tynd, tyrr, tyrrh, vlc, vn, vrb, vrd, vs, wry, wryn, wrz, wybl, wyb, 55 | # wych, wyck, wycl, wyc, wydr, wyff, wykl, wyld, wyll, wylm, wyndh, wyng, wynk, wyny, 56 | # wyszynsk, wyth, xh, xscr, xtr, xyv, ygl, yl, ylv, yps, yq, ysl, yttr, yz, zdr, zm, 57 | # zsch, zv, zyc, zych, zygm, zyg, zyl, zylk, zylstr, zym, zynd, zysk, zyw 58 | ] # CMUdict suggestions 59 | - [dyn, phys, symb] # My choice 60 | vowels: 61 | - ['a', 'e', 'i', 'o', 'u', 'oo'] # Original ones in Gibberish 62 | - [e, a, i, o, u, ia, ie, ee, io, au, ea, ou, ai, ue, ei, eau, eu, oe, ae, eo, 63 | oa, oo, ao, ua, oi, ui, aa, ieu, uo, oia, aue, iu, aia, iou, ii, aio, uie, eia, 64 | # oie, aie, aou, iao, uu, oue, uai, oua, uee, iau, ooo, ouie, ioia, eie, uei, ooi, 65 | # uia, oaa, oeu, oui, uiu, eae, ooe, ooee, uea, aiei, oea, eii, eua, oio, aea, aii, 66 | # iaa, iai, iia, iaia, oao, auai, eio, aai, uau, aui, iae, uoio, eue, oeie, eou, ueau, 67 | # ueue, uoia, ieau 68 | ] # CMUdict suggestions 69 | - [iao] # My choice 70 | finals: 71 | - ['ct', 'ft', 'mp', 'nd', 'ng', 'nk', 'nt', 'pt', 'sk', 'sp', 'ss', 'st', 'ch', 'sh'] 72 | # Original ones in Gibberish 73 | - [s, n, r, d, ng, l, y, rs, ns, t, m, ll, nt, c, ck, st, k, ss, sts, rd, nd, 74 | ry, rt, w, lly, tt, ch, ts, ty, p, ls, ld, nts, x, rg, sh, ly, th, ff, g, rn, ngs, 75 | nn, tz, sm, gh, ms, z, cs, ps, h, ds, b, lt, nk, nds, ys, rk, ght, v, cks, f, ct, 76 | rth, rry, lls, ny, ws, cts, wn, rds, dy, bly, rts, ft, hl, gy, pp, rly, mp, ntly, 77 | sch, ngly, sly, ks, tch, ncy, rm, gs, rty, hn, fy, rst, rr, ntz, bs, cy, dly, tts, 78 | # lf, nks, rp, hr, nsky, lk, nz, lds, rf, lm, rns, cht, rks, dt, gg, tty, cz, my, 79 | # mb, ltz, nch, mm, lts, nny, rms, by, ghts, rdt, ffs, pt, ndt, ddy, sk, ndy, ths, 80 | # rtz, rl, hm, sky, rch, mps, lty, sy, phy, lz, py, nty, rb, fts, pf, vy, ggs, ssy, 81 | # nly, ph, sty, cky, wns, dd, bby, ldt, rby, thy, try, fs, tsch, gn, nth, rz, ppy, 82 | # pts, bb, hs, ssly, rthy, nc, pps, sms, sz, mmy, bbs, ghs, j, lks, vsky, wl, rdy, 83 | # chs, ffy, lp, tly, ggy, lms, sby, rff, mbs, lyn, rsch, nky, yd, stry, sks, lby, 84 | # rls, ky, stly, xy, rgy, rgh, ntry, q, lch, nck, rld, rdly, lph, rc, zy, hy, chy, 85 | # shy, xt, rny, rsh, rsky, shly, mby, rbs, sp, tsky, lsky, ndly, wy, ctly, zz, ghty, 86 | # rps, ndry, nns, wls, mpy, rcy, gns, phs, ngy, dry, ryl, rky, wk, ghtly, lb, nby, 87 | # nry, nst, rtly, wry, yn, nh, nsch, zzy, mpf, lth, nct, ldy, mbly, rck, tchy, wsky, 88 | # fty, dl, vs, kh, mpt, wd, wdy, rths, nths, gt, rv, ngst, rchy, mpts, gby, wks, bst, 89 | # rys, rtt, lry, ply, nsk, mly, lps, lysts, rmy, psy, lky, fsky, ghn, tsy, yl, nchy, 90 | # kly, ndl, wny, rsts, hrs, wly, ghy, mpp, tyn, bt, dds, pply, rx, mn, rrs, rczyk, 91 | # tzky, nx, mms, dby, spy, rfs, gly, zny, rsk, ptly, bts, nym, rph, lyst, bry, ldly, 92 | # rsby, rgs, nyl, fly, dny, cq, lfs, gl, dgy, wth, lthy, ltry, mph, hns, ngth, ngths, 93 | # ckly, ln, mczyk, ncts, dz, kst, llyn, lwyn, mply, gsby, hls, dth, rtsch, ghly, rtch, 94 | # yt, dys, mry, msy, ddly, rvy, nzy, ftly, ctv, sc, mpty, lck, lynn, rmly, sps, hrt, 95 | # ggly, lsby, nft, lst, lsch, chl, sny, bl, lsh, nyms, ndr, lmy, dst, ngry, rndt, 96 | # wb, ldry, rtl, rnt, rwyn, sys, chly, nkly, xx, hms, klyn, bbly, vsk, lbs, rfly, 97 | # byl, rpy, rcq, mns, rsy, rdts, wds, rrys, rkly, thly, ngh, msky, nys, rcks, lg, 98 | # sfy, rthly, ghth, kk, lvy, ncz, tzy, ttl, czyk, dky, ndyk, ncks, ntsch, lff, pl, 99 | # lczyk, fft, tny, rynx, chty, rchs, sr, nsy, lc, dh, sq, dss, hh, hlf, ldwyn, xs, 100 | # thm, thms, rphs, llys, lys, gyny, rcs, rnst, rntz, ctyl, rtsy, shby, tx, styn, ydt, 101 | # yr, zs, nff, ptcy, yh, yly, rss, mbry, kt, rjy, nthly, xby, rsty, wdry, rscht, dsky, 102 | # nzl, ttry, tyl, zby, cld, lmly, lny, mny, rll, syn, ryn, vys, ntzy, xts, rdry, nsby, 103 | # nvy, cry, gm, tl, fm, nctly, vvy, zzly, wsy, ckl, gypt, hly, tr, mmys, ncrypt, thyl, 104 | # rpt, rpts, fth, fths, schl, ncs, dfly, ngl, ntt, ttsch, lx, ffly, mz, nf, glyph, 105 | # glyphs, chst, ml, mphry, dths, yck, tsk, slyn, rpf, tys, khs, lns, cny, czny, wczyk, 106 | # ngg, ghry, wr, rphy, rgsky, flynn, stby, rldly, zts, mptly, chts, gny, vtl, nczyk, 107 | # ndby, cyr, rnly, ndth, ndths, gts, tby, ghby, byss, syst, kc, ldys, lgy, lmys, mc, 108 | # thyst, mr, myx, nkh, ntsy, nwyl, nwyll, pc, rchly, rgyll, rlt, rnn, ctyls, rtzt, 109 | # rzt, tp, ht, pcty, rszcz, styr, hrns, lfry, llm, ngt, gnly, njy, rnd, ngsly, lyk, 110 | # nyls, szczyk, skys, thby, rwn, tfly, wlby, wlds, wnds, ylls, yz, skly, nwyn, dzyn, 111 | # gsy, ndys, ntyn, rndy, lyx, mrys, ntv, clysm, wsl, lsty, dhry, myr, phyll, stz, 112 | # nq, lbys, gys, mfy, ym, sply, vl, vls, wnx, nylyszyn, rryl, ghtry, lft, pth, pths, 113 | # ryck, vry, ltly, nghy, scs, byns, wty, mt, bsky, bny, zd, nphy, dlyn, dyth, ghmy, 114 | # ghths, lzy, mch, mdr, mlyn, nsz, tc, tsty, vlyn, hd, hmy, ncl, rstly, lksy, rmby, 115 | # rsyth, ncklyn, nkl, nklyn, md, rrh, brys, dsby, tsby, wky, hry, ttys, ckry, ldsby, 116 | # dwyn, vpx, ssl, lgh, wths, ynn, zdz, jj, ngby, mck, rpst, rshly, ydn, nl, jl, ndryx, 117 | # rbst, rschy, bdy, wm, hlt, pkyns, rnby, rnsby, skyns, bsch, mfry, ynh, bn, dyll, 118 | # llg, clyn, rryd, ffry, kyll, rmyn, rzy, myn, hnny, hny, ynt, hng, gst, rcz, sprzyk, 119 | # stl, thryn, ylynn, rkby, ttz, tky, mpl, pd, scy, ngthy, ntzsch, schly, ndh, psky, 120 | # szt, yds, ynd, ckyn, cys, ltby, rbry, rlys, rshy, rtyn, rtyr, rtyrs, thys, tthys, 121 | # ltsby, xcy, zyck, nstry, rtry, lnyk, lvyn, rkt, rvyn, ryll, ssrs, fx, jczyk, ksch, 122 | # lln, ckby, kry, ggsy, lct, rlyn, rphys, rzyn, mphy, llwyn, wby, wlyn, wt, wts, mtz, 123 | # zhny, rdby, lsk, lcy, rft, dp, fc, ksy, yls, nyx, pry, rct, rmsby, ryx, tcry, wnby, 124 | # lsy, gms, rzych, nsyl, rryn, rsyn, trzyk, gmy, rkl, lcyn, lygyny, lyp, lyps, rphyry, 125 | # szny, rpc, rpcs, chtl, tzl, zm, pst, cly, czy, lphs, skyn, hg, ndts, pr, jn, zk, 126 | # byn, hlfs, lynd, sslyn, stys, vr, lpt, lpts, jm, rply, wdly, byll, xth, xths, xty, 127 | # bczyk, mnly, ltys, tsyn, gnty, ktr, ndbys, rzyk, stny, nchly, fl, jny, mpff, btly, 128 | # rbly, dych, lcs, mblyn, rghs, nysk, fry, fz, ptych, mphs, bh, rchyn, lfth, lvth, 129 | # wnst, sry, ndyck, nryn, nwhy, nwyck, nwyk, ghns, sx, rmth, lths, grzyn, hrly, llms, 130 | # szyn, rlds, ntl, chry, phyr, phyrs 131 | ] # CMUdict suggestions 132 | - [rf] # My choice 133 | --------------------------------------------------------------------------------