phoneme 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f1924dca4e7208387bfd52d85c1d56f3f1af8a40
4
- data.tar.gz: 2f3ce69f3261409a036d4cded5f803a43be9f1c6
3
+ metadata.gz: 892ce9b25534b32c6dd943fe2c8b44e2e9465739
4
+ data.tar.gz: 65f0324b60013aa95a5b370a44a2876fcb03993a
5
5
  SHA512:
6
- metadata.gz: f7dd7c91e89f885b399c6bdd8f63f7fa536ca4c4a962438f9554cb85583f416c46231d1d8d88d723d5192fe781c00ca1b8168b90004a6ae3c0ab57f676625b75
7
- data.tar.gz: e0d5da7a55cc6829bb1de99321985762a4e40ca5ec929a3d14380a4dab84efffb6cd12cab9f95e06fe65aed91c647641e8f4970132013865b3f5acb3b9b14ba0
6
+ metadata.gz: 3536b5bd2c71347a9196c2b6cf7c980b106f481dce33cb54b142c2c8754c92c9cadd9387837759df17a1f2234cc20d708790a95afd11b171aae36a7e1ca02b25
7
+ data.tar.gz: caf9b07d998c6d38e72ee827ad9f230197d5b46e908f382d170d86b82d26a58c72c02ec95fdb2dab6d9dee3f1c563e4b6dfaec2185ab9b96ff30cfa671a92582
Binary file
data.tar.gz.sig CHANGED
@@ -1,3 +1 @@
1
- -�׷0 `�
2
- ��{]� ��������Q�+�|��I�Z��u�i�B� �<D��)Et�)?�9G��l,��ܛ�'�(��� ť� �3mZ�Ҫ@��o�ܟ��
3
- (3@�F���^"8����⫡��n�,̭��URA,u�^��,馏f��gF��N$�s�܌�L�C���G�d�2R��U���]�W�� �'�p��׆�
1
+ �~��wE�3�ꯘYs��[Dx�a�Rx�؉S�k��� �رa ����b$��8=("���󈥅�*m�{��A��e˴C�>���h�-�-��f��
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # * https://github.com/chrisvfritz/isabella
9
9
  # * http://www.speech.cs.cmu.edu/tools/lmtool-new.html
10
+ # * http://www.speech.cs.cmu.edu/cgi-bin/cmudict
10
11
  #
11
12
 
12
13
  class Phoneme
@@ -16,49 +17,52 @@ class Phoneme
16
17
  def initialize(s)
17
18
 
18
19
  @a = [
19
- {ey: /^a.[eo]/, ah: /^a$/, ae: /^a.*/ },
20
+ {:'ey k ah n' => /^(acon)$/, ey: /^a.[eo]/, ah: /^a$|^al$/, ae: /^a.*/ },
20
21
  :b,
21
- {:'s k' => /^(sc)/},
22
- {k: /^ca|^co|^(ck)/, ch: /^(ch)/,s: /^ce|^c.*/},
23
- {d: /^(d[de])$|^d.*/},
24
- {iy: /^(e[eayi])|^e$/, eh: /^e.*/},
22
+ {:'s k' => /^(sc)/},
23
+ {:'s ih r iy' => /^(cere)/ },
24
+ {:'k l ow' => /^(clo)/, k: /^c[oal]|^(ck)/, ch: /^(ch)/,s: /^ce|^c.*/},
25
+ {dz: /^(ds)/, d: /^(d[de])$|^d.*/},
26
+ {:'iy z' => /^(eese)$/, iy: /^(e[eayi])|^e$/},
27
+ {:'eh k s' => /^x$|^(ex)/, eh: /^e.*/},
25
28
  :f,
26
29
  {jh: /^ge/, :'' => /^(gh)/, g: /^g.*/},
27
30
  {hh: /^h.*/},
28
31
  {ay: /^i$|^(ie)|^igh|^i.e/, ih: /^i.*/},
29
32
  :jh,
30
- {n: /^(kn)/, k: /^k.*/},
33
+ {n: /^(kn)/, k: /^(ke)$|^k.*/},
31
34
  {l: /^(le)$|^l.*/},
32
35
  {m: /^me$|^(me)|^m/},
33
- {ng: /^(ng)/, n: /^n.*/},
36
+ {ng: /^(ng)/, nz: /^(ns)/, n: /^n.*/},
34
37
  {ow: /^(oa)|^o$/, oy: /^(oy)/, uh: /^(oo)/, ao: /^(ou)/,
35
38
  aw: /^(o[uw])/, ah: /^om|^pl/, aa: /^(o).*/},
36
39
  {p: /^p.*/},
37
40
  :q,
41
+ {:'r ah t' => /(rrot)/, :'r ay n' => /^(rin)d/},
38
42
  :r,
39
- {sh: /^(sh)/, z: /^(se)$/, s: /^s.*/},
43
+ {sh: /^(sh)/, s: /^(s[es])$|^s.*/},
40
44
  {:'t ah l' => /(t?tle)$/},
41
45
  {th: /^(th)/},
42
46
  {:'ch er' => /(ture)/},
43
- {t: /^(te)$|^t.*/},
47
+ {:'t er' => /^(ter)/, t: /^(te)$|^t.*/},
44
48
  {:'y uw' => /^ut[eu]/},
45
49
  {uw: /^(u)b|^(u)de/, er: /^(ure?)/, ah: /^u.*/},
46
50
  :v,
47
51
  {uw: /^(wo)/, w: /^(wh)|^w.*/},
48
- {z: /^xy/, e: /^x.*/},
52
+ {z: /^xy/, e: /^x.*/},
49
53
  :y,
50
54
  {zh: /^zu/, z: /^z.*/}
51
55
  ]
52
56
 
53
57
  @to_s = phonemize(s.downcase)\
54
- .sub(/ m iy$/,' m').sub(/th( iy)$/,'dh\1')\
55
- .sub(/th eh t /, 'th ey t ').sub(/^(y )ay( l )/,'\1iy\2').rstrip.upcase
58
+ .sub(/ ([mn]) iy$/,' \1').sub(/th( iy)$/,'dh\1')\
59
+ .sub(/th eh t /, 'th ey t ').sub(/^([y] )ay( l )/,'\1iy\2').rstrip.upcase
56
60
  end
57
61
 
58
62
  private
59
63
 
60
64
  def phonemize(s)
61
-
65
+ #puts 's: ' + s.inspect
62
66
  s2 = s[0..3]
63
67
 
64
68
  r3 = ''
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phoneme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
metadata.gz.sig CHANGED
Binary file