phonetics 3.0.9 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +4 -0
- data/Makefile +3 -0
- data/VERSION +1 -1
- data/ext/c_levenshtein/phonetic_cost.c +412 -412
- data/lib/phonetics/distances.rb +5 -1
- metadata +3 -2
| @@ -16,102 +16,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 16 16 | 
             
                    case 0b01111001:
         | 
| 17 17 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 18 18 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 19 | 
            -
                      return (float) 0. | 
| 19 | 
            +
                      return (float) 0.06256916588089649;
         | 
| 20 20 | 
             
                      break;
         | 
| 21 21 | 
             
                    case 0b1100100110101010:
         | 
| 22 22 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 23 23 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 24 | 
            -
                      return (float) 0. | 
| 24 | 
            +
                      return (float) 0.07177690952168692;
         | 
| 25 25 | 
             
                      break;
         | 
| 26 26 | 
             
                    case 0b01100101:
         | 
| 27 27 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 28 28 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 29 | 
            -
                      return (float) 0. | 
| 29 | 
            +
                      return (float) 0.09066143008912587;
         | 
| 30 30 | 
             
                      break;
         | 
| 31 31 | 
             
                    case 0b1100001110111000:
         | 
| 32 32 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 33 33 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 34 | 
            -
                      return (float) 0. | 
| 34 | 
            +
                      return (float) 0.12922246441504023;
         | 
| 35 35 | 
             
                      break;
         | 
| 36 36 | 
             
                    case 0b1100100110011011:
         | 
| 37 37 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 38 38 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 39 | 
            -
                      return (float) 0. | 
| 39 | 
            +
                      return (float) 0.2412901503563237;
         | 
| 40 40 | 
             
                      break;
         | 
| 41 41 | 
             
                    case 0b1100010110010011:
         | 
| 42 42 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 43 43 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 44 | 
            -
                      return (float) 0. | 
| 44 | 
            +
                      return (float) 0.2486949609607449;
         | 
| 45 45 | 
             
                      break;
         | 
| 46 46 | 
             
                    case 0b01100001:
         | 
| 47 47 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 48 48 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 49 | 
            -
                      return (float) 0. | 
| 49 | 
            +
                      return (float) 0.39476828503645867;
         | 
| 50 50 | 
             
                      break;
         | 
| 51 51 | 
             
                    case 0b1100100110110110:
         | 
| 52 52 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 53 53 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 54 | 
            -
                      return (float) 0. | 
| 54 | 
            +
                      return (float) 0.38633268899103657;
         | 
| 55 55 | 
             
                      break;
         | 
| 56 56 | 
             
                    case 0b1100100110010001:
         | 
| 57 57 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 58 58 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 59 | 
            -
                      return (float) 0. | 
| 59 | 
            +
                      return (float) 0.42722050642626125;
         | 
| 60 60 | 
             
                      break;
         | 
| 61 61 | 
             
                    case 0b1100100110010010:
         | 
| 62 62 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 63 63 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 64 | 
            -
                      return (float) 0. | 
| 64 | 
            +
                      return (float) 0.43583724507056054;
         | 
| 65 65 | 
             
                      break;
         | 
| 66 66 | 
             
                    case 0b1100101010001100:
         | 
| 67 67 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 68 68 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 69 | 
            -
                      return (float) 0. | 
| 69 | 
            +
                      return (float) 0.3324279668701769;
         | 
| 70 70 | 
             
                      break;
         | 
| 71 71 | 
             
                    case 0b1100100110011001:
         | 
| 72 72 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 73 73 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 74 | 
            -
                      return (float) 0. | 
| 74 | 
            +
                      return (float) 0.3324279668701769;
         | 
| 75 75 | 
             
                      break;
         | 
| 76 76 | 
             
                    case 0b1100100110011101:
         | 
| 77 77 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 78 78 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 79 | 
            -
                      return (float) 0. | 
| 79 | 
            +
                      return (float) 0.3324279668701769;
         | 
| 80 80 | 
             
                      break;
         | 
| 81 81 | 
             
                    case 0b1100100110010100:
         | 
| 82 82 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 83 83 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 84 | 
            -
                      return (float) 0. | 
| 84 | 
            +
                      return (float) 0.38577847430615586;
         | 
| 85 85 | 
             
                      break;
         | 
| 86 86 | 
             
                    case 0b1100100110100100:
         | 
| 87 87 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 88 88 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 89 | 
            -
                      return (float) 0. | 
| 89 | 
            +
                      return (float) 0.2613699392089083;
         | 
| 90 90 | 
             
                      break;
         | 
| 91 91 | 
             
                    case 0b01101111:
         | 
| 92 92 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 93 93 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 94 | 
            -
                      return (float) 0. | 
| 94 | 
            +
                      return (float) 0.3733994421613162;
         | 
| 95 95 | 
             
                      break;
         | 
| 96 96 | 
             
                    case 0b1100100110101111:
         | 
| 97 97 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 98 98 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 99 | 
            -
                      return (float) 0. | 
| 99 | 
            +
                      return (float) 0.2133561537701585;
         | 
| 100 100 | 
             
                      break;
         | 
| 101 101 | 
             
                    case 0b1100001110100110:
         | 
| 102 102 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 103 103 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 104 | 
            -
                      return (float) 0. | 
| 104 | 
            +
                      return (float) 0.3454892258393712;
         | 
| 105 105 | 
             
                      break;
         | 
| 106 106 | 
             
                    case 0b01110101:
         | 
| 107 107 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 108 108 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 109 | 
            -
                      return (float) 0. | 
| 109 | 
            +
                      return (float) 0.37028078286013855;
         | 
| 110 110 | 
             
                      break;
         | 
| 111 111 | 
             
                    case 0b1100101010001010:
         | 
| 112 112 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 113 113 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 114 | 
            -
                      return (float) 0. | 
| 114 | 
            +
                      return (float) 0.37028078286013855;
         | 
| 115 115 | 
             
                      break;
         | 
| 116 116 | 
             
                    case 0b011011011100110010100101:
         | 
| 117 117 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -682,102 +682,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 682 682 | 
             
                    case 0b01101001:
         | 
| 683 683 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 684 684 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 685 | 
            -
                      return (float) 0. | 
| 685 | 
            +
                      return (float) 0.06256916588089649;
         | 
| 686 686 | 
             
                      break;
         | 
| 687 687 | 
             
                    case 0b1100100110101010:
         | 
| 688 688 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 689 689 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 690 | 
            -
                      return (float) 0. | 
| 690 | 
            +
                      return (float) 0.03823529411764706;
         | 
| 691 691 | 
             
                      break;
         | 
| 692 692 | 
             
                    case 0b01100101:
         | 
| 693 693 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 694 694 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 695 | 
            -
                      return (float) 0. | 
| 695 | 
            +
                      return (float) 0.10024599692774992;
         | 
| 696 696 | 
             
                      break;
         | 
| 697 697 | 
             
                    case 0b1100001110111000:
         | 
| 698 698 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 699 699 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 700 | 
            -
                      return (float) 0. | 
| 700 | 
            +
                      return (float) 0.08967909168147015;
         | 
| 701 701 | 
             
                      break;
         | 
| 702 702 | 
             
                    case 0b1100100110011011:
         | 
| 703 703 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 704 704 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 705 | 
            -
                      return (float) 0. | 
| 705 | 
            +
                      return (float) 0.22448893215765472;
         | 
| 706 706 | 
             
                      break;
         | 
| 707 707 | 
             
                    case 0b1100010110010011:
         | 
| 708 708 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 709 709 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 710 | 
            -
                      return (float) 0. | 
| 710 | 
            +
                      return (float) 0.2213348272473068;
         | 
| 711 711 | 
             
                      break;
         | 
| 712 712 | 
             
                    case 0b01100001:
         | 
| 713 713 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 714 714 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 715 | 
            -
                      return (float) 0. | 
| 715 | 
            +
                      return (float) 0.37589188520981637;
         | 
| 716 716 | 
             
                      break;
         | 
| 717 717 | 
             
                    case 0b1100100110110110:
         | 
| 718 718 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 719 719 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 720 | 
            -
                      return (float) 0. | 
| 720 | 
            +
                      return (float) 0.3640309293415891;
         | 
| 721 721 | 
             
                      break;
         | 
| 722 722 | 
             
                    case 0b1100100110010001:
         | 
| 723 723 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 724 724 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 725 | 
            -
                      return (float) 0. | 
| 725 | 
            +
                      return (float) 0.3875256561560303;
         | 
| 726 726 | 
             
                      break;
         | 
| 727 727 | 
             
                    case 0b1100100110010010:
         | 
| 728 728 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 729 729 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 730 | 
            -
                      return (float) 0. | 
| 730 | 
            +
                      return (float) 0.39083547290148035;
         | 
| 731 731 | 
             
                      break;
         | 
| 732 732 | 
             
                    case 0b1100101010001100:
         | 
| 733 733 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 734 734 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 735 | 
            -
                      return (float) 0. | 
| 735 | 
            +
                      return (float) 0.2892017953211131;
         | 
| 736 736 | 
             
                      break;
         | 
| 737 737 | 
             
                    case 0b1100100110011001:
         | 
| 738 738 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 739 739 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 740 | 
            -
                      return (float) 0. | 
| 740 | 
            +
                      return (float) 0.2892017953211131;
         | 
| 741 741 | 
             
                      break;
         | 
| 742 742 | 
             
                    case 0b1100100110011101:
         | 
| 743 743 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 744 744 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 745 | 
            -
                      return (float) 0. | 
| 745 | 
            +
                      return (float) 0.2892017953211131;
         | 
| 746 746 | 
             
                      break;
         | 
| 747 747 | 
             
                    case 0b1100100110010100:
         | 
| 748 748 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 749 749 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 750 | 
            -
                      return (float) 0. | 
| 750 | 
            +
                      return (float) 0.3307094682692377;
         | 
| 751 751 | 
             
                      break;
         | 
| 752 752 | 
             
                    case 0b1100100110100100:
         | 
| 753 753 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 754 754 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 755 | 
            -
                      return (float) 0. | 
| 755 | 
            +
                      return (float) 0.21119889831429847;
         | 
| 756 756 | 
             
                      break;
         | 
| 757 757 | 
             
                    case 0b01101111:
         | 
| 758 758 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 759 759 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 760 | 
            -
                      return (float) 0. | 
| 760 | 
            +
                      return (float) 0.31292800370943913;
         | 
| 761 761 | 
             
                      break;
         | 
| 762 762 | 
             
                    case 0b1100100110101111:
         | 
| 763 763 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 764 764 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 765 | 
            -
                      return (float) 0. | 
| 765 | 
            +
                      return (float) 0.15277852595846297;
         | 
| 766 766 | 
             
                      break;
         | 
| 767 767 | 
             
                    case 0b1100001110100110:
         | 
| 768 768 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 769 769 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 770 | 
            -
                      return (float) 0. | 
| 770 | 
            +
                      return (float) 0.33495460680480516;
         | 
| 771 771 | 
             
                      break;
         | 
| 772 772 | 
             
                    case 0b01110101:
         | 
| 773 773 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 774 774 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 775 | 
            -
                      return (float) 0. | 
| 775 | 
            +
                      return (float) 0.3095649606225676;
         | 
| 776 776 | 
             
                      break;
         | 
| 777 777 | 
             
                    case 0b1100101010001010:
         | 
| 778 778 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 779 779 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 780 | 
            -
                      return (float) 0. | 
| 780 | 
            +
                      return (float) 0.3095649606225676;
         | 
| 781 781 | 
             
                      break;
         | 
| 782 782 | 
             
                    case 0b011011011100110010100101:
         | 
| 783 783 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -1348,102 +1348,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 1348 1348 | 
             
                    case 0b01101001:
         | 
| 1349 1349 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 1350 1350 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 1351 | 
            -
                      return (float) 0. | 
| 1351 | 
            +
                      return (float) 0.07177690952168692;
         | 
| 1352 1352 | 
             
                      break;
         | 
| 1353 1353 | 
             
                    case 0b01111001:
         | 
| 1354 1354 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 1355 1355 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 1356 | 
            -
                      return (float) 0. | 
| 1356 | 
            +
                      return (float) 0.03823529411764706;
         | 
| 1357 1357 | 
             
                      break;
         | 
| 1358 1358 | 
             
                    case 0b01100101:
         | 
| 1359 1359 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 1360 1360 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 1361 | 
            -
                      return (float) 0. | 
| 1361 | 
            +
                      return (float) 0.067371205104266;
         | 
| 1362 1362 | 
             
                      break;
         | 
| 1363 1363 | 
             
                    case 0b1100001110111000:
         | 
| 1364 1364 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 1365 1365 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 1366 | 
            -
                      return (float) 0. | 
| 1366 | 
            +
                      return (float) 0.05857996962456462;
         | 
| 1367 1367 | 
             
                      break;
         | 
| 1368 1368 | 
             
                    case 0b1100100110011011:
         | 
| 1369 1369 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 1370 1370 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 1371 | 
            -
                      return (float) 0. | 
| 1371 | 
            +
                      return (float) 0.18705268313183973;
         | 
| 1372 1372 | 
             
                      break;
         | 
| 1373 1373 | 
             
                    case 0b1100010110010011:
         | 
| 1374 1374 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 1375 1375 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 1376 | 
            -
                      return (float) 0. | 
| 1376 | 
            +
                      return (float) 0.18629841339147235;
         | 
| 1377 1377 | 
             
                      break;
         | 
| 1378 1378 | 
             
                    case 0b01100001:
         | 
| 1379 1379 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 1380 1380 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 1381 | 
            -
                      return (float) 0. | 
| 1381 | 
            +
                      return (float) 0.3392525419525416;
         | 
| 1382 1382 | 
             
                      break;
         | 
| 1383 1383 | 
             
                    case 0b1100100110110110:
         | 
| 1384 1384 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 1385 1385 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 1386 | 
            -
                      return (float) 0. | 
| 1386 | 
            +
                      return (float) 0.328124330613916;
         | 
| 1387 1387 | 
             
                      break;
         | 
| 1388 1388 | 
             
                    case 0b1100100110010001:
         | 
| 1389 1389 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 1390 1390 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 1391 | 
            -
                      return (float) 0. | 
| 1391 | 
            +
                      return (float) 0.3584298842591489;
         | 
| 1392 1392 | 
             
                      break;
         | 
| 1393 1393 | 
             
                    case 0b1100100110010010:
         | 
| 1394 1394 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 1395 1395 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 1396 | 
            -
                      return (float) 0. | 
| 1396 | 
            +
                      return (float) 0.36509909555774817;
         | 
| 1397 1397 | 
             
                      break;
         | 
| 1398 1398 | 
             
                    case 0b1100101010001100:
         | 
| 1399 1399 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 1400 1400 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 1401 | 
            -
                      return (float) 0. | 
| 1401 | 
            +
                      return (float) 0.26207046955372654;
         | 
| 1402 1402 | 
             
                      break;
         | 
| 1403 1403 | 
             
                    case 0b1100100110011001:
         | 
| 1404 1404 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 1405 1405 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 1406 | 
            -
                      return (float) 0. | 
| 1406 | 
            +
                      return (float) 0.26207046955372654;
         | 
| 1407 1407 | 
             
                      break;
         | 
| 1408 1408 | 
             
                    case 0b1100100110011101:
         | 
| 1409 1409 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 1410 1410 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 1411 | 
            -
                      return (float) 0. | 
| 1411 | 
            +
                      return (float) 0.26207046955372654;
         | 
| 1412 1412 | 
             
                      break;
         | 
| 1413 1413 | 
             
                    case 0b1100100110010100:
         | 
| 1414 1414 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 1415 1415 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 1416 | 
            -
                      return (float) 0. | 
| 1416 | 
            +
                      return (float) 0.31450003957753553;
         | 
| 1417 1417 | 
             
                      break;
         | 
| 1418 1418 | 
             
                    case 0b1100100110100100:
         | 
| 1419 1419 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 1420 1420 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 1421 | 
            -
                      return (float) 0. | 
| 1421 | 
            +
                      return (float) 0.1895937897163311;
         | 
| 1422 1422 | 
             
                      break;
         | 
| 1423 1423 | 
             
                    case 0b01101111:
         | 
| 1424 1424 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 1425 1425 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 1426 | 
            -
                      return (float) 0. | 
