summaryrefslogtreecommitdiff
path: root/src/lib/sounds/sig.ml
blob: 372b888be833d1de4cc7f980917fd808a7d548d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
module type T = sig
  type t
  val muted : t -> t

  val a : t
  val e : [`Closed | `Opened] -> t
  val eu : t

  val o : t
  val schwa : unit -> t

  (** This is an empty sound.

      It can be used to replace any element in a syllabus *)
  val none: t

  (** This is the voyel i like in "ici"
      When nazalized, the voyel become [in] like in "ainsi" *)
  val i : t

  (** This is the sound present with letter [ai].
      It is the e like in "semaine".

      When nazalized, the voyel become [in]


  *)
  val voyel_ai : t

  (** This is the sound ou like in "ouvrier"
      When nazalized, the voyel does not change *)
  val voyel_u : t

  (** This is the sound u like in "unis"
      When nazalized, the voyel become [un] like in "brun" *)
  val voyel_y : t

  (** Create a diphtongue from a semi-voyel and a voyel *)
  val diphtongue: t -> t -> t

  val nasal: t -> t option

  val p: t
  val b: t
  val t: t
  val d: t
  val k: t
  val g: t
  val f: t
  val v: t
  val s: t
  val z: t
  val sz: t
  val ch: t
  val j: t

  val n: t
  val m: t

  val r: t
  val l: t

  val semi_voyel_w: t
  val semi_voyel_y: t

  val is_voyel : t -> bool
  val is_nasal : t -> bool

  val repr : t -> string

end