The History and Future of AI

Due to MishMash, I am nowadays lecturing on AI, music, and creativity several times a week. I usually include a brief overview of machine learning history, mainly to explain that ChatGPT didn’t come out of nowhere but was the result of decades of research. To check that my story holds and to get a few more critical years and names in place. This blog post summarizes the brief history of AI to date. ...

January 3, 2026 · 10 min · 2092 words · ARJ

Using Google NotebookLM to summarize my academic results

I find Google’s NotebookLM to be one of the most powerful tools for researchers these days. Its core function is to work with the material you upload. Hence, it differs from ChatGPT and other tools that invent things on their own or search the web. It also has many different types of reports, including audio and video. But how accurate is it? Testing NotebookLM To test NotebookLM on some material I know very well, I decided to provide it with a collection of public data about myself, more specifically, what I have registered in the Norwegian NVA system, which is the database we use in Norway to register all our academic activities. This includes academic publications, public lectures, artistic works, interviews, etc. In my case, that contains around 1000 entries dating back to 2000. ...

January 2, 2026 · 10 min · 1963 words · ARJ

Writing music scores on Hugo blog posts with ABCJS

Since I am on a roll with cleaning up my Hugo-based blog, adding alt text, and supporting math writing, I also had to experiment with adding support for musical scores. For the Sensing Sound and Music book, I used music21 in Python after struggling to set up LilyPond. Both LilyPond (professional engraving) and music21 (symbolic analysis and MIDI generation) are powerful and could be integrated into a blog, but they usually require a server-side toolchain or extra installation. However, with the help of CoPilot, I discovered ABCjs, a lightweight client‑side library that provides rendering, playback, and MIDI export, which work well for static sites. ...

January 2, 2026 · 2 min · 290 words · ARJ
Winter landscape, water, trees, snow

2026, a Year of Transition

Happy new year! As we move into 2026, I am currently undergoing a gradual shift in my academic life. I don’t have any new annual projects planned this year (like 365 Sound Actions or #StillStanding). This year is more about wrapping up old things and moving on with exciting new projects. I am more or less done with writing Still Standing, which summarizes 15 years of micromotion research. My AMBIENT project is also about to end, with sveral of my doctoral and postdoctoral fellows wrapping up their projects in the coming months. The plan is to write a book based on AMBIENT, too, summarizing my interest in indoor environments. However, book writing takes time, so it will probably take a few years before I have completed that project. ...

January 1, 2026 · 2 min · 362 words · ARJ

Adding math support to Hugo blog with KaTeX

I am continuing to clean my Hugo site. Going over old posts, I found one on explaining artificial neural networks that included a bunch of equations based on screenshots from my master’s thesis. Now, with the help of CoPilot, I have implemented proper equation support on my Hugo site. KaTeX to the rescue I am used to writing my academic texts using LaTeX, an advanced typesetting library where you write code and compile it to a PDF (or something else). One of the benefits of LaTeX is its advanced support for typing equations (and many other features). However, until recently, it wasn’t so easy to write equations in HTML. ...

January 1, 2026 · 2 min · 350 words · ARJ
Stones, water

Automating alt text generation for all blog images

Yesterday, I wrote about how I cleaned up a lot of old mess here on this blog. This made me realize that I have not paid attention to creating alt text for all my images, that is, descriptive text that describes the content of the image. That is an enormous job when you have several thousand images on a blog like this. So I decided to ask CoPilot for help. Getting AI help CoPilot first suggested creating alt text based on the image file names. That could have been a good idea if the filenames had been descriptive. However, they are not (in general), hence I asked for a solution that would actually analyse the content of the images. After a series of iterations, we (CoPilot and I) ended up with a Python script that does the job. ...

December 31, 2025 · 3 min · 535 words · ARJ

AI-based help with cleaning my blog

After running this blog for over two decades, it was time for some serious housekeeping. I converted from WordPress to Hugo some years ago, but never had time to do a proper cleanup. Then, the focus was on conversion and making it work. Now, with the help of GitHub Copilot, I finally got around to cleaning up the technical debt that had accumulated across several thousand posts. The Scale of the Challenge This blog currently contains more than 2000 English posts and 200 Norwegian posts, spanning from 2000 to 2025. In the beginning, I wrote HTML code manually, then moved on to server-side includes, then to WordPress, and now to Hugo. Throughout those years, I have changed themes and explored new web standards as they have evolved. That history shows in the inconsistencies that have built up in the content. ...

December 30, 2025 · 4 min · 650 words · ARJ

Audiovisual is confusing, use Audio–Video or Auditory–Visual instead

I have previously written about the differences between sound and audio and sound/light vs audio/video. In this short blog post, I problematize the concept “audiovisual”. Dictionary definitions The term “audiovisual” is ubiquitous. Unfortunately, for those of us working both on technology and psychology, it causes a lot of confusion. For example, consider the definition by Wikipedia: Audiovisual (AV) is electronic media possessing both a sound and a visual component, such as slide-tape presentations, films, television programs, corporate conferencing, church services, and live theater productions. ...

December 28, 2025 · 2 min · 286 words · ARJ

Stretchtext and LLMs

During a Christmas dinner, someone commented that many texts are too long these days and that it would be nice to have shorter versions available. One could think of large language models (LLMs) as a good solution for this. However, a better conceptual starting point may be the the concept of stretchtext, coined by Ted Nelson back in the 1960s. I wrote about application writing as stretchtext here on this blog back in 2011. Then, I used the example of having to write both a 5-page and a 15-page application for the ERC Starting Grant. Now, I am curious about how we could use the stretchtext concept to improve contemporary reading and learning. ...

December 27, 2025 · 5 min · 1018 words · ARJ

Reflections on writing a textbook with AI

This semester, I have written a book with AI. I should emphasize the with in the previous sentence, because this has been an experience of co-creation between various large language models (LLMs) and me. This post details my approach to co-writing Sensing Sound and Music and reflects on the process. The need for a book The reason for my AI-based writing experiment was the need for a textbook for the course MUS2640 – Sensing Sound and Music at the University of Oslo. This is an introductory course for the bachelor’s students in our musicology program who want to major in music psychology and/or music technology. These are two distinct directions that are usually taught separately. However, at UiO, we have a strong tradition of combining psychological and technological perspectives on and with music (in the fourMs Lab and at RITMO), so I have argued that we need a foundation course showing the connections between the two disciplines. ...

December 22, 2025 · 12 min · 2495 words · ARJ