| 1426 | 
            +
                      return (float) 0.30620750456446283;
         | 
| 1427 1427 | 
             
                      break;
         | 
| 1428 1428 | 
             
                    case 0b1100100110101111:
         | 
| 1429 1429 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 1430 1430 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 1431 | 
            -
                      return (float) 0. | 
| 1431 | 
            +
                      return (float) 0.14791666666666664;
         | 
| 1432 1432 | 
             
                      break;
         | 
| 1433 1433 | 
             
                    case 0b1100001110100110:
         | 
| 1434 1434 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 1435 1435 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 1436 | 
            -
                      return (float) 0. | 
| 1436 | 
            +
                      return (float) 0.29705437452178646;
         | 
| 1437 1437 | 
             
                      break;
         | 
| 1438 1438 | 
             
                    case 0b01110101:
         | 
| 1439 1439 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 1440 1440 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 1441 | 
            -
                      return (float) 0. | 
| 1441 | 
            +
                      return (float) 0.30351176613253716;
         | 
| 1442 1442 | 
             
                      break;
         | 
| 1443 1443 | 
             
                    case 0b1100101010001010:
         | 
| 1444 1444 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 1445 1445 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 1446 | 
            -
                      return (float) 0. | 
| 1446 | 
            +
                      return (float) 0.30351176613253716;
         | 
| 1447 1447 | 
             
                      break;
         | 
| 1448 1448 | 
             
                    case 0b011011011100110010100101:
         | 
| 1449 1449 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -2014,102 +2014,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 2014 2014 | 
             
                    case 0b01101001:
         | 
| 2015 2015 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 2016 2016 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 2017 | 
            -
                      return (float) 0. | 
| 2017 | 
            +
                      return (float) 0.09066143008912587;
         | 
| 2018 2018 | 
             
                      break;
         | 
| 2019 2019 | 
             
                    case 0b01111001:
         | 
| 2020 2020 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 2021 2021 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 2022 | 
            -
                      return (float) 0. | 
| 2022 | 
            +
                      return (float) 0.10024599692774992;
         | 
| 2023 2023 | 
             
                      break;
         | 
| 2024 2024 | 
             
                    case 0b1100100110101010:
         | 
| 2025 2025 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 2026 2026 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 2027 | 
            -
                      return (float) 0. | 
| 2027 | 
            +
                      return (float) 0.067371205104266;
         | 
| 2028 2028 | 
             
                      break;
         | 
| 2029 2029 | 
             
                    case 0b1100001110111000:
         | 
| 2030 2030 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 2031 2031 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 2032 | 
            -
                      return (float) 0. | 
| 2032 | 
            +
                      return (float) 0.08415968600786669;
         | 
| 2033 2033 | 
             
                      break;
         | 
| 2034 2034 | 
             
                    case 0b1100100110011011:
         | 
| 2035 2035 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 2036 2036 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 2037 | 
            -
                      return (float) 0. | 
| 2037 | 
            +
                      return (float) 0.15392156862745096;
         | 
| 2038 2038 | 
             
                      break;
         | 
| 2039 2039 | 
             
                    case 0b1100010110010011:
         | 
| 2040 2040 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 2041 2041 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 2042 | 
            -
                      return (float) 0. | 
| 2042 | 
            +
                      return (float) 0.16812479409894074;
         | 
| 2043 2043 | 
             
                      break;
         | 
| 2044 2044 | 
             
                    case 0b01100001:
         | 
| 2045 2045 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 2046 2046 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 2047 | 
            -
                      return (float) 0. | 
| 2047 | 
            +
                      return (float) 0.3064017878204772;
         | 
| 2048 2048 | 
             
                      break;
         | 
| 2049 2049 | 
             
                    case 0b1100100110110110:
         | 
| 2050 2050 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 2051 2051 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 2052 | 
            -
                      return (float) 0. | 
| 2052 | 
            +
                      return (float) 0.29952086020637975;
         | 
| 2053 2053 | 
             
                      break;
         | 
| 2054 2054 | 
             
                    case 0b1100100110010001:
         | 
| 2055 2055 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 2056 2056 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 2057 | 
            -
                      return (float) 0. | 
| 2057 | 
            +
                      return (float) 0.3537259793049094;
         | 
| 2058 2058 | 
             
                      break;
         | 
| 2059 2059 | 
             
                    case 0b1100100110010010:
         | 
| 2060 2060 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 2061 2061 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 2062 | 
            -
                      return (float) 0. | 
| 2062 | 
            +
                      return (float) 0.36903471778883773;
         | 
| 2063 2063 | 
             
                      break;
         | 
| 2064 2064 | 
             
                    case 0b1100101010001100:
         | 
| 2065 2065 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 2066 2066 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 2067 | 
            -
                      return (float) 0. | 
| 2067 | 
            +
                      return (float) 0.26585808717317344;
         | 
| 2068 2068 | 
             
                      break;
         | 
| 2069 2069 | 
             
                    case 0b1100100110011001:
         | 
| 2070 2070 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 2071 2071 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 2072 | 
            -
                      return (float) 0. | 
| 2072 | 
            +
                      return (float) 0.26585808717317344;
         | 
| 2073 2073 | 
             
                      break;
         | 
| 2074 2074 | 
             
                    case 0b1100100110011101:
         | 
| 2075 2075 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 2076 2076 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 2077 | 
            -
                      return (float) 0. | 
| 2077 | 
            +
                      return (float) 0.26585808717317344;
         | 
| 2078 2078 | 
             
                      break;
         | 
| 2079 2079 | 
             
                    case 0b1100100110010100:
         | 
| 2080 2080 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 2081 2081 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 2082 | 
            -
                      return (float) 0. | 
| 2082 | 
            +
                      return (float) 0.3395555364328253;
         | 
| 2083 2083 | 
             
                      break;
         | 
| 2084 2084 | 
             
                    case 0b1100100110100100:
         | 
| 2085 2085 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 2086 2086 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 2087 | 
            -
                      return (float) 0. | 
| 2087 | 
            +
                      return (float) 0.2103201469904959;
         | 
| 2088 2088 | 
             
                      break;
         | 
| 2089 2089 | 
             
                    case 0b01101111:
         | 
| 2090 2090 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 2091 2091 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 2092 | 
            -
                      return (float) 0. | 
| 2092 | 
            +
                      return (float) 0.34628328450788026;
         | 
| 2093 2093 | 
             
                      break;
         | 
| 2094 2094 | 
             
                    case 0b1100100110101111:
         | 
| 2095 2095 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 2096 2096 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 2097 | 
            -
                      return (float) 0. | 
| 2097 | 
            +
                      return (float) 0.19683650180763665;
         | 
| 2098 2098 | 
             
                      break;
         | 
| 2099 2099 | 
             
                    case 0b1100001110100110:
         | 
| 2100 2100 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 2101 2101 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 2102 | 
            -
                      return (float) 0. | 
| 2102 | 
            +
                      return (float) 0.2551676594120861;
         | 
| 2103 2103 | 
             
                      break;
         | 
| 2104 2104 | 
             
                    case 0b01110101:
         | 
| 2105 2105 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 2106 2106 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 2107 | 
            -
                      return (float) 0. | 
| 2107 | 
            +
                      return (float) 0.34455434363535903;
         | 
| 2108 2108 | 
             
                      break;
         | 
| 2109 2109 | 
             
                    case 0b1100101010001010:
         | 
| 2110 2110 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 2111 2111 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 2112 | 
            -
                      return (float) 0. | 
| 2112 | 
            +
                      return (float) 0.34455434363535903;
         | 
| 2113 2113 | 
             
                      break;
         | 
| 2114 2114 | 
             
                    case 0b011011011100110010100101:
         | 
| 2115 2115 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -2680,102 +2680,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 2680 2680 | 
             
                    case 0b01101001:
         | 
| 2681 2681 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 2682 2682 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 2683 | 
            -
                      return (float) 0. | 
| 2683 | 
            +
                      return (float) 0.12922246441504023;
         | 
| 2684 2684 | 
             
                      break;
         | 
| 2685 2685 | 
             
                    case 0b01111001:
         | 
| 2686 2686 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 2687 2687 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 2688 | 
            -
                      return (float) 0. | 
| 2688 | 
            +
                      return (float) 0.08967909168147015;
         | 
| 2689 2689 | 
             
                      break;
         | 
| 2690 2690 | 
             
                    case 0b1100100110101010:
         | 
| 2691 2691 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 2692 2692 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 2693 | 
            -
                      return (float) 0. | 
| 2693 | 
            +
                      return (float) 0.05857996962456462;
         | 
| 2694 2694 | 
             
                      break;
         | 
| 2695 2695 | 
             
                    case 0b01100101:
         | 
| 2696 2696 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 2697 2697 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 2698 | 
            -
                      return (float) 0. | 
| 2698 | 
            +
                      return (float) 0.08415968600786669;
         | 
| 2699 2699 | 
             
                      break;
         | 
| 2700 2700 | 
             
                    case 0b1100100110011011:
         | 
| 2701 2701 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 2702 2702 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 2703 | 
            -
                      return (float) 0. | 
| 2703 | 
            +
                      return (float) 0.1411764705882353;
         | 
| 2704 2704 | 
             
                      break;
         | 
| 2705 2705 | 
             
                    case 0b1100010110010011:
         | 
| 2706 2706 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 2707 2707 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 2708 | 
            -
                      return (float) 0. | 
| 2708 | 
            +
                      return (float) 0.1325203756648731;
         | 
| 2709 2709 | 
             
                      break;
         | 
| 2710 2710 | 
             
                    case 0b01100001:
         | 
| 2711 2711 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 2712 2712 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 2713 | 
            -
                      return (float) 0. | 
| 2713 | 
            +
                      return (float) 0.2887444493009598;
         | 
| 2714 2714 | 
             
                      break;
         | 
| 2715 2715 | 
             
                    case 0b1100100110110110:
         | 
| 2716 2716 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 2717 2717 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 2718 | 
            -
                      return (float) 0. | 
| 2718 | 
            +
                      return (float) 0.27570100549331866;
         | 
| 2719 2719 | 
             
                      break;
         | 
| 2720 2720 | 
             
                    case 0b1100100110010001:
         | 
| 2721 2721 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 2722 2722 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 2723 | 
            -
                      return (float) 0. | 
| 2723 | 
            +
                      return (float) 0.2999423243289873;
         | 
| 2724 2724 | 
             
                      break;
         | 
| 2725 2725 | 
             
                    case 0b1100100110010010:
         | 
| 2726 2726 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 2727 2727 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 2728 | 
            -
                      return (float) 0. | 
| 2728 | 
            +
                      return (float) 0.30673752770023754;
         | 
| 2729 2729 | 
             
                      break;
         | 
| 2730 2730 | 
             
                    case 0b1100101010001100:
         | 
| 2731 2731 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 2732 2732 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 2733 | 
            -
                      return (float) 0. | 
| 2733 | 
            +
                      return (float) 0.20355303620352602;
         | 
| 2734 2734 | 
             
                      break;
         | 
| 2735 2735 | 
             
                    case 0b1100100110011001:
         | 
| 2736 2736 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 2737 2737 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 2738 | 
            -
                      return (float) 0. | 
| 2738 | 
            +
                      return (float) 0.20355303620352602;
         | 
| 2739 2739 | 
             
                      break;
         | 
| 2740 2740 | 
             
                    case 0b1100100110011101:
         | 
| 2741 2741 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 2742 2742 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 2743 | 
            -
                      return (float) 0. | 
| 2743 | 
            +
                      return (float) 0.20355303620352602;
         | 
| 2744 2744 | 
             
                      break;
         | 
| 2745 2745 | 
             
                    case 0b1100100110010100:
         | 
| 2746 2746 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 2747 2747 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 2748 | 
            -
                      return (float) 0. | 
| 2748 | 
            +
                      return (float) 0.2614340277489751;
         | 
| 2749 2749 | 
             
                      break;
         | 
| 2750 2750 | 
             
                    case 0b1100100110100100:
         | 
| 2751 2751 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 2752 2752 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 2753 | 
            -
                      return (float) 0. | 
| 2753 | 
            +
                      return (float) 0.1338330120356499;
         | 
| 2754 2754 | 
             
                      break;
         | 
| 2755 2755 | 
             
                    case 0b01101111:
         | 
| 2756 2756 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 2757 2757 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 2758 | 
            -
                      return (float) 0. | 
| 2758 | 
            +
                      return (float) 0.2625659004442972;
         | 
| 2759 2759 | 
             
                      break;
         | 
| 2760 2760 | 
             
                    case 0b1100100110101111:
         | 
| 2761 2761 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 2762 2762 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 2763 | 
            -
                      return (float) 0. | 
| 2763 | 
            +
                      return (float) 0.11394983207580346;
         | 
| 2764 2764 | 
             
                      break;
         | 
| 2765 2765 | 
             
                    case 0b1100001110100110:
         | 
| 2766 2766 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 2767 2767 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 2768 | 
            -
                      return (float) 0. | 
| 2768 | 
            +
                      return (float) 0.2529411764705882;
         | 
| 2769 2769 | 
             
                      break;
         | 
| 2770 2770 | 
             
                    case 0b01110101:
         | 
| 2771 2771 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 2772 2772 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 2773 | 
            -
                      return (float) 0. | 
| 2773 | 
            +
                      return (float) 0.26068227515939024;
         | 
| 2774 2774 | 
             
                      break;
         | 
| 2775 2775 | 
             
                    case 0b1100101010001010:
         | 
| 2776 2776 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 2777 2777 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 2778 | 
            -
                      return (float) 0. | 
| 2778 | 
            +
                      return (float) 0.26068227515939024;
         | 
| 2779 2779 | 
             
                      break;
         | 
| 2780 2780 | 
             
                    case 0b011011011100110010100101:
         | 
| 2781 2781 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -3346,102 +3346,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 3346 3346 | 
             
                    case 0b01101001:
         | 
| 3347 3347 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 3348 3348 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 3349 | 
            -
                      return (float) 0. | 
| 3349 | 
            +
                      return (float) 0.2412901503563237;
         | 
| 3350 3350 | 
             
                      break;
         | 
| 3351 3351 | 
             
                    case 0b01111001:
         | 
| 3352 3352 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 3353 3353 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 3354 | 
            -
                      return (float) 0. | 
| 3354 | 
            +
                      return (float) 0.22448893215765472;
         | 
| 3355 3355 | 
             
                      break;
         | 
| 3356 3356 | 
             
                    case 0b1100100110101010:
         | 
| 3357 3357 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 3358 3358 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 3359 | 
            -
                      return (float) 0. | 
| 3359 | 
            +
                      return (float) 0.18705268313183973;
         | 
| 3360 3360 | 
             
                      break;
         | 
| 3361 3361 | 
             
                    case 0b01100101:
         | 
| 3362 3362 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 3363 3363 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 3364 | 
            -
                      return (float) 0. | 
| 3364 | 
            +
                      return (float) 0.15392156862745096;
         | 
| 3365 3365 | 
             
                      break;
         | 
| 3366 3366 | 
             
                    case 0b1100001110111000:
         | 
| 3367 3367 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 3368 3368 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 3369 | 
            -
                      return (float) 0. | 
| 3369 | 
            +
                      return (float) 0.1411764705882353;
         | 
| 3370 3370 | 
             
                      break;
         | 
| 3371 3371 | 
             
                    case 0b1100010110010011:
         | 
| 3372 3372 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 3373 3373 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 3374 | 
            -
                      return (float) 0. | 
| 3374 | 
            +
                      return (float) 0.04222680728585012;
         | 
| 3375 3375 | 
             
                      break;
         | 
| 3376 3376 | 
             
                    case 0b01100001:
         | 
| 3377 3377 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 3378 3378 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 3379 | 
            -
                      return (float) 0. | 
| 3379 | 
            +
                      return (float) 0.15356096333007935;
         | 
| 3380 3380 | 
             
                      break;
         | 
| 3381 3381 | 
             
                    case 0b1100100110110110:
         | 
| 3382 3382 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 3383 3383 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 3384 | 
            -
                      return (float) 0. | 
| 3384 | 
            +
                      return (float) 0.14560685371476179;
         | 
| 3385 3385 | 
             
                      break;
         | 
| 3386 3386 | 
             
                    case 0b1100100110010001:
         | 
