X-Sampa / CXS

Convert:
(Customisable to normal X-Sampa)

Conlang X-Sampa: modified X-Sampa used on the Conlang Mailing List

[ Consonants | Non-Pulmonic | Vowels | Other | Diacritics | Suprasegmentals | Tones | Libraries | Tabular ]

X-Sampa and CXS are ways of writing IPA in plain ASCII messages, as used in mails or newsgroups. The few modifications CXS introduces are marked in bold and in green color and are additionally mentioned in a note in that section.


Consonants

bilabial
labio-
dental
dental alveolar
post-
alveolar
retro-
flex
palatal velar uvular
pharyn-
geal
epi-
glottal
glottal
Plosive
p
p
b
b
               
t
t
d
d
       
t`
ʈ
d`
ɖ
c
c
J\
ɟ
k
k
g
ɡ
q
q
G\
ɢ
   
>\
ʡ
?
ʔ
Nasal    
m
m
   
F
ɱ
           
n
n
           
n`
ɳ
   
J
ɲ
   
N
ŋ
   
N\
ɴ
Trill    
B\
ʙ
                   
r
r
                           
R\
ʀ
       
Tap/Flap                            
4
ɾ
           
r`
ɽ
                       
Fricative
p\
ɸ
B
β
f
f
v
v
T
θ
D
ð
s
s
z
z
S
ʃ
Z
ʒ
s`
ʂ
z`
ʐ
C
ç
j\
ʝ
x
x
G
ɣ
X
χ
R
ʁ
X\
ħ
?\
ʕ
H\
ʜ
<\
ʢ
h
h
h\
ɦ
Lat.Fric.        
K
ɬ
K\
ɮ
                                       
Approx.            
P
ʋ
           
r\
ɹ
           
r\`
ɻ
   
j
j
   
M\
ɰ
                       
Lat.Approx.            
l
l
           
l`
ɭ
   
L
ʎ
   
L\
ʟ
       
Clicks
O\
ʘ
           
|\
ǀ
   
