Sign in

Rasmus Puggaard-Rode

@rpuggaardrode.bsky.social
578 followers 418 following 277 posts

Phonetician at Oxford University. Very into stops, Danish/Germanic, Rstats. Also have other hobbies. rpuggaardrode.github.io

PostsRepliesMedia
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 05/10/2026
Agreed! I find I fiddle too much with formatting regardless, and can never get Word to actually do what I want, so I usually end up in LaTeX 🙃
010
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 02/10/2026
My worry with peridioc data (unlike my stop releases) would be that formant positions have such strong speaker-characteristics that I would worry about important information getting lost by the smoothing. Do these plots average over multiple speakers?
110
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 02/10/2026
@clrnance.bsky.social and Sam Kirkham did something like this! I have a few papers using functional data analytic methods to model spectral shape in stop releases -- I'm a big proponent of this precisely to avoid imposing whatever's captured in pre-fab toolkits to spectra we don't yet understand
120
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 06/09/2026
(If you've used reapeR while it was living on my GitHub, you'll find that the R functions are mostly the same, but it's otherwise a much more stable library, because it bundles up and directly wraps the REAPER C++ code!) Let me know if you have questions or run into issues! 6/6
010
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 06/09/2026
Why use REAPER? I like to use it because it provides really robust estimates especially at very low pitch levels or with non-modal voice qualities. 5/6
rpuggaardrode.github.io
Working with REAPER in R
100
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 06/09/2026
It's set up to work well with both Praat and EMU. You can convert pitch estimates to `.Pitch` files to process in Praat, or track pitch directly over an EMU database if you're into that sort of thing. 4/6
100
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 06/09/2026
reapeR can also return other goodies, such as frame-wise probabilities of voicing onset/offset, and "pseudo-probability" of voicing in any frame 3/6
100
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 06/09/2026
Simply pass the name of a sound file, and get an estimate of pitch and the locations of epochs (glottal closure instants). Alternatively, pass the name of a directory, and get estimates from every sound file in there 2/6
100
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 06/09/2026
Happy news for all the pitch and voicing lovers out there -- reapeR is now on CRAN and can be installed on R with `install.packages("reapeR")`! This library provides easy access to the REAPER (Robust Pitch and Epoch EstimatoR) C++ library 1/6 rpuggaardrode.github.io/reapeR/
rpuggaardrode.github.io
Working with REAPER in R
142
Reposted by Rasmus Puggaard-Rode
Dr. Cong Zhang @congzhang.bsky.social · 04/09/2026
Now on CRAN! 📦✨ rhythm.metrics can now be installed directly from R (install.packages("rhythm.metrics")). cran.r-project.org/web/packages... It is relatively simple (because it was originally built for a small paper), but more useful features will be added in the future. Suggestions welcome!
172
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 12/08/2026
Thanks for the clarification, and apologies for sounding so blunt! The context for the post is that most of my small circle afaik mainly use OSF for file management and sharing 🙂
010
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 12/08/2026
The OSF is being axed 😔
222
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 31/07/2026
Don't tell CUP I said this, but if you're reading online I'd recommend looking at our own online version, which has embedded R code that explains each step of the analysis. 6/6 rpuggaardrode.github.io/cf0dan/
rpuggaardrode.github.io
Obstruent co-intrinsic pitch and other demands on the larynx
020
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 31/07/2026
That's an extremely coarse summary! Read for more detail and for our musings about what this all can tell us about what CF0 is and where it comes from! 5/6
110
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 31/07/2026
The upshot: CF0 effects are larger and more extensive in *global* high pitch environments, especially when there are no strict phonological demands in terms of pitch trajectory. In *local* high pitch environments with specific phonological demands in terms of trajectory, the opposite holds. 4/6
110
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 31/07/2026
We were also particularly interested in how CF0 interacts with other sources of pitch raising, so we looked at effects in high/low global pitch contexts, in words with and without stød (iykyk), and in two varieties that differ in their stress-pitch alignment 3/6
120
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 31/07/2026
We investigated CF0 effects in two varieties of Danish. It's an interesting language to look at because there are two series of stop consonants both of which are voiceless, but with differing degrees of glottal spreading. Turns out both types raise F0 relative to a neutral baseline! 2/6
110
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 31/07/2026
Just out in JIPA, new goodies for all of the co-intrinsic pitch fans out there! 1/6 doi.org/10.1017/S002...
doi.org
Obstruent co-intrinsic pitch and other demands on the larynx: Revisiting the mechanisms behind co-intrinsic pitch in Danish | Journal of the International Phonetic Association | Cambridge Core
Obstruent co-intrinsic pitch and other demands on the larynx: Revisiting the mechanisms behind co-intrinsic pitch in Danish - Volume 56
1100
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 23/07/2026
PSA Praat has a third author now! Time to reinstall and update those citations!
091
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 22/07/2026
Seems this link isn't working, but you can find the site by going to corehr and searching for vacancy ID 187307!
010
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 21/07/2026
We're looking for a full-time lab manager for the Oxford phonetics lab for an initial three-year stint! Please apply, please spread the word, and feel free tor each out if you have any questions my.corehr.com/pls/uoxrecru...
122
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 20/05/2026
Functional Grammar but the function is telling kitty cats they are baby
060
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 15/05/2026
We're looking to hire an Associate Professor in Sociolinguistics in Oxford -- come be my colleague! Spread the word (and apply)! www.ling-phil.ox.ac.uk/news/2026/05...
ling-phil.ox.ac.uk
We are hiring a Sociolinguist!
The University of Oxford, in association with Worcester College, is seeking to make an open-rank appointment in Sociolinguistics, with effect from 1 October 2026 or as soon as possible thereafter.
072
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 07/05/2026
Very happy that this has now found a home!
082
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 22/04/2026
Your dissertation has the word "prosody" in the title!!
110
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 22/04/2026
If you have no idea what praatpicture is but you think it looks cool, you can learn more here! 3/3 rpuggaardrode.github.io/praatpicture...
rpuggaardrode.github.io
Make Praat Picture-style plots of acoustic data in R
040
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 22/04/2026
- and you can now highlight different parts of figures in different ways (thanks to Josie Riverin-Coutlée!) 2/3
150
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 22/04/2026
praatpicture has a couple new features in the newly released version 1.8.0! You can now embed audio with a moving cursor to your figures (thanks Marina Cantarutti, and thanks to @sorensorensen.bsky.social for donating his voice!) 1/3
3269
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 15/04/2026
As the man himself pointed out, "nobody knows how to pronounce Ladefoged". This is true! But we're working on it!
020
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 15/04/2026
Colleages @fburroni.bsky.social @aleeseblock.bsky.social and I have been trying to find out what the exact outcome of /d/-vocalization actually is, and our work amazingly won the Peter Ladefoged award at this year's BAAP! Thanks for this, it's a great honor! 2/2
warwick.ac.uk
BAAP 2026 - Awards
391
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 15/04/2026
Fun fact, the name Ladefoged is Danish. It's notoriously difficult to pronounce in Danish, because the 2nd and 4th syllables are both "soft d's", the bizarre outcome of a historical /d/-vocalization process. 1/2
151
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 08/03/2026
Ditto Denmark, which is also famously HUGE and far away from the equator
010
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 25/02/2026
Something like `if (any(dir.exists(filename))) filename <- list.files(filename, pattern = ext)`. Haven't run across issues yet, but I guess limiting file extension patterns is crucial.
110
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 25/02/2026
I have a bunch of functions where `filename` can be either a string pointing to a file, a string pointing to a directory, or a vector of strings pointing to filenames. May well be bad practice, I don't think I've done this in a library that has gone through CRAN review...
110
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 21/02/2026
Great news! Thanks so much Christian!
030
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 21/02/2026
Ah, that's really good to hear!
020
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 21/02/2026
I was hoping to go to CorpusPhon2 but was a bit shocked yesterday to see that the deadline is already in a week. I've been looking for a call online but hadn't managed to find one before yesterday.
110
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 20/02/2026
I think we might have had the same reviewer 🙃
030
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 20/02/2026
Same! Won't see you there!
010
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 13/02/2026
Is that even a "legal" package name? Fairly sure R wouldn't allow package names with hyphens in them!
020
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 30/01/2026
Hi Samuel! There's currently no option to directly control the number of axis ticks, although this is something I could probably implement without too much trouble. If you set `min_max_only = FALSE`, R will automatically set axis ticks depending on the size of the plot
110
Reposted by Rasmus Puggaard-Rode
Dr Vanessa @hpsvanessa.bsky.social · 23/01/2026
are YOU a university professor, professor emeriti or associate professor of history, social sciences, law, philosophy, theology, and religion? Did you know you can nominate people for the Nobel Peace Prize?
1221150
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 17/01/2026
And this isn't even at all a complex example
030
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 17/01/2026
I get a bit of a headache just looking at that matrix, it's pretty clunky
120
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 17/01/2026
In case any of this is helpful \usepackage{tikz,tikz-qtree} \tikzset{mytree/.style={baseline=(top.base), level distance=2em, sibling distance=4em, align=center, parent anchor=south, child anchor=north, anchor=north}} \usetikzlibrary{shapes,shadows,arrows,positioning,graphs,matrix}
010
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 17/01/2026
Right! There are a few things in my preamble probably related to this, but I can't remember anymore what the logic was! Should've written more comments 😵‍💫
120
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 17/01/2026
I had this sort of thing in my dissertation which was done with tikz. Looks like delinking was just a small = placed in the middle of the line, not super elegant but got the job done
330
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 12/01/2026
Was wondering about this! Last week, someone on my street had put out a trash can with a sign on it saying BLACK ICE VERY SLIPPY
120
Rasmus Puggaard-Rode @rpuggaardrode.bsky.social · 12/12/2025
One of my favorite street names in Leiden!
020