| 3387 3387 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 3388 3388 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 3389 | 
            -
                      return (float) 0. | 
| 3389 | 
            +
                      return (float) 0.21629148601000278;
         | 
| 3390 3390 | 
             
                      break;
         | 
| 3391 3391 | 
             
                    case 0b1100100110010010:
         | 
| 3392 3392 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 3393 3393 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 3394 | 
            -
                      return (float) 0. | 
| 3394 | 
            +
                      return (float) 0.24332903272336817;
         | 
| 3395 3395 | 
             
                      break;
         | 
| 3396 3396 | 
             
                    case 0b1100101010001100:
         | 
| 3397 3397 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 3398 3398 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 3399 | 
            -
                      return (float) 0. | 
| 3399 | 
            +
                      return (float) 0.15219705106835135;
         | 
| 3400 3400 | 
             
                      break;
         | 
| 3401 3401 | 
             
                    case 0b1100100110011001:
         | 
| 3402 3402 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 3403 3403 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 3404 | 
            -
                      return (float) 0. | 
| 3404 | 
            +
                      return (float) 0.15219705106835135;
         | 
| 3405 3405 | 
             
                      break;
         | 
| 3406 3406 | 
             
                    case 0b1100100110011101:
         | 
| 3407 3407 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 3408 3408 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 3409 | 
            -
                      return (float) 0. | 
| 3409 | 
            +
                      return (float) 0.15219705106835135;
         | 
| 3410 3410 | 
             
                      break;
         | 
| 3411 3411 | 
             
                    case 0b1100100110010100:
         | 
| 3412 3412 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 3413 3413 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 3414 | 
            -
                      return (float) 0. | 
| 3414 | 
            +
                      return (float) 0.2582379739911864;
         | 
| 3415 3415 | 
             
                      break;
         | 
| 3416 3416 | 
             
                    case 0b1100100110100100:
         | 
| 3417 3417 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 3418 3418 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 3419 | 
            -
                      return (float) 0. | 
| 3419 | 
            +
                      return (float) 0.1513075479692673;
         | 
| 3420 3420 | 
             
                      break;
         | 
| 3421 3421 | 
             
                    case 0b01101111:
         | 
| 3422 3422 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 3423 3423 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 3424 | 
            -
                      return (float) 0. | 
| 3424 | 
            +
                      return (float) 0.300886270171729;
         | 
| 3425 3425 | 
             
                      break;
         | 
| 3426 3426 | 
             
                    case 0b1100100110101111:
         | 
| 3427 3427 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 3428 3428 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 3429 | 
            -
                      return (float) 0. | 
| 3429 | 
            +
                      return (float) 0.21104894611371397;
         | 
| 3430 3430 | 
             
                      break;
         | 
| 3431 3431 | 
             
                    case 0b1100001110100110:
         | 
| 3432 3432 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 3433 3433 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 3434 | 
            -
                      return (float) 0. | 
| 3434 | 
            +
                      return (float) 0.11176470588235293;
         | 
| 3435 3435 | 
             
                      break;
         | 
| 3436 3436 | 
             
                    case 0b01110101:
         | 
| 3437 3437 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 3438 3438 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 3439 | 
            -
                      return (float) 0. | 
| 3439 | 
            +
                      return (float) 0.30200636373756334;
         | 
| 3440 3440 | 
             
                      break;
         | 
| 3441 3441 | 
             
                    case 0b1100101010001010:
         | 
| 3442 3442 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 3443 3443 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 3444 | 
            -
                      return (float) 0. | 
| 3444 | 
            +
                      return (float) 0.30200636373756334;
         | 
| 3445 3445 | 
             
                      break;
         | 
| 3446 3446 | 
             
                    case 0b011011011100110010100101:
         | 
| 3447 3447 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -4012,102 +4012,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 4012 4012 | 
             
                    case 0b01101001:
         | 
| 4013 4013 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 4014 4014 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 4015 | 
            -
                      return (float) 0. | 
| 4015 | 
            +
                      return (float) 0.2486949609607449;
         | 
| 4016 4016 | 
             
                      break;
         | 
| 4017 4017 | 
             
                    case 0b01111001:
         | 
| 4018 4018 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 4019 4019 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 4020 | 
            -
                      return (float) 0. | 
| 4020 | 
            +
                      return (float) 0.2213348272473068;
         | 
| 4021 4021 | 
             
                      break;
         | 
| 4022 4022 | 
             
                    case 0b1100100110101010:
         | 
| 4023 4023 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 4024 4024 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 4025 | 
            -
                      return (float) 0. | 
| 4025 | 
            +
                      return (float) 0.18629841339147235;
         | 
| 4026 4026 | 
             
                      break;
         | 
| 4027 4027 | 
             
                    case 0b01100101:
         | 
| 4028 4028 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 4029 4029 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 4030 | 
            -
                      return (float) 0. | 
| 4030 | 
            +
                      return (float) 0.16812479409894074;
         | 
| 4031 4031 | 
             
                      break;
         | 
| 4032 4032 | 
             
                    case 0b1100001110111000:
         | 
| 4033 4033 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 4034 4034 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 4035 | 
            -
                      return (float) 0. | 
| 4035 | 
            +
                      return (float) 0.1325203756648731;
         | 
| 4036 4036 | 
             
                      break;
         | 
| 4037 4037 | 
             
                    case 0b1100100110011011:
         | 
| 4038 4038 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 4039 4039 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 4040 | 
            -
                      return (float) 0. | 
| 4040 | 
            +
                      return (float) 0.04222680728585012;
         | 
| 4041 4041 | 
             
                      break;
         | 
| 4042 4042 | 
             
                    case 0b01100001:
         | 
| 4043 4043 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 4044 4044 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 4045 | 
            -
                      return (float) 0. | 
| 4045 | 
            +
                      return (float) 0.15726835580069912;
         | 
| 4046 4046 | 
             
                      break;
         | 
| 4047 4047 | 
             
                    case 0b1100100110110110:
         | 
| 4048 4048 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 4049 4049 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 4050 | 
            -
                      return (float) 0. | 
| 4050 | 
            +
                      return (float) 0.14323144396323173;
         | 
| 4051 4051 | 
             
                      break;
         | 
| 4052 4052 | 
             
                    case 0b1100100110010001:
         | 
| 4053 4053 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 4054 4054 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 4055 | 
            -
                      return (float) 0. | 
| 4055 | 
            +
                      return (float) 0.18749379234886135;
         | 
| 4056 4056 | 
             
                      break;
         | 
| 4057 4057 | 
             
                    case 0b1100100110010010:
         | 
| 4058 4058 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 4059 4059 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 4060 | 
            -
                      return (float) 0. | 
| 4060 | 
            +
                      return (float) 0.20915814952307862;
         | 
| 4061 4061 | 
             
                      break;
         | 
| 4062 4062 | 
             
                    case 0b1100101010001100:
         | 
| 4063 4063 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 4064 4064 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 4065 | 
            -
                      return (float) 0. | 
| 4065 | 
            +
                      return (float) 0.11284549025672351;
         | 
| 4066 4066 | 
             
                      break;
         | 
| 4067 4067 | 
             
                    case 0b1100100110011001:
         | 
| 4068 4068 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 4069 4069 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 4070 | 
            -
                      return (float) 0. | 
| 4070 | 
            +
                      return (float) 0.11284549025672351;
         | 
| 4071 4071 | 
             
                      break;
         | 
| 4072 4072 | 
             
                    case 0b1100100110011101:
         | 
| 4073 4073 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 4074 4074 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 4075 | 
            -
                      return (float) 0. | 
| 4075 | 
            +
                      return (float) 0.11284549025672351;
         | 
| 4076 4076 | 
             
                      break;
         | 
| 4077 4077 | 
             
                    case 0b1100100110010100:
         | 
| 4078 4078 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 4079 4079 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 4080 | 
            -
                      return (float) 0. | 
| 4080 | 
            +
                      return (float) 0.21627568890448853;
         | 
| 4081 4081 | 
             
                      break;
         | 
| 4082 4082 | 
             
                    case 0b1100100110100100:
         | 
| 4083 4083 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 4084 4084 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 4085 | 
            -
                      return (float) 0. | 
| 4085 | 
            +
                      return (float) 0.11113513773288856;
         | 
| 4086 4086 | 
             
                      break;
         | 
| 4087 4087 | 
             
                    case 0b01101111:
         | 
| 4088 4088 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 4089 4089 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 4090 | 
            -
                      return (float) 0. | 
| 4090 | 
            +
                      return (float) 0.25924725903245355;
         | 
| 4091 4091 | 
             
                      break;
         | 
| 4092 4092 | 
             
                    case 0b1100100110101111:
         | 
| 4093 4093 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 4094 4094 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 4095 | 
            -
                      return (float) 0. | 
| 4095 | 
            +
                      return (float) 0.18041613225159323;
         | 
| 4096 4096 | 
             
                      break;
         | 
| 4097 4097 | 
             
                    case 0b1100001110100110:
         | 
| 4098 4098 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 4099 4099 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 4100 | 
            -
                      return (float) 0. | 
| 4100 | 
            +
                      return (float) 0.1325203756648731;
         | 
| 4101 4101 | 
             
                      break;
         | 
| 4102 4102 | 
             
                    case 0b01110101:
         | 
| 4103 4103 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 4104 4104 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 4105 | 
            -
                      return (float) 0. | 
| 4105 | 
            +
                      return (float) 0.260530914961936;
         | 
| 4106 4106 | 
             
                      break;
         | 
| 4107 4107 | 
             
                    case 0b1100101010001010:
         | 
| 4108 4108 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 4109 4109 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 4110 | 
            -
                      return (float) 0. | 
| 4110 | 
            +
                      return (float) 0.260530914961936;
         | 
| 4111 4111 | 
             
                      break;
         | 
| 4112 4112 | 
             
                    case 0b011011011100110010100101:
         | 
| 4113 4113 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -4678,102 +4678,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 4678 4678 | 
             
                    case 0b01101001:
         | 
| 4679 4679 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 4680 4680 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 4681 | 
            -
                      return (float) 0. | 
| 4681 | 
            +
                      return (float) 0.39476828503645867;
         | 
| 4682 4682 | 
             
                      break;
         | 
| 4683 4683 | 
             
                    case 0b01111001:
         | 
| 4684 4684 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 4685 4685 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 4686 | 
            -
                      return (float) 0. | 
| 4686 | 
            +
                      return (float) 0.37589188520981637;
         | 
| 4687 4687 | 
             
                      break;
         | 
| 4688 4688 | 
             
                    case 0b1100100110101010:
         | 
| 4689 4689 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 4690 4690 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 4691 | 
            -
                      return (float) 0. | 
| 4691 | 
            +
                      return (float) 0.3392525419525416;
         | 
| 4692 4692 | 
             
                      break;
         | 
| 4693 4693 | 
             
                    case 0b01100101:
         | 
| 4694 4694 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 4695 4695 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 4696 | 
            -
                      return (float) 0. | 
| 4696 | 
            +
                      return (float) 0.3064017878204772;
         | 
| 4697 4697 | 
             
                      break;
         | 
| 4698 4698 | 
             
                    case 0b1100001110111000:
         | 
| 4699 4699 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 4700 4700 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 4701 | 
            -
                      return (float) 0. | 
| 4701 | 
            +
                      return (float) 0.2887444493009598;
         | 
| 4702 4702 | 
             
                      break;
         | 
| 4703 4703 | 
             
                    case 0b1100100110011011:
         | 
| 4704 4704 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 4705 4705 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 4706 | 
            -
                      return (float) 0. | 
| 4706 | 
            +
                      return (float) 0.15356096333007935;
         | 
| 4707 4707 | 
             
                      break;
         | 
| 4708 4708 | 
             
                    case 0b1100010110010011:
         | 
| 4709 4709 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 4710 4710 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 4711 | 
            -
                      return (float) 0. | 
| 4711 | 
            +
                      return (float) 0.15726835580069912;
         | 
| 4712 4712 | 
             
                      break;
         | 
| 4713 4713 | 
             
                    case 0b1100100110110110:
         | 
| 4714 4714 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 4715 4715 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 4716 | 
            -
                      return (float) 0. | 
| 4716 | 
            +
                      return (float) 0.024273369417921457;
         | 
| 4717 4717 | 
             
                      break;
         | 
| 4718 4718 | 
             
                    case 0b1100100110010001:
         | 
| 4719 4719 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 4720 4720 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 4721 | 
            -
                      return (float) 0. | 
| 4721 | 
            +
                      return (float) 0.15147182760137673;
         | 
| 4722 4722 | 
             
                      break;
         | 
| 4723 4723 | 
             
                    case 0b1100100110010010:
         | 
| 4724 4724 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 4725 4725 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 4726 | 
            -
                      return (float) 0. | 
| 4726 | 
            +
                      return (float) 0.19784836130853378;
         | 
| 4727 4727 | 
             
                      break;
         | 
| 4728 4728 | 
             
                    case 0b1100101010001100:
         | 
| 4729 4729 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 4730 4730 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 4731 | 
            -
                      return (float) 0. | 
| 4731 | 
            +
                      return (float) 0.17328899375214935;
         | 
| 4732 4732 | 
             
                      break;
         | 
| 4733 4733 | 
             
                    case 0b1100100110011001:
         | 
| 4734 4734 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 4735 4735 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 4736 | 
            -
                      return (float) 0. | 
| 4736 | 
            +
                      return (float) 0.17328899375214935;
         | 
| 4737 4737 | 
             
                      break;
         | 
| 4738 4738 | 
             
                    case 0b1100100110011101:
         | 
| 4739 4739 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 4740 4740 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 4741 | 
            -
                      return (float) 0. | 
| 4741 | 
            +
                      return (float) 0.17328899375214935;
         | 
| 4742 4742 | 
             
                      break;
         | 
| 4743 4743 | 
             
                    case 0b1100100110010100:
         | 
| 4744 4744 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 4745 4745 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 4746 | 
            -
                      return (float) 0. | 
| 4746 | 
            +
                      return (float) 0.2798738707531893;
         | 
| 4747 4747 | 
             
                      break;
         | 
| 4748 4748 | 
             
                    case 0b1100100110100100:
         | 
| 4749 4749 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 4750 4750 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 4751 | 
            -
                      return (float) 0. | 
| 4751 | 
            +
                      return (float) 0.23777301736207815;
         | 
| 4752 4752 | 
             
                      break;
         | 
| 4753 4753 | 
             
                    case 0b01101111:
         | 
| 4754 4754 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 4755 4755 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 4756 | 
            -
                      return (float) 0. | 
| 4756 | 
            +
                      return (float) 0.3520188324311607;
         | 
| 4757 4757 | 
             
                      break;
         | 
| 4758 4758 | 
             
                    case 0b1100100110101111:
         | 
| 4759 4759 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 4760 4760 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 4761 | 
            -
                      return (float) 0. | 
| 4761 | 
            +
                      return (float) 0.3267598119739651;
         | 
| 4762 4762 | 
             
                      break;
         | 
| 4763 4763 | 
             
                    case 0b1100001110100110:
         | 
| 4764 4764 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 4765 4765 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 4766 | 
            -
                      return (float) 0. | 
| 4766 | 
            +
                      return (float) 0.06719542777767919;
         | 
| 4767 4767 | 
             
                      break;
         | 
| 4768 4768 | 
             
                    case 0b01110101:
         | 
| 4769 4769 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 4770 4770 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 4771 | 
            -
                      return (float) 0. | 
| 4771 | 
            +
                      return (float) 0.35567568136072886;
         | 
| 4772 4772 | 
             
                      break;
         | 
| 4773 4773 | 
             
                    case 0b1100101010001010:
         | 
| 4774 4774 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 4775 4775 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 4776 | 
            -
                      return (float) 0. | 
| 4776 | 
            +
                      return (float) 0.35567568136072886;
         | 
| 4777 4777 | 
             
                      break;
         | 
| 4778 4778 | 
             
                    case 0b011011011100110010100101:
         | 
| 4779 4779 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -5344,102 +5344,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 5344 5344 | 
             
                    case 0b01101001:
         | 
| 5345 5345 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 5346 5346 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 5347 | 
            -
                      return (float) 0. | 
| 5347 | 
            +
                      return (float) 0.38633268899103657;
         | 
| 5348 5348 | 
             
                      break;
         | 
