way̓! kʷ ckic
nsəlxcin / nsyilxcn / nqilxʷcn (Colville-Okanagan Salish, Okanagan, or simply, Salish) is the language of my tribe, and it is critically endangered. My nsəlxcin learning journey began back in preschool at Paschal Sherman Indian School (once the very missionary/residential school which stripped the language from our people, my mother included) on the Colville Reservation. Fast forward two decades later, and I resumed my journey by taking online nsəlxcin courses through Wenatchee Valley College & the Syilx Language House - invaluable special offerings in the age of the pandemic I couldn’t pass up, given I currently live away from home. I am now on Syilx Language House staff, where I continue to learn from and record our precious remaining fluent elders.
Alphabet tool
About (click to expand)
This is my attempt at synthesizing various nsəlxcin alphabet learning materials to help me and other learners begin to speak the sounds and eventually read our language. Note: it’s often recommended to not start your learning with the alphabet. Don’t get too hung-up on perfect pronunciation at the start - just speak! That being said, learning the sounds/letters helped me to be more confident in speaking.
Hope you enjoy the tool as much as I enjoyed making it! See further below for credits, resources, and other notes that may be helpful, as well as the code used to make the tool (for you data visualization nerds out there).
The idea behind the tool below was to show the letters arranged in a way that would make it easy to compare differences in similar letters. For example, nsəlxcin has 8 different k
sounds: k
, k̓
, kʷ
, k̓ʷ
, q
, q̓
, qʷ
, and q̓ʷ
. Changing one k
sound to another may completely change the meaning of the word. It’s also important to preserve the sounds as much as possible. Our sounds were given to us by the Creator through the land, so we must do our best to not lose any of our eight beautiful k/q
’s (or our six h/x
’s, our four ʕ
’s, our click ƛ̓
, etc.).
Click on each letter to hear how it is pronounced, and click on the example word below to hear a word that contains the letter. As you hover over a letter, the mouth region in which the letter sound is produced lights up - this is to further help show the differences between sounds (for example, you can see that a q
is just a k
a little bit further back in the throat) and help guide your pronunciation.
Enjoy!
Credits
This project was heavily inspired by materials developed by Cree Whelshula (limləmt smx̌icnatkʷ!) and Dr. Anthony Mattina. They include:
An interactive nsəlxcin alphabet book by Cree Whelshula - in addition to overall inspiration, this is also where I got the audio and example word for
ʕ̓ʷ
. Includes a phonology diagram on the last page. Cree’s site contains many nsəlxcin e-books for learning - check them out!And an Okanagan orthography and pronunciation guide by Dr. Anthony Mattina, which features hundreds of example words (with audio from fluent elders) for each letter - this is also where I got the example word audio for
ḥ
In addition, various alphabet videos and other pronunciation materials developed by the Salish School of Spokane and provided on their language resource & curriculum website and YouTube were used for the audio clips and example words featured in the tool. The speaker for most of the audio is fluent elder sʕamtíc̓aʔ.
The Colville Confederated Tribes’ alphabet guide and dictionary were also consulted.
Notes & Tips
nsəlxcin is usually written only in lower case (though some will capitalize names). I’m told this is to reflect our culture’s beliefs in keeping all things equally important and non-hierarchical, with no one thing above anything else
if a word starts with
ʔ
and is followed by a vowel, don’t worry about pronouncing theʔ
, just ignore it! It’s only there for when you add on to the word. Sometimes it seemsʔ
is more of a punctuation than a letter.ʔ
is sometimes represented by the number 7.i
is usually pronounced like “ee” as shown in the learning tool above. However, ifi
comes directly BEFORE any throat sounds (ie any letter in blue, turquoise, or green),i
will sound like thei
in “fish”. Ifi
comes AFTER any throat sounds, it will sound like “ai”, or thei
in “fight”ts
together is often pronounced likec
if
n
starts a word and is not followed by a vowel, then
sound will be slightly more drawn outɣ
andḥ
are much more rare than the other letters, and some dialects don’t use them (for example the Lakes/Sinixt dialect uses ay
sound instead of aɣ
, and I’m told most words that useḥ
are loanwords from nxaʔamxčín (Moses-Columbia Salish, nsəlxcin’s sister language)some materials show the letter
c
to be written asč
. In other Salish languages, the twoc
’s are different sounds. Currently, it seems both are used by personal preference. Just know if you see ač
in nsəlxcin materials, it’s the same asc
x̌
used to be written likex̣
, if you come across it in older materialsł
andɬ
are used interchangeably. Sometimes, words starting withł
are pronounced likeəł
some materials show
r
pronounced like the Englishr
. I’m fairly certain nsəlxcinr
’s are always trilled (like a Spanishr
)if you ever see an
o
, the word was probably borrowed from another languagein many resources you’ll see accent marks or stresses over vowels (eg
á
), these are not glottal stops (egm̓
). Rather, stresses tell you which syllable in the word to stress when you speak. nsəlxcin has four vowels:a
,ə
,i
,u
, however onlya
,i
, andu
are ever stressed. For an English example, take the wordpresent
. If you stress the 1st vowelPREsent
, it means “gift (noun)”. Stress the 2nd vowelpreSENT
, and it means “to offer (verb)”. Stressing words “correctly” is more important in nsəlxcin than it is in Englishyou may find in different places the alphabet may be slightly different… along with this, many words may be spelled in different ways. The reason for this is complicated, but basically I believe it boils down to these four things:
- the language has not had a writing system very long
- it isn’t very easy to get the salish font on your computer, so often people will make do without it (I got the keyboard on my computer by following these instructions, and on my phone by downloading the FirstVoices app)
- the differences in dialects of the language and the lack of a full standardization (along with differences north/south of the US-Canadian border)
- and most Salish languages (of which there are around 23) use the American Phonetic Alphabet (APA) writing system. Some of the Salish languages use some sounds that others don’t use, and vice versa. So, really the nsəlxcin alphabet (and all Salish alphabets) is a subset or variation of the APA, and it’s not easy to draw a hard line on which letters to include or not from the APA for each language
in some places you might see a ligature
‿
they don’t make any sounds, but they’re helpful to linguists. Honestly just ignore them
Code
If you’re an R nerd who is mainly here for the technical bits, welcome, too! This (visualization?) is full of firsts for me. It’s my first time using audio in a visualization, my first time using a custom background image, and my first time adding interactivity beyond leaflet maps or experimenting with plotly charts. Most of the work is made possible by the ggiraph
package, which allows interactivity and audio (albeit in a way that seems somewhat hack-ish, but then again this type of thing in R would be!). One of my largest takeaways from this process was learning that RStudio has the ability to run other languages, such as JavaScript and CSS, within RMarkdown chunks (which is necessary for the audio)… so cool! Anyway, the only other place on the web I was able to find an example of using interactive audio in R was through a ggiraph
example, so I hope someone who wants to do this in the future will now have at least two examples to start with 🤓
#```{r, echo=FALSE, message=FALSE}
# Setting up
library(tidyverse)
library(ggiraph)
library(png)
library(grid)
library(ggimage)
# reading in text of each letter along w an x/y position for plotting
letters <- read_csv("okanagan.csv") %>%
mutate(x_order = x_order + w_adjustment) # this is to get those different colored w's manually adjusted in the right spot
background_img <- readPNG("mouth_diagram.png")
#```
# For the below: b's and c's are my own system for organizing all the audio clips I was working with
# Note: this chunk is in JavaScript
#```{js, echo=FALSE, message=FALSE, warning=FALSE}
#// Declaring JavaScript variable for onclick action to read in visualization
#// b series is for letter sounds
var b1 = new Audio("alphabet_sounds_mp3/1b.mp3") ;
var b2 = new Audio("alphabet_sounds_mp3/2b.mp3") ;
var b3 = new Audio("alphabet_sounds_mp3/3b.mp3") ;
#// and so on to b45 (one for each letter) ... trimmed in this example
#// c series is for example word pronounciations
var c1 = new Audio("alphabet_sounds_mp3/1c.mp3") ;
var c2 = new Audio("alphabet_sounds_mp3/2c.mp3") ;
var c3 = new Audio("alphabet_sounds_mp3/3c.mp3") ;
#// and so on to c45 (one for each example word) ... trimmed in this example
#```
#```{r, echo=FALSE, message=FALSE, warning=FALSE}
# Describing audio column
# Note record_num was an arbitrary ordering of the letters
letters <- letters %>%
mutate(letter_onclick = paste0("b", record_num, ".play();"),
example_onclick = paste0("c", record_num, ".play();"))
#```
#```{r echo=FALSE, message=FALSE, warning=FALSE}
# mouth region colors
labial_hue <- "#ffde59"
alveolar_hue <- "#ff914d"
palatal_hue <- "#ff5757"
velar_hue <- "#cb6de6"
lateral_hue <- "#ff66c4"
post_velar_hue <- "#5371ff"
pharyngeal_hue <- "#5ce1e6"
glottal_hue <- "#7ed957"
# mouth region positions
labial_xy <- c(1.5, 4.8)
alveolar_xy <- c(1.9, 5.5)
palatal_xy <- c(2.35, 6)
velar_xy <- c(2.85, 6)
lateral_xy <- c(3, 5)
post_velar_xy <- c(3.25, 5.5)
pharyngeal_xy <- c(3.3, 4.5)
glottal_xy <- c(3.25, 2)
# Viz
viz <- letters %>%
ggplot() +
# background image
annotation_custom(rasterGrob(background_img,
width = unit(1,"npc"),
height = unit(1,"npc")),
-Inf, Inf, -Inf, Inf) +
# mouth region annotations (one needed for every letter in each region) !
# only showing code for labial region to keep this example manageable
# they are stacked to appear as one object
# labial
annotate_interactive("point", x = labial_xy[1], y = labial_xy[2], size = 15, alpha = .5, color = labial_hue, shape = 1,
stroke = .1,
data_id = "m") +
annotate_interactive("point", x = labial_xy[1], y = labial_xy[2], size = 15, alpha = .5, color = labial_hue, shape = 1,
stroke = 0.1,
data_id = "p") +
annotate_interactive("point", x = labial_xy[1], y = labial_xy[2], size = 15, alpha = .5, color = labial_hue, shape = 1,
stroke = 0.1,
data_id = "m̓") +
annotate_interactive("point", x = labial_xy[1], y = labial_xy[2], size = 15, alpha = .5, color = labial_hue, shape = 1,
stroke = 0.1,
data_id = "p̓") +
annotate_interactive("point", x = labial_xy[1], y = labial_xy[2], size = 15, alpha = .5, color = labial_hue, shape = 1,
stroke = 0.1,
data_id = "ʷ") +
annotate_interactive("point", x = labial_xy[1], y = labial_xy[2], size = 15, alpha = .5, color = labial_hue, shape = 1,
stroke = 2,
tooltip = "labial (lips)") +
# letters
geom_text_interactive(aes(x = x_order, y = y_order,
onclick = letter_onclick,
tooltip = pronounciation_description,
data_id = letter, # for highlight
label = letter,
color = region),
size = 10) +
scale_color_manual_interactive(values = c(post_velar_hue, pharyngeal_hue, glottal_hue, alveolar_hue, lateral_hue, velar_hue, palatal_hue, labial_hue)) +
# example words
geom_text_interactive(aes(x = x_order, y = y_order - 0.55,
onclick = example_onclick,
tooltip = example_translation,
data_id = example_word,
label = example_word),
size = 2.75,
color = "grey70") +
labs(x = NULL, y = NULL) +
theme_minimal() +
theme(axis.text = element_blank(),
panel.grid = element_blank(),
legend.position = "none",
panel.background = element_rect_interactive(fill = "#21202c", color = "#21202c"),
plot.background = element_rect_interactive(fill = "#21202c", color = "#21202c"))
# converting ggplot object to an interactive version "girafe" object
ggiraph::girafe(ggobj = viz) %>%
girafe_options(opts_hover(css="fill:white;cursor:pointer;stroke:whitesmoke;stroke-width:0.5px;opacity:0.66;"),
opts_tooltip(opacity = .75, css = "background-color:gray;color:white;font-style:italic;padding:10px;border-radius:10px 20px 10px 20px;"))
Materials list
Here is a compilation of resources that could be helpful in your learning journey.
My own audio flashcard sets (ongoing), which mostly follow the SSOS curriculum
Syilx Language House (virtual classes & tons of Elder recordings)
Also be sure to seek relevant FB groups, such as Salish School of Spokane, Okanagan Nation Alliance, Syilx Language House, and other salish / nsəlxcin specific learning groups. There’s also various things floating around youtube. Just start pokin’ around :) Reach out if you need help