From 48dc04c3b9afe19207d15b873452129d9c2b3b4c Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Fri, 3 Sep 2021 15:15:00 +0200 Subject: Continued refactoring --- src/lib/sounds/sig.ml | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/lib/sounds/sig.ml (limited to 'src/lib/sounds/sig.ml') diff --git a/src/lib/sounds/sig.ml b/src/lib/sounds/sig.ml new file mode 100644 index 0000000..372b888 --- /dev/null +++ b/src/lib/sounds/sig.ml @@ -0,0 +1,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 -- cgit v1.2.3