| 5349 5349 | 
             
                    case 0b01111001:
         | 
| 5350 5350 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 5351 5351 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 5352 | 
            -
                      return (float) 0. | 
| 5352 | 
            +
                      return (float) 0.3640309293415891;
         | 
| 5353 5353 | 
             
                      break;
         | 
| 5354 5354 | 
             
                    case 0b1100100110101010:
         | 
| 5355 5355 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 5356 5356 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 5357 | 
            -
                      return (float) 0. | 
| 5357 | 
            +
                      return (float) 0.328124330613916;
         | 
| 5358 5358 | 
             
                      break;
         | 
| 5359 5359 | 
             
                    case 0b01100101:
         | 
| 5360 5360 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 5361 5361 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 5362 | 
            -
                      return (float) 0. | 
| 5362 | 
            +
                      return (float) 0.29952086020637975;
         | 
| 5363 5363 | 
             
                      break;
         | 
| 5364 5364 | 
             
                    case 0b1100001110111000:
         | 
| 5365 5365 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 5366 5366 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 5367 | 
            -
                      return (float) 0. | 
| 5367 | 
            +
                      return (float) 0.27570100549331866;
         | 
| 5368 5368 | 
             
                      break;
         | 
| 5369 5369 | 
             
                    case 0b1100100110011011:
         | 
| 5370 5370 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 5371 5371 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 5372 | 
            -
                      return (float) 0. | 
| 5372 | 
            +
                      return (float) 0.14560685371476179;
         | 
| 5373 5373 | 
             
                      break;
         | 
| 5374 5374 | 
             
                    case 0b1100010110010011:
         | 
| 5375 5375 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 5376 5376 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 5377 | 
            -
                      return (float) 0. | 
| 5377 | 
            +
                      return (float) 0.14323144396323173;
         | 
| 5378 5378 | 
             
                      break;
         | 
| 5379 5379 | 
             
                    case 0b01100001:
         | 
| 5380 5380 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 5381 5381 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 5382 | 
            -
                      return (float) 0. | 
| 5382 | 
            +
                      return (float) 0.024273369417921457;
         | 
| 5383 5383 | 
             
                      break;
         | 
| 5384 5384 | 
             
                    case 0b1100100110010001:
         | 
| 5385 5385 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 5386 5386 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 5387 | 
            -
                      return (float) 0. | 
| 5387 | 
            +
                      return (float) 0.12963027684359954;
         | 
| 5388 5388 | 
             
                      break;
         | 
| 5389 5389 | 
             
                    case 0b1100100110010010:
         | 
| 5390 5390 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 5391 5391 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 5392 | 
            -
                      return (float) 0. | 
| 5392 | 
            +
                      return (float) 0.17526039457442222;
         | 
| 5393 5393 | 
             
                      break;
         | 
| 5394 5394 | 
             
                    case 0b1100101010001100:
         | 
| 5395 5395 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 5396 5396 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 5397 | 
            -
                      return (float) 0. | 
| 5397 | 
            +
                      return (float) 0.1495740781161317;
         | 
| 5398 5398 | 
             
                      break;
         | 
| 5399 5399 | 
             
                    case 0b1100100110011001:
         | 
| 5400 5400 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 5401 5401 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 5402 | 
            -
                      return (float) 0. | 
| 5402 | 
            +
                      return (float) 0.1495740781161317;
         | 
| 5403 5403 | 
             
                      break;
         | 
| 5404 5404 | 
             
                    case 0b1100100110011101:
         | 
| 5405 5405 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 5406 5406 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 5407 | 
            -
                      return (float) 0. | 
| 5407 | 
            +
                      return (float) 0.1495740781161317;
         | 
| 5408 5408 | 
             
                      break;
         | 
| 5409 5409 | 
             
                    case 0b1100100110010100:
         | 
| 5410 5410 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 5411 5411 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 5412 | 
            -
                      return (float) 0. | 
| 5412 | 
            +
                      return (float) 0.2556026204143224;
         | 
| 5413 5413 | 
             
                      break;
         | 
| 5414 5414 | 
             
                    case 0b1100100110100100:
         | 
| 5415 5415 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 5416 5416 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 5417 | 
            -
                      return (float) 0. | 
| 5417 | 
            +
                      return (float) 0.21666791433408844;
         | 
| 5418 5418 | 
             
                      break;
         | 
| 5419 5419 | 
             
                    case 0b01101111:
         | 
| 5420 5420 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 5421 5421 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 5422 | 
            -
                      return (float) 0. | 
| 5422 | 
            +
                      return (float) 0.3280203246101719;
         | 
| 5423 5423 | 
             
                      break;
         | 
| 5424 5424 | 
             
                    case 0b1100100110101111:
         | 
| 5425 5425 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 5426 5426 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 5427 | 
            -
                      return (float) 0. | 
| 5427 | 
            +
                      return (float) 0.30726976467800227;
         | 
| 5428 5428 | 
             
                      break;
         | 
| 5429 5429 | 
             
                    case 0b1100001110100110:
         | 
| 5430 5430 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 5431 5431 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 5432 | 
            -
                      return (float) 0. | 
| 5432 | 
            +
                      return (float) 0.07797594874239139;
         | 
| 5433 5433 | 
             
                      break;
         | 
| 5434 5434 | 
             
                    case 0b01110101:
         | 
| 5435 5435 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 5436 5436 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 5437 | 
            -
                      return (float) 0. | 
| 5437 | 
            +
                      return (float) 0.33173347324362773;
         | 
| 5438 5438 | 
             
                      break;
         | 
| 5439 5439 | 
             
                    case 0b1100101010001010:
         | 
| 5440 5440 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 5441 5441 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 5442 | 
            -
                      return (float) 0. | 
| 5442 | 
            +
                      return (float) 0.33173347324362773;
         | 
| 5443 5443 | 
             
                      break;
         | 
| 5444 5444 | 
             
                    case 0b011011011100110010100101:
         | 
| 5445 5445 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -6010,102 +6010,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 6010 6010 | 
             
                    case 0b01101001:
         | 
| 6011 6011 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 6012 6012 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 6013 | 
            -
                      return (float) 0. | 
| 6013 | 
            +
                      return (float) 0.42722050642626125;
         | 
| 6014 6014 | 
             
                      break;
         | 
| 6015 6015 | 
             
                    case 0b01111001:
         | 
| 6016 6016 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 6017 6017 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 6018 | 
            -
                      return (float) 0. | 
| 6018 | 
            +
                      return (float) 0.3875256561560303;
         | 
| 6019 6019 | 
             
                      break;
         | 
| 6020 6020 | 
             
                    case 0b1100100110101010:
         | 
| 6021 6021 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 6022 6022 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 6023 | 
            -
                      return (float) 0. | 
| 6023 | 
            +
                      return (float) 0.3584298842591489;
         | 
| 6024 6024 | 
             
                      break;
         | 
| 6025 6025 | 
             
                    case 0b01100101:
         | 
| 6026 6026 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 6027 6027 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 6028 | 
            -
                      return (float) 0. | 
| 6028 | 
            +
                      return (float) 0.3537259793049094;
         | 
| 6029 6029 | 
             
                      break;
         | 
| 6030 6030 | 
             
                    case 0b1100001110111000:
         | 
| 6031 6031 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 6032 6032 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 6033 | 
            -
                      return (float) 0. | 
| 6033 | 
            +
                      return (float) 0.2999423243289873;
         | 
| 6034 6034 | 
             
                      break;
         | 
| 6035 6035 | 
             
                    case 0b1100100110011011:
         | 
| 6036 6036 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 6037 6037 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 6038 | 
            -
                      return (float) 0. | 
| 6038 | 
            +
                      return (float) 0.21629148601000278;
         | 
| 6039 6039 | 
             
                      break;
         | 
| 6040 6040 | 
             
                    case 0b1100010110010011:
         | 
| 6041 6041 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 6042 6042 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 6043 | 
            -
                      return (float) 0. | 
| 6043 | 
            +
                      return (float) 0.18749379234886135;
         | 
| 6044 6044 | 
             
                      break;
         | 
| 6045 6045 | 
             
                    case 0b01100001:
         | 
| 6046 6046 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 6047 6047 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 6048 | 
            -
                      return (float) 0. | 
| 6048 | 
            +
                      return (float) 0.15147182760137673;
         | 
| 6049 6049 | 
             
                      break;
         | 
| 6050 6050 | 
             
                    case 0b1100100110110110:
         | 
| 6051 6051 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 6052 6052 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 6053 | 
            -
                      return (float) 0. | 
| 6053 | 
            +
                      return (float) 0.12963027684359954;
         | 
| 6054 6054 | 
             
                      break;
         | 
| 6055 6055 | 
             
                    case 0b1100100110010010:
         | 
| 6056 6056 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 6057 6057 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 6058 | 
            -
                      return (float) 0. | 
| 6058 | 
            +
                      return (float) 0.04765817771499645;
         | 
| 6059 6059 | 
             
                      break;
         | 
| 6060 6060 | 
             
                    case 0b1100101010001100:
         | 
| 6061 6061 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 6062 6062 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 6063 | 
            -
                      return (float) 0. | 
| 6063 | 
            +
                      return (float) 0.10040654397235334;
         | 
| 6064 6064 | 
             
                      break;
         | 
| 6065 6065 | 
             
                    case 0b1100100110011001:
         | 
| 6066 6066 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 6067 6067 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 6068 | 
            -
                      return (float) 0. | 
| 6068 | 
            +
                      return (float) 0.10040654397235334;
         | 
| 6069 6069 | 
             
                      break;
         | 
| 6070 6070 | 
             
                    case 0b1100100110011101:
         | 
| 6071 6071 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 6072 6072 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 6073 | 
            -
                      return (float) 0. | 
| 6073 | 
            +
                      return (float) 0.10040654397235334;
         | 
| 6074 6074 | 
             
                      break;
         | 
| 6075 6075 | 
             
                    case 0b1100100110010100:
         | 
| 6076 6076 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 6077 6077 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 6078 | 
            -
                      return (float) 0. | 
| 6078 | 
            +
                      return (float) 0.155326422664834;
         | 
| 6079 6079 | 
             
                      break;
         | 
| 6080 6080 | 
             
                    case 0b1100100110100100:
         | 
| 6081 6081 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 6082 6082 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 6083 | 
            -
                      return (float) 0. | 
| 6083 | 
            +
                      return (float) 0.18719558301022762;
         | 
| 6084 6084 | 
             
                      break;
         | 
| 6085 6085 | 
             
                    case 0b01101111:
         | 
| 6086 6086 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 6087 6087 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 6088 | 
            -
                      return (float) 0. | 
| 6088 | 
            +
                      return (float) 0.23777301736207812;
         | 
| 6089 6089 | 
             
                      break;
         | 
| 6090 6090 | 
             
                    case 0b1100100110101111:
         | 
| 6091 6091 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 6092 6092 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 6093 | 
            -
                      return (float) 0. | 
| 6093 | 
            +
                      return (float) 0.2808171409516326;
         | 
| 6094 6094 | 
             
                      break;
         | 
| 6095 6095 | 
             
                    case 0b1100001110100110:
         | 
| 6096 6096 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 6097 6097 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 6098 | 
            -
                      return (float) 0. | 
| 6098 | 
            +
                      return (float) 0.2021510620875245;
         | 
| 6099 6099 | 
             
                      break;
         | 
| 6100 6100 | 
             
                    case 0b01110101:
         | 
| 6101 6101 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 6102 6102 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 6103 | 
            -
                      return (float) 0. | 
| 6103 | 
            +
                      return (float) 0.2429269343041629;
         | 
| 6104 6104 | 
             
                      break;
         | 
| 6105 6105 | 
             
                    case 0b1100101010001010:
         | 
| 6106 6106 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 6107 6107 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 6108 | 
            -
                      return (float) 0. | 
| 6108 | 
            +
                      return (float) 0.2429269343041629;
         | 
| 6109 6109 | 
             
                      break;
         | 
| 6110 6110 | 
             
                    case 0b011011011100110010100101:
         | 
| 6111 6111 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -6676,102 +6676,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 6676 6676 | 
             
                    case 0b01101001:
         | 
| 6677 6677 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 6678 6678 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 6679 | 
            -
                      return (float) 0. | 
| 6679 | 
            +
                      return (float) 0.43583724507056054;
         | 
| 6680 6680 | 
             
                      break;
         | 
| 6681 6681 | 
             
                    case 0b01111001:
         | 
| 6682 6682 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 6683 6683 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 6684 | 
            -
                      return (float) 0. | 
| 6684 | 
            +
                      return (float) 0.39083547290148035;
         | 
| 6685 6685 | 
             
                      break;
         | 
| 6686 6686 | 
             
                    case 0b1100100110101010:
         | 
| 6687 6687 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 6688 6688 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 6689 | 
            -
                      return (float) 0. | 
| 6689 | 
            +
                      return (float) 0.36509909555774817;
         | 
| 6690 6690 | 
             
                      break;
         | 
| 6691 6691 | 
             
                    case 0b01100101:
         | 
| 6692 6692 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 6693 6693 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 6694 | 
            -
                      return (float) 0. | 
| 6694 | 
            +
                      return (float) 0.36903471778883773;
         | 
| 6695 6695 | 
             
                      break;
         | 
| 6696 6696 | 
             
                    case 0b1100001110111000:
         | 
| 6697 6697 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 6698 6698 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 6699 | 
            -
                      return (float) 0. | 
| 6699 | 
            +
                      return (float) 0.30673752770023754;
         | 
| 6700 6700 | 
             
                      break;
         | 
| 6701 6701 | 
             
                    case 0b1100100110011011:
         | 
| 6702 6702 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 6703 6703 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 6704 | 
            -
                      return (float) 0. | 
| 6704 | 
            +
                      return (float) 0.24332903272336817;
         | 
| 6705 6705 | 
             
                      break;
         | 
| 6706 6706 | 
             
                    case 0b1100010110010011:
         | 
| 6707 6707 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 6708 6708 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 6709 | 
            -
                      return (float) 0. | 
| 6709 | 
            +
                      return (float) 0.20915814952307862;
         | 
| 6710 6710 | 
             
                      break;
         | 
| 6711 6711 | 
             
                    case 0b01100001:
         | 
| 6712 6712 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 6713 6713 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 6714 | 
            -
                      return (float) 0. | 
| 6714 | 
            +
                      return (float) 0.19784836130853378;
         | 
| 6715 6715 | 
             
                      break;
         | 
| 6716 6716 | 
             
                    case 0b1100100110110110:
         | 
| 6717 6717 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 6718 6718 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 6719 | 
            -
                      return (float) 0. | 
| 6719 | 
            +
                      return (float) 0.17526039457442222;
         | 
| 6720 6720 | 
             
                      break;
         | 
| 6721 6721 | 
             
                    case 0b1100100110010001:
         | 
| 6722 6722 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 6723 6723 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 6724 | 
            -
                      return (float) 0. | 
| 6724 | 
            +
                      return (float) 0.04765817771499645;
         | 
| 6725 6725 | 
             
                      break;
         | 
| 6726 6726 | 
             
                    case 0b1100101010001100:
         | 
| 6727 6727 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 6728 6728 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 6729 | 
            -
                      return (float) 0. | 
| 6729 | 
            +
                      return (float) 0.10371217169118192;
         | 
| 6730 6730 | 
             
                      break;
         | 
| 6731 6731 | 
             
                    case 0b1100100110011001:
         | 
| 6732 6732 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 6733 6733 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 6734 | 
            -
                      return (float) 0. | 
| 6734 | 
            +
                      return (float) 0.10371217169118192;
         | 
| 6735 6735 | 
             
                      break;
         | 
| 6736 6736 | 
             
                    case 0b1100100110011101:
         | 
| 6737 6737 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 6738 6738 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 6739 | 
            -
                      return (float) 0. | 
| 6739 | 
            +
                      return (float) 0.10371217169118192;
         | 
| 6740 6740 | 
             
                      break;
         | 
| 6741 6741 | 
             
                    case 0b1100100110010100:
         | 
| 6742 6742 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 6743 6743 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 6744 | 
            -
                      return (float) 0. | 
| 6744 | 
            +
                      return (float) 0.11830925766746656;
         | 
| 6745 6745 | 
             
                      break;
         | 
| 6746 6746 | 
             
                    case 0b1100100110100100:
         | 
