All possible words in the English language that can be formed by Western musical notes (A-G):
A: aa, ab, aba, abaca, abba, abbe, abed, accede, acceded, ace, aced, ad, adage, add, added, ae, aga, age, aged, agee
B: ba, baa, baaed, baba, babe, bacca, bad, bade, badge, baff, baffed, bag, baggage, bagged, be, bead, beaded, bed, bedad, bedded, bede, bee, beef, beefed, beg, begad, begged
C: cab, cabbage, cad, cade, cadee, cadge, cadged, caeca, cafe, caff, cage, caged, ceca, cede, ceded, cee
D: da, dab, dabbed, dace, dad, dae, daff, dag, dagaba, dagga, dagged, dead, deaf, deb, debag, debagged, decad, decade, decaff, dee, deed, deeded, def, deface, defaced, degage
E: ebb, ebbed, ecad, ecce, edge, edged, ef, eff, efface, effaced, effed, egad, egg, egged
F: fa, fab, facade, face, faced, fad, fade, faded, fadge, fadged, faff, faffed, fag, fagged, fed, fee, feed
G: gab, gabbed, gad, gadded, gade, gadge, gae, gaed, gaff, gaffe, gaffed, gag, gaga, gage, gaged, gagged, ged, gee, geed
Created using this word list (not comprehensive, but easy to find and free):
http://dreamsteep.com/projects/the-english-open-word-list.html
And with a rather simple Processing sketch:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
/* EVERY WORD FROM MUSICAL NOTES Jeff Thompson | 2012 | www.jeffreythompson.org A list of every word that contains letters from the musical notes (A,B,C,D,E,F,G) and not any of the others. Repeats allowed, as are ommissions. Source file is the English Open Word List: http://dreamsteep.com/projects/the-english-open-word-list.html */ boolean printWords = false; void setup() { String[] ignore = { "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" }; boolean store; // read each file one by one // capital A (65) to capital G (72) in ASCII - no point in reading the other letters! for (int i=65; i<72; i++) { try { // variables to read the file String filename = char(i) + " Words.csv"; BufferedReader reader = createReader(filename); println(filename + "..."); PrintWriter writer = createWriter("words_" + char(i) + ".txt"); String word; // go through all lines while ( (word = reader.readLine ()) != null) { // reset variable for next word store = true; // check against blacklist of letters to ignore for (String s : ignore) { if (word.contains(s)) { store = false; } continue; // stop looking (faster though not necessary) } // if we've passed unscathed, store the word and continue if (store) { if (printWords) { println(word); } writer.println(word); } } // end read file while loop // close PrintWriter writer.flush(); writer.close(); } // end read file try catch (Exception e) { println("Error reading file: " + e); } } // end letter-file loop exit(); } |