I would like a plugin to generate music/sound from the current note. It could use as input things like word count, character count, number, level, and text of headings, number and text of links to and from, etc. For performance it’s probably best to use things that Obsidian indexes and makes available rather than things that require more processing to fetch. There should be some settings for complexity, pace, types of sounds, etc. Processing should happen locally, not thru an online service.
I picture this as an ongoing soundtrack while using the vault, but there could be an option to just generate a track of a requested length.
Some potential fun options not really connected to the main function:
A command to sing text of the current note, or the selected text.
When you scrub the scroll bar quickly up and down it makes a record scratching sound. (There could be other options, like a swoosh or trill.)
I think this could be very interesting… The way I’d probably approach it would be to focus on a more ambient sound with a few different oscillators. Off the top of my head, I would probably suggest:
One consistent key for the entire vault. Perhaps set as an option.
We can easily convert from any numerical value (including hashes) to a note within a given scale using a modulus to index into a scale array. This could be just 7, or higher if we want specific octaves.
One main “drone” oscillator that sets the current root note. This shouldn’t change too frequently – perhaps it should be based on a hash of the full note name?
Another, higher “melody” oscillator which changes more frequently, but still slowly – perhaps current line number?
Perhaps a more rhythmic arpeggio could come in based on a chord (generated from the root note + the melody?), with its volume/velocity tied to your current pace of typing – in other words, the more quickly you’re generating content, the more present it is in the mix.
I think I’d want >1 key for variety and a greater sense of “place” within the vault, so maybe the options would be to set the key based on the name of the
vault
root folder
folder path (max depth selectable)
full folder path
file name
And for some of those the key could be selected manually.
I might find this distracting, but I think it’s a good option.
I’ve just remembered @chrsle 's trick of keeping Obsidian open in background on mobile by playing media in the vault. This plugin should make sure that doesn’t happen by default — but it could be a nice option if you want to listen to your vault soundtrack a lot. And there could be a silent option if you just want to use it to keep the app open in the background.
The plugin should probably have an available sidebar panel and/or ribbon button so users can adjust the sound and other options easily.
And just to start the scope creep early, it might be nice to have an optional “context” modifier that changes everything based on season, time, weather, and/or light/dark mode (or even optionally uses those as the only basis for the sound).
Hello! Sonigraph creator here. The Local Soundscape feature that CaulinTeffid was referring to is implemented now in v0.17.2.
The plugin started out with a focus on your vault’s graph, but given the likely popularity of Local Soundscape I decided to put more work into that and finish it.
Here’s shortish summary of what the plugin is/does:
Sonigraph transforms your knowledge graph into music. Each note represents a file, and the sound reflects its properties — connections become harmony, content depth influences pitch, tags shape timbre.
Two listening modes:
Note-Centric: Focuses on the current note, generating musical phrases from its prose with contextual embellishments from connected notes
Graph-Centric: Plays your entire local graph as a musical composition, mapping the network structure to orchestral elements
Musical theory integration (scales, harmonization, chord progressions)
Continuous ambient layers with Freesound integration
Export to MIDI, audio, or JSON
Feedback, suggestions, requests, etc. are very welcome. There are a few areas that I think could be improved upon, but given their potentially subjective nature I’d like to let folks try things out and report back first.
Sonigraph transforms your knowledge graph into music. Each note represents a file, and the sound reflects its properties — connections become harmony, content depth influences pitch, tags shape timbre.
Is there any video where I could hear a demo? The concept sounds fun! @banisterious
Sure thing! I created an extremely simple demonstration of Local Soundscape using a simple note, two instruments, and limited depth. To see the demo, visit the git repository and scroll down a bit to the Demo section.
(I can’t post links here on the forum yet, but I’ll try to update my comments when I can, assuming the edit window allows me to.)
How exciting! I installed via BRAT the other day but wasn’t able to get the note-centric playing reliably. I haven’t had time yet to devote more attention and write up what I did and what happened, but I didn’t want to let too much time go by without responding.
Thanks for checking it out! There are a few reasons why that may have happened that I’m aware of and working on — some by design but also a couple of things I still need to improve or fix. Let me know your repro steps and I’ll look into it.
FYI there is a budding wiki now on the git repo. (Can’t share links here yet, and the above issue isn’t mentioned there yet.)