| 6747 6747 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 6748 6748 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 6749 | 
            -
                      return (float) 0. | 
| 6749 | 
            +
                      return (float) 0.18182446514572412;
         | 
| 6750 6750 | 
             
                      break;
         | 
| 6751 6751 | 
             
                    case 0b01101111:
         | 
| 6752 6752 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 6753 6753 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 6754 | 
            -
                      return (float) 0. | 
| 6754 | 
            +
                      return (float) 0.20155644370746376;
         | 
| 6755 6755 | 
             
                      break;
         | 
| 6756 6756 | 
             
                    case 0b1100100110101111:
         | 
| 6757 6757 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 6758 6758 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 6759 | 
            -
                      return (float) 0. | 
| 6759 | 
            +
                      return (float) 0.2694250996089784;
         | 
| 6760 6760 | 
             
                      break;
         | 
| 6761 6761 | 
             
                    case 0b1100001110100110:
         | 
| 6762 6762 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 6763 6763 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 6764 | 
            -
                      return (float) 0. | 
| 6764 | 
            +
                      return (float) 0.24467623017460594;
         | 
| 6765 6765 | 
             
                      break;
         | 
| 6766 6766 | 
             
                    case 0b01110101:
         | 
| 6767 6767 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 6768 6768 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 6769 | 
            -
                      return (float) 0. | 
| 6769 | 
            +
                      return (float) 0.207153848295672;
         | 
| 6770 6770 | 
             
                      break;
         | 
| 6771 6771 | 
             
                    case 0b1100101010001010:
         | 
| 6772 6772 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 6773 6773 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 6774 | 
            -
                      return (float) 0. | 
| 6774 | 
            +
                      return (float) 0.207153848295672;
         | 
| 6775 6775 | 
             
                      break;
         | 
| 6776 6776 | 
             
                    case 0b011011011100110010100101:
         | 
| 6777 6777 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -7342,57 +7342,57 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 7342 7342 | 
             
                    case 0b01101001:
         | 
| 7343 7343 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 7344 7344 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 7345 | 
            -
                      return (float) 0. | 
| 7345 | 
            +
                      return (float) 0.3324279668701769;
         | 
| 7346 7346 | 
             
                      break;
         | 
| 7347 7347 | 
             
                    case 0b01111001:
         | 
| 7348 7348 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 7349 7349 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 7350 | 
            -
                      return (float) 0. | 
| 7350 | 
            +
                      return (float) 0.2892017953211131;
         | 
| 7351 7351 | 
             
                      break;
         | 
| 7352 7352 | 
             
                    case 0b1100100110101010:
         | 
| 7353 7353 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 7354 7354 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 7355 | 
            -
                      return (float) 0. | 
| 7355 | 
            +
                      return (float) 0.26207046955372654;
         | 
| 7356 7356 | 
             
                      break;
         | 
| 7357 7357 | 
             
                    case 0b01100101:
         | 
| 7358 7358 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 7359 7359 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 7360 | 
            -
                      return (float) 0. | 
| 7360 | 
            +
                      return (float) 0.26585808717317344;
         | 
| 7361 7361 | 
             
                      break;
         | 
| 7362 7362 | 
             
                    case 0b1100001110111000:
         | 
| 7363 7363 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 7364 7364 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 7365 | 
            -
                      return (float) 0. | 
| 7365 | 
            +
                      return (float) 0.20355303620352602;
         | 
| 7366 7366 | 
             
                      break;
         | 
| 7367 7367 | 
             
                    case 0b1100100110011011:
         | 
| 7368 7368 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 7369 7369 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 7370 | 
            -
                      return (float) 0. | 
| 7370 | 
            +
                      return (float) 0.15219705106835135;
         | 
| 7371 7371 | 
             
                      break;
         | 
| 7372 7372 | 
             
                    case 0b1100010110010011:
         | 
| 7373 7373 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 7374 7374 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 7375 | 
            -
                      return (float) 0. | 
| 7375 | 
            +
                      return (float) 0.11284549025672351;
         | 
| 7376 7376 | 
             
                      break;
         | 
| 7377 7377 | 
             
                    case 0b01100001:
         | 
| 7378 7378 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 7379 7379 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 7380 | 
            -
                      return (float) 0. | 
| 7380 | 
            +
                      return (float) 0.17328899375214935;
         | 
| 7381 7381 | 
             
                      break;
         | 
| 7382 7382 | 
             
                    case 0b1100100110110110:
         | 
| 7383 7383 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 7384 7384 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 7385 | 
            -
                      return (float) 0. | 
| 7385 | 
            +
                      return (float) 0.1495740781161317;
         | 
| 7386 7386 | 
             
                      break;
         | 
| 7387 7387 | 
             
                    case 0b1100100110010001:
         | 
| 7388 7388 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 7389 7389 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 7390 | 
            -
                      return (float) 0. | 
| 7390 | 
            +
                      return (float) 0.10040654397235334;
         | 
| 7391 7391 | 
             
                      break;
         | 
| 7392 7392 | 
             
                    case 0b1100100110010010:
         | 
| 7393 7393 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 7394 7394 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 7395 | 
            -
                      return (float) 0. | 
| 7395 | 
            +
                      return (float) 0.10371217169118192;
         | 
| 7396 7396 | 
             
                      break;
         | 
| 7397 7397 | 
             
                    case 0b1100100110011001:
         | 
| 7398 7398 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| @@ -7407,37 +7407,37 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 7407 7407 | 
             
                    case 0b1100100110010100:
         | 
| 7408 7408 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 7409 7409 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 7410 | 
            -
                      return (float) 0. | 
| 7410 | 
            +
                      return (float) 0.11422732257900409;
         | 
| 7411 7411 | 
             
                      break;
         | 
| 7412 7412 | 
             
                    case 0b1100100110100100:
         | 
| 7413 7413 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 7414 7414 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 7415 | 
            -
                      return (float) 0. | 
| 7415 | 
            +
                      return (float) 0.08736533274050794;
         | 
| 7416 7416 | 
             
                      break;
         | 
| 7417 7417 | 
             
                    case 0b01101111:
         | 
| 7418 7418 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 7419 7419 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 7420 | 
            -
                      return (float) 0. | 
| 7420 | 
            +
                      return (float) 0.17922788880508703;
         | 
| 7421 7421 | 
             
                      break;
         | 
| 7422 7422 | 
             
                    case 0b1100100110101111:
         | 
| 7423 7423 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 7424 7424 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 7425 | 
            -
                      return (float) 0. | 
| 7425 | 
            +
                      return (float) 0.182325431458574;
         | 
| 7426 7426 | 
             
                      break;
         | 
| 7427 7427 | 
             
                    case 0b1100001110100110:
         | 
| 7428 7428 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 7429 7429 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 7430 | 
            -
                      return (float) 0. | 
| 7430 | 
            +
                      return (float) 0.19227628748133446;
         | 
| 7431 7431 | 
             
                      break;
         | 
| 7432 7432 | 
             
                    case 0b01110101:
         | 
| 7433 7433 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 7434 7434 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 7435 | 
            -
                      return (float) 0. | 
| 7435 | 
            +
                      return (float) 0.18265379461967324;
         | 
| 7436 7436 | 
             
                      break;
         | 
| 7437 7437 | 
             
                    case 0b1100101010001010:
         | 
| 7438 7438 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 7439 7439 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 7440 | 
            -
                      return (float) 0. | 
| 7440 | 
            +
                      return (float) 0.18265379461967324;
         | 
| 7441 7441 | 
             
                      break;
         | 
| 7442 7442 | 
             
                    case 0b011011011100110010100101:
         | 
| 7443 7443 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -8008,57 +8008,57 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 8008 8008 | 
             
                    case 0b01101001:
         | 
| 8009 8009 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 8010 8010 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 8011 | 
            -
                      return (float) 0. | 
| 8011 | 
            +
                      return (float) 0.3324279668701769;
         | 
| 8012 8012 | 
             
                      break;
         | 
| 8013 8013 | 
             
                    case 0b01111001:
         | 
| 8014 8014 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 8015 8015 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 8016 | 
            -
                      return (float) 0. | 
| 8016 | 
            +
                      return (float) 0.2892017953211131;
         | 
| 8017 8017 | 
             
                      break;
         | 
| 8018 8018 | 
             
                    case 0b1100100110101010:
         | 
| 8019 8019 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 8020 8020 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 8021 | 
            -
                      return (float) 0. | 
| 8021 | 
            +
                      return (float) 0.26207046955372654;
         | 
| 8022 8022 | 
             
                      break;
         | 
| 8023 8023 | 
             
                    case 0b01100101:
         | 
| 8024 8024 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 8025 8025 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 8026 | 
            -
                      return (float) 0. | 
| 8026 | 
            +
                      return (float) 0.26585808717317344;
         | 
| 8027 8027 | 
             
                      break;
         | 
| 8028 8028 | 
             
                    case 0b1100001110111000:
         | 
| 8029 8029 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 8030 8030 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 8031 | 
            -
                      return (float) 0. | 
| 8031 | 
            +
                      return (float) 0.20355303620352602;
         | 
| 8032 8032 | 
             
                      break;
         | 
| 8033 8033 | 
             
                    case 0b1100100110011011:
         | 
| 8034 8034 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 8035 8035 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 8036 | 
            -
                      return (float) 0. | 
| 8036 | 
            +
                      return (float) 0.15219705106835135;
         | 
| 8037 8037 | 
             
                      break;
         | 
| 8038 8038 | 
             
                    case 0b1100010110010011:
         | 
| 8039 8039 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 8040 8040 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 8041 | 
            -
                      return (float) 0. | 
| 8041 | 
            +
                      return (float) 0.11284549025672351;
         | 
| 8042 8042 | 
             
                      break;
         | 
| 8043 8043 | 
             
                    case 0b01100001:
         | 
| 8044 8044 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 8045 8045 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 8046 | 
            -
                      return (float) 0. | 
| 8046 | 
            +
                      return (float) 0.17328899375214935;
         | 
| 8047 8047 | 
             
                      break;
         | 
| 8048 8048 | 
             
                    case 0b1100100110110110:
         | 
| 8049 8049 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 8050 8050 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 8051 | 
            -
                      return (float) 0. | 
| 8051 | 
            +
                      return (float) 0.1495740781161317;
         | 
| 8052 8052 | 
             
                      break;
         | 
| 8053 8053 | 
             
                    case 0b1100100110010001:
         | 
| 8054 8054 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 8055 8055 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 8056 | 
            -
                      return (float) 0. | 
| 8056 | 
            +
                      return (float) 0.10040654397235334;
         | 
| 8057 8057 | 
             
                      break;
         | 
| 8058 8058 | 
             
                    case 0b1100100110010010:
         | 
| 8059 8059 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 8060 8060 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 8061 | 
            -
                      return (float) 0. | 
| 8061 | 
            +
                      return (float) 0.10371217169118192;
         | 
| 8062 8062 | 
             
                      break;
         | 
| 8063 8063 | 
             
                    case 0b1100101010001100:
         | 
| 8064 8064 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| @@ -8073,37 +8073,37 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 8073 8073 | 
             
                    case 0b1100100110010100:
         | 
| 8074 8074 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 8075 8075 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 8076 | 
            -
                      return (float) 0. | 
| 8076 | 
            +
                      return (float) 0.11422732257900409;
         | 
| 8077 8077 | 
             
                      break;
         | 
| 8078 8078 | 
             
                    case 0b1100100110100100:
         | 
| 8079 8079 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 8080 8080 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 8081 | 
            -
                      return (float) 0. | 
| 8081 | 
            +
                      return (float) 0.08736533274050794;
         | 
| 8082 8082 | 
             
                      break;
         | 
| 8083 8083 | 
             
                    case 0b01101111:
         | 
| 8084 8084 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 8085 8085 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 8086 | 
            -
                      return (float) 0. | 
| 8086 | 
            +
                      return (float) 0.17922788880508703;
         | 
| 8087 8087 | 
             
                      break;
         | 
| 8088 8088 | 
             
                    case 0b1100100110101111:
         | 
| 8089 8089 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 8090 8090 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 8091 | 
            -
                      return (float) 0. | 
| 8091 | 
            +
                      return (float) 0.182325431458574;
         | 
| 8092 8092 | 
             
                      break;
         | 
| 8093 8093 | 
             
                    case 0b1100001110100110:
         | 
| 8094 8094 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 8095 8095 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 8096 | 
            -
                      return (float) 0. | 
| 8096 | 
            +
                      return (float) 0.19227628748133446;
         | 
| 8097 8097 | 
             
                      break;
         | 
| 8098 8098 | 
             
                    case 0b01110101:
         | 
| 8099 8099 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 8100 8100 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 8101 | 
            -
                      return (float) 0. | 
| 8101 | 
            +
                      return (float) 0.18265379461967324;
         | 
| 8102 8102 | 
             
                      break;
         | 
| 8103 8103 | 
             
                    case 0b1100101010001010:
         | 
| 8104 8104 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 8105 8105 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 8106 | 
            -
                      return (float) 0. | 
| 8106 | 
            +
                      return (float) 0.18265379461967324;
         | 
| 8107 8107 | 
             
                      break;
         | 
| 8108 8108 | 
             
                    case 0b011011011100110010100101:
         | 
| 8109 8109 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -8674,57 +8674,57 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 8674 8674 | 
             
                    case 0b01101001:
         | 
| 8675 8675 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 8676 8676 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 8677 | 
            -
                      return (float) 0. | 
| 8677 | 
            +
                      return (float) 0.3324279668701769;
         | 
| 8678 8678 | 
             
                      break;
         | 
| 8679 8679 | 
             
                    case 0b01111001:
         | 
| 8680 8680 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 8681 8681 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 8682 | 
            -
                      return (float) 0. | 
| 8682 | 
            +
                      return (float) 0.2892017953211131;
         | 
| 8683 8683 | 
             
                      break;
         | 
| 8684 8684 | 
             
                    case 0b1100100110101010:
         | 
| 8685 8685 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 8686 8686 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 8687 | 
            -
                      return (float) 0. | 
| 8687 | 
            +
                      return (float) 0.26207046955372654;
         | 
| 8688 8688 | 
             
                      break;
         | 
| 8689 8689 | 
             
                    case 0b01100101:
         | 
| 8690 8690 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 8691 8691 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 8692 | 
            -
                      return (float) 0. | 
| 8692 | 
            +
                      return (float) 0.26585808717317344;
         | 
| 8693 8693 | 
             
                      break;
         | 
| 8694 8694 | 
             
                    case 0b1100001110111000:
         | 
| 8695 8695 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 8696 8696 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 8697 | 
            -
                      return (float) 0. | 
| 8697 | 
            +
                      return (float) 0.20355303620352602;
         | 
| 8698 8698 | 
             
                      break;
         | 
| 8699 8699 | 
             
                    case 0b1100100110011011:
         | 
| 8700 8700 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 8701 8701 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 8702 | 
            -
                      return (float) 0. | 
| 8702 | 
            +
                      return (float) 0.15219705106835135;
         | 
| 8703 8703 | 
             
                      break;
         | 
| 8704 8704 | 
             
                    case 0b1100010110010011:
         | 
| 8705 8705 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 8706 8706 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 8707 | 
            -
                      return (float) 0. | 
| 8707 | 
            +
                      return (float) 0.11284549025672351;
         | 
| 8708 8708 | 
             
                      break;
         | 
| 8709 8709 | 
             
                    case 0b01100001:
         | 
| 8710 8710 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 8711 8711 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 8712 | 
            -
                      return (float) 0. | 
| 8712 | 
            +
                      return (float) 0.17328899375214935;
         | 
| 8713 8713 | 
             
                      break;
         | 
| 8714 8714 | 
             
                    case 0b1100100110110110:
         | 
| 8715 8715 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 8716 8716 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 8717 | 
            -
                      return (float) 0. | 
| 8717 | 
            +
                      return (float) 0.1495740781161317;
         | 
| 8718 8718 | 
             
                      break;
         | 
| 8719 8719 | 
             
                    case 0b1100100110010001:
         | 
| 8720 8720 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 8721 8721 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 8722 | 
            -
                      return (float) 0. | 
| 8722 | 
            +
                      return (float) 0.10040654397235334;
         | 
| 8723 8723 | 
             
                      break;
         | 