!\
ǃ
            !\`    
=\
ǂ
   

Voiceless consonants on the left, voiced ones on the right.

Note 1: I am not really sure what epiglottal consonants are pronouncible.

Note 2: P has a variant transcription v\.

Note 3: The symbol for a retroflex click is my invention.

Note 4: If there wasn't an inconsistency about r`, the retroflex columns would be copies of the alveolar columns with a retroflex/rhoticity marker ` appended to each entry.


Non-Pulmonic Consonants

Clicks Voiced implosives Ejectives
O\
ʘ
Bilabial
b_<
ɓ
Bilabial
_>
ʼ
as in:
|\
ǀ
Dental
d_<
ɗ
Dental/alveolar
p_>
Bilabial
!\
ǃ
(Post)alveolar
J\_<
ʄ
Palatal
t_>
Dental/alveolar
=\
ǂ
Palatoalveolar
g_<
ɠ
Velar
k_>
Velar
|\|\
ǁ
Alveolar lateral
G\_<
ʛ
Uvular
s_>
Alveolar fricative

Vowels

Front   Central   Back
Close
i
i
y
y
       
1
ɨ
u\
ʉ
       
M
ɯ
u
u
         
I
ɪ
Y
ʏ
I\ U\    
U
ʊ
       
Close-mid
e
e
2
ø
       
@\
ɘ
8
ɵ
       
7
ɤ
o
o
Mid                
@
ə
               
Open-mid
E
ɛ
9
œ
       
3
ɜ
3\
ɞ
       
V
ʌ
O
ɔ
 
&
æ
           
6
ɐ
                   
Open
a
a
&\
ɶ
                       
A
ɑ
Q
ɒ

Unrounded vowels on the left, rounded ones on the right.

Note 1: Instead of 1, the original X-Sampa, i\ is in common use on Conlang.

Note 2: The schwa, @, does not seem to be defined to be rounded or unrounded in IPA as the chart gives the letter in the very center. We need a conlang that distinguishes these two to force IPA to include both variants (you can write e_x and 2_x to indicate the two variants, though).

Note 3: I\ and U\ are not official IPA.

Note 4: X-Sampa was modified for the following vowels:

X-Sampa CXS Comment
1 i\ Both are in use
} u\
{ &
& &\

Mnemonics

CXS IPA Mnemonic
9 œ This is the vowel in French ‘neuf’ /nœf/
2 ø This is the vowel in French ‘deux’ /dø/
The CXS glyph contains the same slash as its IPA equivalent.

Other Symbols

W
ʍ
Voiceless labial-velar fricative
s\, z\
ɕˌ ʑ
Alveolo-palatal fricatives
w
w
Voiced labial-velar approximant
l\
ɺ
Alveolar lateral flap
H
ɥ
Voiced labial-palatal approximant
x\
ɧ
Simultaneous S and x
H\
ʜ
Voiceless epiglottal fricative
>\
ʡ
Epiglottal plosive
<\
ʢ
Voiced epiglottal fricative

Affricates and double articulations can be represented by two symbols joined with a tie bar if necessary. CXS provides two ways of doing so.

The X-Sampa way with _:
k_p
k͡p
t_s
t͡s
This uses the same character order as the Unicode sequence.
A more concise CXS way with ): kp) ts) This requires a different character order than Unicode.

Diacritics

_0
̥
Voiceless
n_0
d_0
_t
̤
Breathy voiced
b_t
a_t
_d
̪
Dental
t_d
d_d
_v
̬
Voiced
s_v
t_v
_k
̰
Creaky voiced
b_k
a_k
_a
̺
Apical
t_a
d_a
_h
ʰ
Aspirated
t_h
d_h
_N
̼
Linguolabial
t_N
d_N
_m
̻
Laminal
t_m
d_m
_O
̹
More rounded
O_O
ɔ̹
_w
ʷ
Labialised
t_w
d_w
~
̃
Nasalised
e~
_c
̜
Less rounded
O_c
ɔ̜
_j
ʲ
Palatalised
t_j
d_j
_n
Nasal release
d_n
dⁿ
_+
̟
Advanced
u_+
_G
ˠ
Velarised
t_G
d_G
_l
ˡ
Lateral release
d_l
_-
̠
Retracted
i_-
_?\
ˤ
Pharyngealised
t_?\
d_?\
_}
̚
No audible release
d_}
_"
̈
Centralised
e_"
_e
̴
Velarised or
pharyngealised
l_e
ɫ
_x
̽
Mid-centralised
e_x
_r
̝
Raised
e_r
r\_r
ɹ̝
=
̩
Syllabic
r\=
ɹ̩
_o
̞
Lowered
e_o
B_o
β̞
_^
̯
Non-syllabic
e_^
_A
̘
Advanced tongue root
e_A
`
̢
Rhoticity
@`
ɚ
_q
̙
Retracted tongue root
e_q

Note 1: For l_e, there is a special symbol 5 in CXS.

Note 2: The X-Sampa palatalisation ' is not in use in CXS (collides with stress marker). Instead, only _j is used. (X-Sampa allows both variants.) However, a CXS specific diacritic ; for palatalisation is also in use.


Suprasegmentals

' or " Primary stress
"foUn@'tIS@n ˌfoʊnəˈtɪʃən
%foUn@"tIS@n
" or , or % Secondary stress
:
ː
Long
e:
:\
ˑ
Half-long
e:\
_X
̆
Extra-short
e_X
.
.
Syllable break
r\I.&kt
ɹɪ.ækt
|
|
Minor (foot) group
||
Major (intonation) group
-\
Linking (absence of break)

Note 1: The stress markers were modified to be more similar to IPA compared to X-Sampa. Both versions are in use and CXS has two alternatives.


Tones & Word Accents

_T
˥
Extra high
_R
̌
Rising
_H
˦
High
_F
̂
Falling
_M
˧
Mid _H_T High rising
_L
˨
Low _B_L Low rising
_B
˩
Extra low _R_F Rising-falling
!
Downstep
<R>
Global rise
^
Upstep
<F>
Global fall

Machine-Readable Mapping

The following are machine-readable versions of the above IPA to CXS mapping. You may download single files or the whole package.

"charmap-cxs.lsp": Table for Lisp

This is the primary source code.

"charmap-cxs-class.lsp": Supplement table for Lisp and the corresponding "cxs.lsp" Module for Lisp
(require 'cxs)

(ipa->cxs (vector #x0262 #x0250))
(cxs->ipa "G\\7X")

This Lisp module is used on this site by the documents about my conlangs. Currently, it cannot handle the linking mark ) correctly -- only a few precomposed cases it converts it correctly.

Module for Perl, version 1.07
use CXS;

my $cxs= ipa2cxs("\x{0262}\x{0250}");
my $ipa= cxs2ipa('G\7X');

This can be used in scripts like the one that generates this page: G\6 and ɢɤχ. It's the most complete conversion module.

Features
- A function to conversion to HTML is included: cxs_encode_html().
- Correct rearrangment of CXS linking mark ) to an infixed diacritic in IPA (and vice versa): tz_0) and t͡z̥.
- _0 (and optionally =) is placed according to glyph. This is basic, but better than nothing:
n_0
N_0 ŋ̊
- Translation tables can be edited/customised.
- Works with older Perls, too (those without pack('U',...)).
Tables for C/C++ and the corresponding header File

This only contains the mere tables, no conversion routines.

Modules for Python (>= 2.2) and the corresponding data table generated from the Lisp data.

I haven't had a chance to test this myself as my Python's too old -- the module is a kind addition to the gallery by Taliesin the Storyteller.

Keyboard Plugin for X

To be able to type CXS in X, I use the SCIM method with this map. Look into the .mim file to read how to install -- it's easy.

These tables are distributed as Free Open Source Software.

Download Package

cxsipa-1.4pre-src.tar.gz
cxsipa-1.xdevel-src.tar.gz

CXS HTML

CXSHTML is a form of CXS for presentation in HTML pages when for some reason real IPA is not suitable. It is more readable than plain CXS by using markup. This was proposed by Jeffrey Jones on the Conlang Mailing List.

The mapping is simple: all modifiers starting with _ are enclosed in <sup> in HTML, e.g., n_0 will become n0.

Furthermore, the ) tiebar can be represented as underlining using the <u> HTML tag, e.g., aI) will become aI.

Example

This example shows many diacritics, but not necessarily an existing word...

IPA sv̥e̞͡ɪt̚n̥
CXS sv_0e_oI)t_}n_0
CXSHTML sv0eoIt}n0

Style Sheet

For the underlining to work in all browsers when mixed with superscripts, a small piece of style sheet code is recommended:

<style type="text/css"><!--
    u {
        text-decoration: none;
        border-bottom:   1px solid black;
    }
--></style>

Changes

Index

May 13th, 2017
Comments? Suggestions? Corrections? You can drop me a line.
zpentrabvagiktu@theiling.de
Schwerpunktpraxis
Datenschutz