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̓ʷ, 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, if i comes directly BEFORE any throat sounds (ie any letter in blue, turquoise, or green), i will sound like the i in “fish”. If i comes AFTER any throat sounds, it will sound like “ai”, or the i in “fight”

  • ts together is often pronounced like c

  • if n starts a word and is not followed by a vowel, the n 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 a y 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 two c’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 as c

  • used to be written like , 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 English r. I’m fairly certain nsəlxcin r’s are always trilled (like a Spanish r)

  • if you ever see an o, the word was probably borrowed from another language

  • in many resources you’ll see accent marks or stresses over vowels (eg ), these are not glottal stops (eg ). Rather, stresses tell you which syllable in the word to stress when you speak. nsəlxcin has four vowels: a, ə, i, u, however only a, i, and u are ever stressed. For an English example, take the word present. If you stress the 1st vowel PREsent, it means “gift (noun)”. Stress the 2nd vowel preSENT, and it means “to offer (verb)”. Stressing words “correctly” is more important in nsəlxcin than it is in English

  • you 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.

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

x̌ast aksck̓ʷúl̓! (best of luck!)