| 8724 8724 | 
             
                    case 0b1100100110010010:
         | 
| 8725 8725 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 8726 8726 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 8727 | 
            -
                      return (float) 0. | 
| 8727 | 
            +
                      return (float) 0.10371217169118192;
         | 
| 8728 8728 | 
             
                      break;
         | 
| 8729 8729 | 
             
                    case 0b1100101010001100:
         | 
| 8730 8730 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| @@ -8739,37 +8739,37 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 8739 8739 | 
             
                    case 0b1100100110010100:
         | 
| 8740 8740 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 8741 8741 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 8742 | 
            -
                      return (float) 0. | 
| 8742 | 
            +
                      return (float) 0.11422732257900409;
         | 
| 8743 8743 | 
             
                      break;
         | 
| 8744 8744 | 
             
                    case 0b1100100110100100:
         | 
| 8745 8745 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 8746 8746 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 8747 | 
            -
                      return (float) 0. | 
| 8747 | 
            +
                      return (float) 0.08736533274050794;
         | 
| 8748 8748 | 
             
                      break;
         | 
| 8749 8749 | 
             
                    case 0b01101111:
         | 
| 8750 8750 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 8751 8751 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 8752 | 
            -
                      return (float) 0. | 
| 8752 | 
            +
                      return (float) 0.17922788880508703;
         | 
| 8753 8753 | 
             
                      break;
         | 
| 8754 8754 | 
             
                    case 0b1100100110101111:
         | 
| 8755 8755 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 8756 8756 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 8757 | 
            -
                      return (float) 0. | 
| 8757 | 
            +
                      return (float) 0.182325431458574;
         | 
| 8758 8758 | 
             
                      break;
         | 
| 8759 8759 | 
             
                    case 0b1100001110100110:
         | 
| 8760 8760 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 8761 8761 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 8762 | 
            -
                      return (float) 0. | 
| 8762 | 
            +
                      return (float) 0.19227628748133446;
         | 
| 8763 8763 | 
             
                      break;
         | 
| 8764 8764 | 
             
                    case 0b01110101:
         | 
| 8765 8765 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 8766 8766 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 8767 | 
            -
                      return (float) 0. | 
| 8767 | 
            +
                      return (float) 0.18265379461967324;
         | 
| 8768 8768 | 
             
                      break;
         | 
| 8769 8769 | 
             
                    case 0b1100101010001010:
         | 
| 8770 8770 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 8771 8771 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 8772 | 
            -
                      return (float) 0. | 
| 8772 | 
            +
                      return (float) 0.18265379461967324;
         | 
| 8773 8773 | 
             
                      break;
         | 
| 8774 8774 | 
             
                    case 0b011011011100110010100101:
         | 
| 8775 8775 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -9340,102 +9340,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 9340 9340 | 
             
                    case 0b01101001:
         | 
| 9341 9341 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 9342 9342 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 9343 | 
            -
                      return (float) 0. | 
| 9343 | 
            +
                      return (float) 0.38577847430615586;
         | 
| 9344 9344 | 
             
                      break;
         | 
| 9345 9345 | 
             
                    case 0b01111001:
         | 
| 9346 9346 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 9347 9347 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 9348 | 
            -
                      return (float) 0. | 
| 9348 | 
            +
                      return (float) 0.3307094682692377;
         | 
| 9349 9349 | 
             
                      break;
         | 
| 9350 9350 | 
             
                    case 0b1100100110101010:
         | 
| 9351 9351 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 9352 9352 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 9353 | 
            -
                      return (float) 0. | 
| 9353 | 
            +
                      return (float) 0.31450003957753553;
         | 
| 9354 9354 | 
             
                      break;
         | 
| 9355 9355 | 
             
                    case 0b01100101:
         | 
| 9356 9356 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 9357 9357 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 9358 | 
            -
                      return (float) 0. | 
| 9358 | 
            +
                      return (float) 0.3395555364328253;
         | 
| 9359 9359 | 
             
                      break;
         | 
| 9360 9360 | 
             
                    case 0b1100001110111000:
         | 
| 9361 9361 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 9362 9362 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 9363 | 
            -
                      return (float) 0. | 
| 9363 | 
            +
                      return (float) 0.2614340277489751;
         | 
| 9364 9364 | 
             
                      break;
         | 
| 9365 9365 | 
             
                    case 0b1100100110011011:
         | 
| 9366 9366 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 9367 9367 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 9368 | 
            -
                      return (float) 0. | 
| 9368 | 
            +
                      return (float) 0.2582379739911864;
         | 
| 9369 9369 | 
             
                      break;
         | 
| 9370 9370 | 
             
                    case 0b1100010110010011:
         | 
| 9371 9371 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 9372 9372 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 9373 | 
            -
                      return (float) 0. | 
| 9373 | 
            +
                      return (float) 0.21627568890448853;
         | 
| 9374 9374 | 
             
                      break;
         | 
| 9375 9375 | 
             
                    case 0b01100001:
         | 
| 9376 9376 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 9377 9377 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 9378 | 
            -
                      return (float) 0. | 
| 9378 | 
            +
                      return (float) 0.2798738707531893;
         | 
| 9379 9379 | 
             
                      break;
         | 
| 9380 9380 | 
             
                    case 0b1100100110110110:
         | 
| 9381 9381 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 9382 9382 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 9383 | 
            -
                      return (float) 0. | 
| 9383 | 
            +
                      return (float) 0.2556026204143224;
         | 
| 9384 9384 | 
             
                      break;
         | 
| 9385 9385 | 
             
                    case 0b1100100110010001:
         | 
| 9386 9386 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 9387 9387 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 9388 | 
            -
                      return (float) 0. | 
| 9388 | 
            +
                      return (float) 0.155326422664834;
         | 
| 9389 9389 | 
             
                      break;
         | 
| 9390 9390 | 
             
                    case 0b1100100110010010:
         | 
| 9391 9391 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 9392 9392 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 9393 | 
            -
                      return (float) 0. | 
| 9393 | 
            +
                      return (float) 0.11830925766746656;
         | 
| 9394 9394 | 
             
                      break;
         | 
| 9395 9395 | 
             
                    case 0b1100101010001100:
         | 
| 9396 9396 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 9397 9397 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 9398 | 
            -
                      return (float) 0. | 
| 9398 | 
            +
                      return (float) 0.11422732257900409;
         | 
| 9399 9399 | 
             
                      break;
         | 
| 9400 9400 | 
             
                    case 0b1100100110011001:
         | 
| 9401 9401 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 9402 9402 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 9403 | 
            -
                      return (float) 0. | 
| 9403 | 
            +
                      return (float) 0.11422732257900409;
         | 
| 9404 9404 | 
             
                      break;
         | 
| 9405 9405 | 
             
                    case 0b1100100110011101:
         | 
| 9406 9406 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 9407 9407 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 9408 | 
            -
                      return (float) 0. | 
| 9408 | 
            +
                      return (float) 0.11422732257900409;
         | 
| 9409 9409 | 
             
                      break;
         | 
| 9410 9410 | 
             
                    case 0b1100100110100100:
         | 
| 9411 9411 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 9412 9412 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 9413 | 
            -
                      return (float) 0. | 
| 9413 | 
            +
                      return (float) 0.12924320805792539;
         | 
| 9414 9414 | 
             
                      break;
         | 
| 9415 9415 | 
             
                    case 0b01101111:
         | 
| 9416 9416 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 9417 9417 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 9418 | 
            -
                      return (float) 0. | 
| 9418 | 
            +
                      return (float) 0.08329619991581384;
         | 
| 9419 9419 | 
             
                      break;
         | 
| 9420 9420 | 
             
                    case 0b1100100110101111:
         | 
| 9421 9421 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 9422 9422 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 9423 | 
            -
                      return (float) 0. | 
| 9423 | 
            +
                      return (float) 0.1857549271212664;
         | 
| 9424 9424 | 
             
                      break;
         | 
| 9425 9425 | 
             
                    case 0b1100001110100110:
         | 
| 9426 9426 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 9427 9427 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 9428 | 
            -
                      return (float) 0. | 
| 9428 | 
            +
                      return (float) 0.30600958892183544;
         | 
| 9429 9429 | 
             
                      break;
         | 
| 9430 9430 | 
             
                    case 0b01110101:
         | 
| 9431 9431 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 9432 9432 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 9433 | 
            -
                      return (float) 0. | 
| 9433 | 
            +
                      return (float) 0.08884803921568628;
         | 
| 9434 9434 | 
             
                      break;
         | 
| 9435 9435 | 
             
                    case 0b1100101010001010:
         | 
| 9436 9436 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 9437 9437 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 9438 | 
            -
                      return (float) 0. | 
| 9438 | 
            +
                      return (float) 0.08884803921568628;
         | 
| 9439 9439 | 
             
                      break;
         | 
| 9440 9440 | 
             
                    case 0b011011011100110010100101:
         | 
| 9441 9441 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -10006,102 +10006,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 10006 10006 | 
             
                    case 0b01101001:
         | 
| 10007 10007 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 10008 10008 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 10009 | 
            -
                      return (float) 0. | 
| 10009 | 
            +
                      return (float) 0.2613699392089083;
         | 
| 10010 10010 | 
             
                      break;
         | 
| 10011 10011 | 
             
                    case 0b01111001:
         | 
| 10012 10012 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 10013 10013 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 10014 | 
            -
                      return (float) 0. | 
| 10014 | 
            +
                      return (float) 0.21119889831429847;
         | 
| 10015 10015 | 
             
                      break;
         | 
| 10016 10016 | 
             
                    case 0b1100100110101010:
         | 
| 10017 10017 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 10018 10018 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 10019 | 
            -
                      return (float) 0. | 
| 10019 | 
            +
                      return (float) 0.1895937897163311;
         | 
| 10020 10020 | 
             
                      break;
         | 
| 10021 10021 | 
             
                    case 0b01100101:
         | 
| 10022 10022 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 10023 10023 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 10024 | 
            -
                      return (float) 0. | 
| 10024 | 
            +
                      return (float) 0.2103201469904959;
         | 
| 10025 10025 | 
             
                      break;
         | 
| 10026 10026 | 
             
                    case 0b1100001110111000:
         | 
| 10027 10027 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 10028 10028 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 10029 | 
            -
                      return (float) 0. | 
| 10029 | 
            +
                      return (float) 0.1338330120356499;
         | 
| 10030 10030 | 
             
                      break;
         | 
| 10031 10031 | 
             
                    case 0b1100100110011011:
         | 
| 10032 10032 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 10033 10033 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 10034 | 
            -
                      return (float) 0. | 
| 10034 | 
            +
                      return (float) 0.1513075479692673;
         | 
| 10035 10035 | 
             
                      break;
         | 
| 10036 10036 | 
             
                    case 0b1100010110010011:
         | 
| 10037 10037 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 10038 10038 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 10039 | 
            -
                      return (float) 0. | 
| 10039 | 
            +
                      return (float) 0.11113513773288856;
         | 
| 10040 10040 | 
             
                      break;
         | 
| 10041 10041 | 
             
                    case 0b01100001:
         | 
| 10042 10042 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 10043 10043 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 10044 | 
            -
                      return (float) 0. | 
| 10044 | 
            +
                      return (float) 0.23777301736207815;
         | 
| 10045 10045 | 
             
                      break;
         | 
| 10046 10046 | 
             
                    case 0b1100100110110110:
         | 
| 10047 10047 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 10048 10048 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 10049 | 
            -
                      return (float) 0. | 
| 10049 | 
            +
                      return (float) 0.21666791433408844;
         | 
| 10050 10050 | 
             
                      break;
         | 
| 10051 10051 | 
             
                    case 0b1100100110010001:
         | 
| 10052 10052 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 10053 10053 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 10054 | 
            -
                      return (float) 0. | 
| 10054 | 
            +
                      return (float) 0.18719558301022762;
         | 
| 10055 10055 | 
             
                      break;
         | 
| 10056 10056 | 
             
                    case 0b1100100110010010:
         | 
| 10057 10057 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 10058 10058 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 10059 | 
            -
                      return (float) 0. | 
| 10059 | 
            +
                      return (float) 0.18182446514572412;
         | 
| 10060 10060 | 
             
                      break;
         | 
| 10061 10061 | 
             
                    case 0b1100101010001100:
         | 
| 10062 10062 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 10063 10063 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 10064 | 
            -
                      return (float) 0. | 
| 10064 | 
            +
                      return (float) 0.08736533274050794;
         | 
| 10065 10065 | 
             
                      break;
         | 
| 10066 10066 | 
             
                    case 0b1100100110011001:
         | 
| 10067 10067 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 10068 10068 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 10069 | 
            -
                      return (float) 0. | 
| 10069 | 
            +
                      return (float) 0.08736533274050794;
         | 
| 10070 10070 | 
             
                      break;
         | 
| 10071 10071 | 
             
                    case 0b1100100110011101:
         | 
| 10072 10072 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 10073 10073 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 10074 | 
            -
                      return (float) 0. | 
| 10074 | 
            +
                      return (float) 0.08736533274050794;
         | 
| 10075 10075 | 
             
                      break;
         | 
| 10076 10076 | 
             
                    case 0b1100100110010100:
         | 
| 10077 10077 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 10078 10078 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 10079 | 
            -
                      return (float) 0. | 
| 10079 | 
            +
                      return (float) 0.12924320805792539;
         | 
| 10080 10080 | 
             
                      break;
         | 
| 10081 10081 | 
             
                    case 0b01101111:
         | 
| 10082 10082 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 10083 10083 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 10084 | 
            -
                      return (float) 0. | 
| 10084 | 
            +
                      return (float) 0.15147182760137673;
         | 
| 10085 10085 | 
             
                      break;
         | 
| 10086 10086 | 
             
                    case 0b1100100110101111:
         | 
| 10087 10087 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 10088 10088 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 10089 | 
            -
                      return (float) 0. | 
| 10089 | 
            +
                      return (float) 0.09558195052240276;
         | 
| 10090 10090 | 
             
                      break;
         | 
| 10091 10091 | 
             
                    case 0b1100001110100110:
         | 
| 10092 10092 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 10093 10093 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 10094 | 
            -
                      return (float) 0. | 
| 10094 | 
            +
                      return (float) 0.23475201158764208;
         | 
| 10095 10095 | 
             
                      break;
         | 
| 10096 10096 | 
             
                    case 0b01110101:
         | 
| 10097 10097 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 10098 10098 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 10099 | 
            -
                      return (float) 0. | 
| 10099 | 
            +
                      return (float) 0.1519641444916289;
         | 
| 10100 10100 | 
             
                      break;
         | 
| 10101 10101 | 
             
                    case 0b1100101010001010:
         | 
| 10102 10102 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 10103 10103 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 10104 | 
            -
                      return (float) 0. | 
| 10104 | 
            +
                      return (float) 0.1519641444916289;
         | 
| 10105 10105 | 
             
                      break;
         | 
| 10106 10106 | 
             
                    case 0b011011011100110010100101:
         | 
| 10107 10107 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -10672,102 +10672,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 10672 10672 | 
             
                    case 0b01101001:
         | 
| 10673 10673 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 10674 10674 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 10675 | 
            -
                      return (float) 0. | 
| 10675 | 
            +
                      return (float) 0.3733994421613162;
         | 
| 10676 10676 | 
             
                      break;
         | 
| 10677 10677 | 
             
                    case 0b01111001:
         | 
| 10678 10678 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 10679 10679 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 10680 | 
            -
                      return (float) 0. | 
| 10680 | 
            +
                      return (float) 0.31292800370943913;
         | 
| 10681 10681 | 
             
                      break;
         | 
| 10682 10682 | 
             
                    case 0b1100100110101010:
         | 
| 10683 10683 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 10684 10684 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 10685 | 
            -
                      return (float) 0. | 
| 10685 | 
            +
                      return (float) 0.30620750456446283;
         | 
| 10686 10686 | 
             
                      break;
         | 
| 10687 10687 | 
             
                    case 0b01100101:
         | 
| 10688 10688 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 10689 10689 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 10690 | 
            -
                      return (float) 0. | 
| 10690 | 
            +
                      return (float) 0.34628328450788026;
         | 
| 10691 10691 | 
             
                      break;
         | 
| 10692 10692 | 
             
                    case 0b1100001110111000:
         | 
| 10693 10693 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 10694 10694 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 10695 | 
            -
                      return (float) 0. | 
| 10695 | 
            +
                      return (float) 0.2625659004442972;
         | 
| 10696 10696 | 
             
                      break;
         | 
| 10697 10697 | 
             
                    case 0b1100100110011011:
         | 
| 10698 10698 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 10699 10699 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 10700 | 
            -
                      return (float) 0. | 
| 10700 | 
            +
                      return (float) 0.300886270171729;
         | 
| 10701 10701 | 
             
                      break;
         | 
| 10702 10702 | 
             
                    case 0b1100010110010011:
         | 
| 10703 10703 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 10704 10704 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 10705 | 
            -
                      return (float) 0. | 
| 10705 | 
            +
                      return (float) 0.25924725903245355;
         | 
| 10706 10706 | 
             
                      break;
         | 
| 10707 10707 | 
             
                    case 0b01100001:
         | 
| 10708 10708 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 10709 10709 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 10710 | 
            -
                      return (float) 0. | 
| 10710 | 
            +
                      return (float) 0.3520188324311607;
         | 
| 10711 10711 | 
             
                      break;
         | 
| 10712 10712 | 
             
                    case 0b1100100110110110:
         | 
| 10713 10713 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 10714 10714 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 10715 | 
            -
                      return (float) 0. | 
| 10715 | 
            +
                      return (float) 0.3280203246101719;
         | 
| 10716 10716 | 
             
                      break;
         | 
| 10717 10717 | 
             
                    case 0b1100100110010001:
         | 
| 10718 10718 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 10719 10719 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 10720 | 
            -
                      return (float) 0. | 
| 10720 | 
            +
                      return (float) 0.23777301736207812;
         | 
| 10721 10721 | 
             
                      break;
         | 
| 10722 10722 | 
             
                    case 0b1100100110010010:
         | 
| 10723 10723 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 10724 10724 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 10725 | 
            -
                      return (float) 0. | 
| 10725 | 
            +
                      return (float) 0.20155644370746376;
         | 
| 10726 10726 | 
             
                      break;
         | 
| 10727 10727 | 
             
                    case 0b1100101010001100:
         | 
| 10728 10728 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 10729 10729 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 10730 | 
            -
                      return (float) 0. | 
| 10730 | 
            +
                      return (float) 0.17922788880508703;
         | 
| 10731 10731 | 
             
                      break;
         | 
| 10732 10732 | 
             
                    case 0b1100100110011001:
         | 
| 10733 10733 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 10734 10734 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 10735 | 
            -
                      return (float) 0. | 
| 10735 | 
            +
                      return (float) 0.17922788880508703;
         | 
| 10736 10736 | 
             
                      break;
         | 
| 10737 10737 | 
             
                    case 0b1100100110011101:
         | 
| 10738 10738 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 10739 10739 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 10740 | 
            -
                      return (float) 0. | 
| 10740 | 
            +
                      return (float) 0.17922788880508703;
         | 
| 10741 10741 | 
             
                      break;
         | 
| 10742 10742 | 
             
                    case 0b1100100110010100:
         | 
| 10743 10743 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 10744 10744 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 10745 | 
            -
                      return (float) 0. | 
| 10745 | 
            +
                      return (float) 0.08329619991581384;
         | 
| 10746 10746 | 
             
                      break;
         | 
| 10747 10747 | 
             
                    case 0b1100100110100100:
         | 
| 10748 10748 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 10749 10749 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 10750 | 
            -
                      return (float) 0. | 
| 10750 | 
            +
                      return (float) 0.15147182760137673;
         | 
| 10751 10751 | 
             
                      break;
         | 
| 10752 10752 | 
             
                    case 0b1100100110101111:
         | 
| 10753 10753 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 10754 10754 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 10755 | 
            -
                      return (float) 0. | 
| 10755 | 
            +
                      return (float) 0.16018657010025664;
         | 
| 10756 10756 | 
             
                      break;
         | 
| 10757 10757 | 
             
                    case 0b1100001110100110:
         | 
| 10758 10758 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 10759 10759 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 10760 | 
            -
                      return (float) 0. | 
| 10760 | 
            +
                      return (float) 0.3686405693587761;
         | 
| 10761 10761 | 
             
                      break;
         | 
| 10762 10762 | 
             
                    case 0b01110101:
         | 
| 10763 10763 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 10764 10764 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 10765 | 
            -
                      return (float) 0. | 
| 10765 | 
            +
                      return (float) 0.006240380910036288;
         | 
| 10766 10766 | 
             
                      break;
         | 
| 10767 10767 | 
             
                    case 0b1100101010001010:
         | 
| 10768 10768 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 10769 10769 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 10770 | 
            -
                      return (float) 0. | 
| 10770 | 
            +
                      return (float) 0.006240380910036288;
         | 
| 10771 10771 | 
             
                      break;
         | 
| 10772 10772 | 
             
                    case 0b011011011100110010100101:
         | 
| 10773 10773 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -11338,102 +11338,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 11338 11338 | 
             
                    case 0b01101001:
         | 
| 11339 11339 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 11340 11340 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 11341 | 
            -
                      return (float) 0. | 
| 11341 | 
            +
                      return (float) 0.2133561537701585;
         | 
| 11342 11342 | 
             
                      break;
         | 
| 11343 11343 | 
             
                    case 0b01111001:
         | 
| 11344 11344 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 11345 11345 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 11346 | 
            -
                      return (float) 0. | 
| 11346 | 
            +
                      return (float) 0.15277852595846297;
         | 
| 11347 11347 | 
             
                      break;
         | 
| 11348 11348 | 
             
                    case 0b1100100110101010:
         | 
| 11349 11349 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 11350 11350 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 11351 | 
            -
                      return (float) 0. | 
| 11351 | 
            +
                      return (float) 0.14791666666666664;
         | 
| 11352 11352 | 
             
                      break;
         | 
| 11353 11353 | 
             
                    case 0b01100101:
         | 
| 11354 11354 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 11355 11355 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 11356 | 
            -
                      return (float) 0. | 
| 11356 | 
            +
                      return (float) 0.19683650180763665;
         | 
| 11357 11357 | 
             
                      break;
         | 
| 11358 11358 | 
             
                    case 0b1100001110111000:
         | 
| 11359 11359 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 11360 11360 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 11361 | 
            -
                      return (float) 0. | 
| 11361 | 
            +
                      return (float) 0.11394983207580346;
         | 
| 11362 11362 | 
             
                      break;
         | 
| 11363 11363 | 
             
                    case 0b1100100110011011:
         | 
| 11364 11364 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 11365 11365 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 11366 | 
            -
                      return (float) 0. | 
| 11366 | 
            +
                      return (float) 0.21104894611371397;
         | 
| 11367 11367 | 
             
                      break;
         | 
| 11368 11368 | 
             
                    case 0b1100010110010011:
         | 
| 11369 11369 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 11370 11370 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 11371 | 
            -
                      return (float) 0. | 
| 11371 | 
            +
                      return (float) 0.18041613225159323;
         | 
| 11372 11372 | 
             
                      break;
         | 
| 11373 11373 | 
             
                    case 0b01100001:
         | 
| 11374 11374 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 11375 11375 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 11376 | 
            -
                      return (float) 0. | 
| 11376 | 
            +
                      return (float) 0.3267598119739651;
         | 
| 11377 11377 | 
             
                      break;
         | 
| 11378 11378 | 
             
                    case 0b1100100110110110:
         | 
| 11379 11379 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 11380 11380 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 11381 | 
            -
                      return (float) 0. | 
| 11381 | 
            +
                      return (float) 0.30726976467800227;
         | 
| 11382 11382 | 
             
                      break;
         | 
| 11383 11383 | 
             
                    case 0b1100100110010001:
         | 
| 11384 11384 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 11385 11385 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 11386 | 
            -
                      return (float) 0. | 
| 11386 | 
            +
                      return (float) 0.2808171409516326;
         | 
| 11387 11387 | 
             
                      break;
         | 
| 11388 11388 | 
             
                    case 0b1100100110010010:
         | 
| 11389 11389 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 11390 11390 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 11391 | 
            -
                      return (float) 0. | 
| 11391 | 
            +
                      return (float) 0.2694250996089784;
         | 
| 11392 11392 | 
             
                      break;
         | 
| 11393 11393 | 
             
                    case 0b1100101010001100:
         | 
| 11394 11394 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 11395 11395 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 11396 | 
            -
                      return (float) 0. | 
| 11396 | 
            +
                      return (float) 0.182325431458574;
         | 
| 11397 11397 | 
             
                      break;
         | 
| 11398 11398 | 
             
                    case 0b1100100110011001:
         | 
| 11399 11399 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 11400 11400 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 11401 | 
            -
                      return (float) 0. | 
| 11401 | 
            +
                      return (float) 0.182325431458574;
         | 
| 11402 11402 | 
             
                      break;
         | 
| 11403 11403 | 
             
                    case 0b1100100110011101:
         | 
| 11404 11404 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 11405 11405 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 11406 | 
            -
                      return (float) 0. | 
| 11406 | 
            +
                      return (float) 0.182325431458574;
         | 
| 11407 11407 | 
             
                      break;
         | 
| 11408 11408 | 
             
                    case 0b1100100110010100:
         | 
| 11409 11409 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 11410 11410 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 11411 | 
            -
                      return (float) 0. | 
| 11411 | 
            +
                      return (float) 0.1857549271212664;
         | 
| 11412 11412 | 
             
                      break;
         | 
| 11413 11413 | 
             
                    case 0b1100100110100100:
         | 
| 11414 11414 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 11415 11415 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 11416 | 
            -
                      return (float) 0. | 
| 11416 | 
            +
                      return (float) 0.09558195052240276;
         | 
| 11417 11417 | 
             
                      break;
         | 
| 11418 11418 | 
             
                    case 0b01101111:
         | 
| 11419 11419 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 11420 11420 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 11421 | 
            -
                      return (float) 0. | 
| 11421 | 
            +
                      return (float) 0.16018657010025664;
         | 
| 11422 11422 | 
             
                      break;
         | 
| 11423 11423 | 
             
                    case 0b1100001110100110:
         | 
| 11424 11424 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 11425 11425 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 11426 | 
            -
                      return (float) 0. | 
| 11426 | 
            +
                      return (float) 0.3127207265459369;
         | 
| 11427 11427 | 
             
                      break;
         | 
| 11428 11428 | 
             
                    case 0b01110101:
         | 
| 11429 11429 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 11430 11430 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 11431 | 
            -
                      return (float) 0. | 
| 11431 | 
            +
                      return (float) 0.15694716631473568;
         | 
| 11432 11432 | 
             
                      break;
         | 
| 11433 11433 | 
             
                    case 0b1100101010001010:
         | 
| 11434 11434 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 11435 11435 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 11436 | 
            -
                      return (float) 0. | 
| 11436 | 
            +
                      return (float) 0.15694716631473568;
         | 
| 11437 11437 | 
             
                      break;
         | 
| 11438 11438 | 
             
                    case 0b011011011100110010100101:
         | 
| 11439 11439 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -12004,102 +12004,102 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 12004 12004 | 
             
                    case 0b01101001:
         | 
| 12005 12005 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 12006 12006 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 12007 | 
            -
                      return (float) 0. | 
| 12007 | 
            +
                      return (float) 0.3454892258393712;
         | 
| 12008 12008 | 
             
                      break;
         | 
| 12009 12009 | 
             
                    case 0b01111001:
         | 
| 12010 12010 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 12011 12011 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 12012 | 
            -
                      return (float) 0. | 
| 12012 | 
            +
                      return (float) 0.33495460680480516;
         | 
| 12013 12013 | 
             
                      break;
         | 
| 12014 12014 | 
             
                    case 0b1100100110101010:
         | 
| 12015 12015 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 12016 12016 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 12017 | 
            -
                      return (float) 0. | 
| 12017 | 
            +
                      return (float) 0.29705437452178646;
         | 
| 12018 12018 | 
             
                      break;
         | 
| 12019 12019 | 
             
                    case 0b01100101:
         | 
| 12020 12020 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 12021 12021 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 12022 | 
            -
                      return (float) 0. | 
| 12022 | 
            +
                      return (float) 0.2551676594120861;
         | 
| 12023 12023 | 
             
                      break;
         | 
| 12024 12024 | 
             
                    case 0b1100001110111000:
         | 
| 12025 12025 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 12026 12026 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 12027 | 
            -
                      return (float) 0. | 
| 12027 | 
            +
                      return (float) 0.2529411764705882;
         | 
| 12028 12028 | 
             
                      break;
         | 
| 12029 12029 | 
             
                    case 0b1100100110011011:
         | 
| 12030 12030 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 12031 12031 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 12032 | 
            -
                      return (float) 0. | 
| 12032 | 
            +
                      return (float) 0.11176470588235293;
         | 
| 12033 12033 | 
             
                      break;
         | 
| 12034 12034 | 
             
                    case 0b1100010110010011:
         | 
| 12035 12035 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 12036 12036 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 12037 | 
            -
                      return (float) 0. | 
| 12037 | 
            +
                      return (float) 0.1325203756648731;
         | 
| 12038 12038 | 
             
                      break;
         | 
| 12039 12039 | 
             
                    case 0b01100001:
         | 
| 12040 12040 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 12041 12041 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 12042 | 
            -
                      return (float) 0. | 
| 12042 | 
            +
                      return (float) 0.06719542777767919;
         | 
| 12043 12043 | 
             
                      break;
         | 
| 12044 12044 | 
             
                    case 0b1100100110110110:
         | 
| 12045 12045 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 12046 12046 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 12047 | 
            -
                      return (float) 0. | 
| 12047 | 
            +
                      return (float) 0.07797594874239139;
         | 
| 12048 12048 | 
             
                      break;
         | 
| 12049 12049 | 
             
                    case 0b1100100110010001:
         | 
| 12050 12050 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 12051 12051 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 12052 | 
            -
                      return (float) 0. | 
| 12052 | 
            +
                      return (float) 0.2021510620875245;
         | 
| 12053 12053 | 
             
                      break;
         | 
| 12054 12054 | 
             
                    case 0b1100100110010010:
         | 
| 12055 12055 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 12056 12056 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 12057 | 
            -
                      return (float) 0. | 
| 12057 | 
            +
                      return (float) 0.24467623017460594;
         | 
| 12058 12058 | 
             
                      break;
         | 
| 12059 12059 | 
             
                    case 0b1100101010001100:
         | 
| 12060 12060 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 12061 12061 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 12062 | 
            -
                      return (float) 0. | 
| 12062 | 
            +
                      return (float) 0.19227628748133446;
         | 
| 12063 12063 | 
             
                      break;
         | 
| 12064 12064 | 
             
                    case 0b1100100110011001:
         | 
| 12065 12065 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 12066 12066 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 12067 | 
            -
                      return (float) 0. | 
| 12067 | 
            +
                      return (float) 0.19227628748133446;
         | 
| 12068 12068 | 
             
                      break;
         | 
| 12069 12069 | 
             
                    case 0b1100100110011101:
         | 
| 12070 12070 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 12071 12071 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 12072 | 
            -
                      return (float) 0. | 
| 12072 | 
            +
                      return (float) 0.19227628748133446;
         | 
| 12073 12073 | 
             
                      break;
         | 
| 12074 12074 | 
             
                    case 0b1100100110010100:
         | 
| 12075 12075 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 12076 12076 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 12077 | 
            -
                      return (float) 0. | 
| 12077 | 
            +
                      return (float) 0.30600958892183544;
         | 
| 12078 12078 | 
             
                      break;
         | 
| 12079 12079 | 
             
                    case 0b1100100110100100:
         | 
| 12080 12080 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 12081 12081 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 12082 | 
            -
                      return (float) 0. | 
| 12082 | 
            +
                      return (float) 0.23475201158764208;
         | 
| 12083 12083 | 
             
                      break;
         | 
| 12084 12084 | 
             
                    case 0b01101111:
         | 
| 12085 12085 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 12086 12086 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 12087 | 
            -
                      return (float) 0. | 
| 12087 | 
            +
                      return (float) 0.3686405693587761;
         | 
| 12088 12088 | 
             
                      break;
         | 
| 12089 12089 | 
             
                    case 0b1100100110101111:
         | 
| 12090 12090 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 12091 12091 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 12092 | 
            -
                      return (float) 0. | 
| 12092 | 
            +
                      return (float) 0.3127207265459369;
         | 
| 12093 12093 | 
             
                      break;
         | 
| 12094 12094 | 
             
                    case 0b01110101:
         | 
| 12095 12095 | 
             
                      // Phoneme: 'u', bytes: [117]
         | 
| 12096 12096 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 12097 | 
            -
                      return (float) 0. | 
| 12097 | 
            +
                      return (float) 0.37133010170201247;
         | 
| 12098 12098 | 
             
                      break;
         | 
| 12099 12099 | 
             
                    case 0b1100101010001010:
         | 
| 12100 12100 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| 12101 12101 | 
             
                      // vowel features: {"F1":350,"F2":650,"rounded":true}
         | 
| 12102 | 
            -
                      return (float) 0. | 
| 12102 | 
            +
                      return (float) 0.37133010170201247;
         | 
| 12103 12103 | 
             
                      break;
         | 
| 12104 12104 | 
             
                    case 0b011011011100110010100101:
         | 
| 12105 12105 | 
             
                      // Phoneme: 'm̥', bytes: [109, 204, 165]
         | 
| @@ -12670,97 +12670,97 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 12670 12670 | 
             
                    case 0b01101001:
         | 
| 12671 12671 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 12672 12672 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 12673 | 
            -
                      return (float) 0. | 
| 12673 | 
            +
                      return (float) 0.37028078286013855;
         | 
| 12674 12674 | 
             
                      break;
         | 
| 12675 12675 | 
             
                    case 0b01111001:
         | 
| 12676 12676 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 12677 12677 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 12678 | 
            -
                      return (float) 0. | 
| 12678 | 
            +
                      return (float) 0.3095649606225676;
         | 
| 12679 12679 | 
             
                      break;
         | 
| 12680 12680 | 
             
                    case 0b1100100110101010:
         | 
| 12681 12681 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 12682 12682 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 12683 | 
            -
                      return (float) 0. | 
| 12683 | 
            +
                      return (float) 0.30351176613253716;
         | 
| 12684 12684 | 
             
                      break;
         | 
| 12685 12685 | 
             
                    case 0b01100101:
         | 
| 12686 12686 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 12687 12687 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 12688 | 
            -
                      return (float) 0. | 
| 12688 | 
            +
                      return (float) 0.34455434363535903;
         | 
| 12689 12689 | 
             
                      break;
         | 
| 12690 12690 | 
             
                    case 0b1100001110111000:
         | 
| 12691 12691 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 12692 12692 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 12693 | 
            -
                      return (float) 0. | 
| 12693 | 
            +
                      return (float) 0.26068227515939024;
         | 
| 12694 12694 | 
             
                      break;
         | 
| 12695 12695 | 
             
                    case 0b1100100110011011:
         | 
| 12696 12696 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 12697 12697 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 12698 | 
            -
                      return (float) 0. | 
| 12698 | 
            +
                      return (float) 0.30200636373756334;
         | 
| 12699 12699 | 
             
                      break;
         | 
| 12700 12700 | 
             
                    case 0b1100010110010011:
         | 
| 12701 12701 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 12702 12702 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 12703 | 
            -
                      return (float) 0. | 
| 12703 | 
            +
                      return (float) 0.260530914961936;
         | 
| 12704 12704 | 
             
                      break;
         | 
| 12705 12705 | 
             
                    case 0b01100001:
         | 
| 12706 12706 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 12707 12707 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 12708 | 
            -
                      return (float) 0. | 
| 12708 | 
            +
                      return (float) 0.35567568136072886;
         | 
| 12709 12709 | 
             
                      break;
         | 
| 12710 12710 | 
             
                    case 0b1100100110110110:
         | 
| 12711 12711 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 12712 12712 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 12713 | 
            -
                      return (float) 0. | 
| 12713 | 
            +
                      return (float) 0.33173347324362773;
         | 
| 12714 12714 | 
             
                      break;
         | 
| 12715 12715 | 
             
                    case 0b1100100110010001:
         | 
| 12716 12716 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 12717 12717 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 12718 | 
            -
                      return (float) 0. | 
| 12718 | 
            +
                      return (float) 0.2429269343041629;
         | 
| 12719 12719 | 
             
                      break;
         | 
| 12720 12720 | 
             
                    case 0b1100100110010010:
         | 
| 12721 12721 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 12722 12722 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 12723 | 
            -
                      return (float) 0. | 
| 12723 | 
            +
                      return (float) 0.207153848295672;
         | 
| 12724 12724 | 
             
                      break;
         | 
| 12725 12725 | 
             
                    case 0b1100101010001100:
         | 
| 12726 12726 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 12727 12727 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 12728 | 
            -
                      return (float) 0. | 
| 12728 | 
            +
                      return (float) 0.18265379461967324;
         | 
| 12729 12729 | 
             
                      break;
         | 
| 12730 12730 | 
             
                    case 0b1100100110011001:
         | 
| 12731 12731 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 12732 12732 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 12733 | 
            -
                      return (float) 0. | 
| 12733 | 
            +
                      return (float) 0.18265379461967324;
         | 
| 12734 12734 | 
             
                      break;
         | 
| 12735 12735 | 
             
                    case 0b1100100110011101:
         | 
| 12736 12736 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 12737 12737 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 12738 | 
            -
                      return (float) 0. | 
| 12738 | 
            +
                      return (float) 0.18265379461967324;
         | 
| 12739 12739 | 
             
                      break;
         | 
| 12740 12740 | 
             
                    case 0b1100100110010100:
         | 
| 12741 12741 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 12742 12742 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 12743 | 
            -
                      return (float) 0. | 
| 12743 | 
            +
                      return (float) 0.08884803921568628;
         | 
| 12744 12744 | 
             
                      break;
         | 
| 12745 12745 | 
             
                    case 0b1100100110100100:
         | 
| 12746 12746 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 12747 12747 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 12748 | 
            -
                      return (float) 0. | 
| 12748 | 
            +
                      return (float) 0.1519641444916289;
         | 
| 12749 12749 | 
             
                      break;
         | 
| 12750 12750 | 
             
                    case 0b01101111:
         | 
| 12751 12751 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 12752 12752 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 12753 | 
            -
                      return (float) 0. | 
| 12753 | 
            +
                      return (float) 0.006240380910036288;
         | 
| 12754 12754 | 
             
                      break;
         | 
| 12755 12755 | 
             
                    case 0b1100100110101111:
         | 
| 12756 12756 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 12757 12757 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 12758 | 
            -
                      return (float) 0. | 
| 12758 | 
            +
                      return (float) 0.15694716631473568;
         | 
| 12759 12759 | 
             
                      break;
         | 
| 12760 12760 | 
             
                    case 0b1100001110100110:
         | 
| 12761 12761 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 12762 12762 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 12763 | 
            -
                      return (float) 0. | 
| 12763 | 
            +
                      return (float) 0.37133010170201247;
         | 
| 12764 12764 | 
             
                      break;
         | 
| 12765 12765 | 
             
                    case 0b1100101010001010:
         | 
| 12766 12766 | 
             
                      // Phoneme: 'ʊ', bytes: [202, 138]
         | 
| @@ -13336,97 +13336,97 @@ float phonetic_cost(int64_t phoneme1, int64_t phoneme2) { | |
| 13336 13336 | 
             
                    case 0b01101001:
         | 
| 13337 13337 | 
             
                      // Phoneme: 'i', bytes: [105]
         | 
| 13338 13338 | 
             
                      // vowel features: {"F1":240,"F2":2400,"rounded":false}
         | 
| 13339 | 
            -
                      return (float) 0. | 
| 13339 | 
            +
                      return (float) 0.37028078286013855;
         | 
| 13340 13340 | 
             
                      break;
         | 
| 13341 13341 | 
             
                    case 0b01111001:
         | 
| 13342 13342 | 
             
                      // Phoneme: 'y', bytes: [121]
         | 
| 13343 13343 | 
             
                      // vowel features: {"F1":235,"F2":2100,"rounded":false}
         | 
| 13344 | 
            -
                      return (float) 0. | 
| 13344 | 
            +
                      return (float) 0.3095649606225676;
         | 
| 13345 13345 | 
             
                      break;
         | 
| 13346 13346 | 
             
                    case 0b1100100110101010:
         | 
| 13347 13347 | 
             
                      // Phoneme: 'ɪ', bytes: [201, 170]
         | 
| 13348 13348 | 
             
                      // vowel features: {"F1":300,"F2":2100,"rounded":false}
         | 
| 13349 | 
            -
                      return (float) 0. | 
| 13349 | 
            +
                      return (float) 0.30351176613253716;
         | 
| 13350 13350 | 
             
                      break;
         | 
| 13351 13351 | 
             
                    case 0b01100101:
         | 
| 13352 13352 | 
             
                      // Phoneme: 'e', bytes: [101]
         | 
| 13353 13353 | 
             
                      // vowel features: {"F1":390,"F2":2300,"rounded":false}
         | 
| 13354 | 
            -
                      return (float) 0. | 
| 13354 | 
            +
                      return (float) 0.34455434363535903;
         | 
| 13355 13355 | 
             
                      break;
         | 
| 13356 13356 | 
             
                    case 0b1100001110111000:
         | 
| 13357 13357 | 
             
                      // Phoneme: 'ø', bytes: [195, 184]
         | 
| 13358 13358 | 
             
                      // vowel features: {"F1":370,"F2":1900,"rounded":true}
         | 
| 13359 | 
            -
                      return (float) 0. | 
| 13359 | 
            +
                      return (float) 0.26068227515939024;
         | 
| 13360 13360 | 
             
                      break;
         | 
| 13361 13361 | 
             
                    case 0b1100100110011011:
         | 
| 13362 13362 | 
             
                      // Phoneme: 'ɛ', bytes: [201, 155]
         | 
| 13363 13363 | 
             
                      // vowel features: {"F1":610,"F2":1900,"rounded":false}
         | 
| 13364 | 
            -
                      return (float) 0. | 
| 13364 | 
            +
                      return (float) 0.30200636373756334;
         | 
| 13365 13365 | 
             
                      break;
         | 
| 13366 13366 | 
             
                    case 0b1100010110010011:
         | 
| 13367 13367 | 
             
                      // Phoneme: 'œ', bytes: [197, 147]
         | 
| 13368 13368 | 
             
                      // vowel features: {"F1":585,"F2":1710,"rounded":true}
         | 
| 13369 | 
            -
                      return (float) 0. | 
| 13369 | 
            +
                      return (float) 0.260530914961936;
         | 
| 13370 13370 | 
             
                      break;
         | 
| 13371 13371 | 
             
                    case 0b01100001:
         | 
| 13372 13372 | 
             
                      // Phoneme: 'a', bytes: [97]
         | 
| 13373 13373 | 
             
                      // vowel features: {"F1":850,"F2":1610,"rounded":false}
         | 
| 13374 | 
            -
                      return (float) 0. | 
| 13374 | 
            +
                      return (float) 0.35567568136072886;
         | 
| 13375 13375 | 
             
                      break;
         | 
| 13376 13376 | 
             
                    case 0b1100100110110110:
         | 
| 13377 13377 | 
             
                      // Phoneme: 'ɶ', bytes: [201, 182]
         | 
| 13378 13378 | 
             
                      // vowel features: {"F1":820,"F2":1530,"rounded":true}
         | 
| 13379 | 
            -
                      return (float) 0. | 
| 13379 | 
            +
                      return (float) 0.33173347324362773;
         | 
| 13380 13380 | 
             
                      break;
         | 
| 13381 13381 | 
             
                    case 0b1100100110010001:
         | 
| 13382 13382 | 
             
                      // Phoneme: 'ɑ', bytes: [201, 145]
         | 
| 13383 13383 | 
             
                      // vowel features: {"F1":750,"F2":940,"rounded":false}
         | 
| 13384 | 
            -
                      return (float) 0. | 
| 13384 | 
            +
                      return (float) 0.2429269343041629;
         | 
| 13385 13385 | 
             
                      break;
         | 
| 13386 13386 | 
             
                    case 0b1100100110010010:
         | 
| 13387 13387 | 
             
                      // Phoneme: 'ɒ', bytes: [201, 146]
         | 
| 13388 13388 | 
             
                      // vowel features: {"F1":700,"F2":760,"rounded":true}
         | 
| 13389 | 
            -
                      return (float) 0. | 
| 13389 | 
            +
                      return (float) 0.207153848295672;
         | 
| 13390 13390 | 
             
                      break;
         | 
| 13391 13391 | 
             
                    case 0b1100101010001100:
         | 
| 13392 13392 | 
             
                      // Phoneme: 'ʌ', bytes: [202, 140]
         | 
| 13393 13393 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 13394 | 
            -
                      return (float) 0. | 
| 13394 | 
            +
                      return (float) 0.18265379461967324;
         | 
| 13395 13395 | 
             
                      break;
         | 
| 13396 13396 | 
             
                    case 0b1100100110011001:
         | 
| 13397 13397 | 
             
                      // Phoneme: 'ə', bytes: [201, 153]
         | 
| 13398 13398 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false}
         | 
| 13399 | 
            -
                      return (float) 0. | 
| 13399 | 
            +
                      return (float) 0.18265379461967324;
         | 
| 13400 13400 | 
             
                      break;
         | 
| 13401 13401 | 
             
                    case 0b1100100110011101:
         | 
| 13402 13402 | 
             
                      // Phoneme: 'ɝ', bytes: [201, 157]
         | 
| 13403 13403 | 
             
                      // vowel features: {"F1":600,"F2":1170,"rounded":false,"rhotic":true}
         | 
| 13404 | 
            -
                      return (float) 0. | 
| 13404 | 
            +
                      return (float) 0.18265379461967324;
         | 
| 13405 13405 | 
             
                      break;
         | 
| 13406 13406 | 
             
                    case 0b1100100110010100:
         | 
| 13407 13407 | 
             
                      // Phoneme: 'ɔ', bytes: [201, 148]
         | 
| 13408 13408 | 
             
                      // vowel features: {"F1":500,"F2":700,"rounded":true}
         | 
| 13409 | 
            -
                      return (float) 0. | 
| 13409 | 
            +
                      return (float) 0.08884803921568628;
         | 
| 13410 13410 | 
             
                      break;
         | 
| 13411 13411 | 
             
                    case 0b1100100110100100:
         | 
| 13412 13412 | 
             
                      // Phoneme: 'ɤ', bytes: [201, 164]
         | 
| 13413 13413 | 
             
                      // vowel features: {"F1":460,"F2":1310,"rounded":false}
         | 
| 13414 | 
            -
                      return (float) 0. | 
| 13414 | 
            +
                      return (float) 0.1519641444916289;
         | 
| 13415 13415 | 
             
                      break;
         | 
| 13416 13416 | 
             
                    case 0b01101111:
         | 
| 13417 13417 | 
             
                      // Phoneme: 'o', bytes: [111]
         | 
| 13418 13418 | 
             
                      // vowel features: {"F1":360,"F2":640,"rounded":true}
         | 
| 13419 | 
            -
                      return (float) 0. | 
| 13419 | 
            +
                      return (float) 0.006240380910036288;
         | 
| 13420 13420 | 
             
                      break;
         | 
| 13421 13421 | 
             
                    case 0b1100100110101111:
         | 
| 13422 13422 | 
             
                      // Phoneme: 'ɯ', bytes: [201, 175]
         | 
| 13423 13423 | 
             
                      // vowel features: {"F1":300,"F2":1390,"rounded":false}
         | 
| 13424 | 
            -
                      return (float) 0. | 
| 13424 | 
            +
                      return (float) 0.15694716631473568;
         | 
| 13425 13425 | 
             
                      break;
         | 
| 13426 13426 | 
             
                    case 0b1100001110100110:
         | 
| 13427 13427 | 
             
                      // Phoneme: 'æ', bytes: [195, 166]
         | 
| 13428 13428 | 
             
                      // vowel features: {"F1":800,"F2":1900,"rounded":false}
         | 
| 13429 | 
            -
                      return (float) 0. | 
| 13429 | 
            +
                      return (float) 0.37133010170201247;
         | 
| 13430 13430 | 
             
                      break;
         | 
| 13431 13431 | 
             
                    case 0b01110101:
         | 
| 13432 13432 | 
             
                      // Phoneme: 'u', bytes: [117]
         |