After my previous post a couple of months ago, I am finally ready to release the demo for AudioSuite – a native podcast/audiobook player, sound-effects trigger, audio notation system, and waveform editor for Tiddlywiki.
PLEASE BE WARNED: Demo site contains audio triggers. Do not enter unless you are in an environment for playing audio.
AudioSuite creates an environment in which the user can listen to audio as tracks, capture timecoded notes, and precision-edit those timecodes using a waveform editor.
Your playback time is saved to a field on the tiddler on which the player in invoked, making sure that it always returns to that time whenever the tiddler is opened.
Additionally, it includes a Sound-Effects widget that allows sounds to be triggered via actions or upon tiddlers being opened.
I encourage everyone to play around with the demo site to really get a feel for what’s possible with this plugin. I’ve been using it for the last couple of months to listen to podcasts and audiobooks through my wiki, and it’s by far the best system I’ve ever used for capturing and playing back audio notes.
Looks great @well-noted I will delve deeper into it in comming days. The ability to trigger audio with actions could produce some interesting outcomes.
Thinking about this I was initially sceptical about its value, when I can use audio tools on my desktop.
But thinking about this further has helped me identity something very important about tiddlywiki and that in addition to being a platform it is also a playground, a development environment and a publishing environment.
Thus anything adapted to tiddlywiki as you have done here, immediately becomes part of the many “ecosystems” above and inherits the functionality in the tiddlyverse.
I think there would be value further exploring the value of tiddlywiki in respect to the above, even publishing a paper to draw in other thinkers and open source projects.
If you can @well-noted could you write a few words on the process of “giving software wings” by adapting it for use on tiddlywiki and some generic instructions?
I used to listen to lots of audiobooks but gradually stopped, mostly because I couldn’t find a note-taking workflow that didn’t completely break the listening flow. Tiddlers were the natural choice for these notes, because they immediately became part of the same “ecosystem” as everything else I’m thinking about. I can tag it, filter it, transclude it onto another tiddler, pass it through a viewtemplate… and at the end of a book I can pull up every annotation and actually interact with them rather than having a list of timecodes to which I’ll never go back.
During the build, my process wasn’t asking “how do I replicate this tool,” but, rather, “how does this look when the atomic unit is the tiddler?” And a lot of that is thinking about what a tiddler even is – virtual tiddlers, for example, crept into the “AudioBook Mode,” solving a major hurdle in my thinking about what constitutes a tiddler in the first place.
To anyone considering that paper or who is thinking about plugin development, I can only say that the experience of working on this led me to reflect a lot on tiddler-as-data-unit vs. tiddler-as-rendered-experience… And that I think, as a community, there are still extremely deep wells for us to tap.
I agree with this observation however it has long being on my mind, and I have written about this previously. the thing about tiddlers is they place the record, with a unique key, at face level, right in front of your eyes, simply tagging/flagging/or setting a common field basically nominates each tiddler as a record in a table.
However tiddlers can participate in zero or many such tables simultaneously
Or adopt different roles including javascript modules etc…
Tiddlers can be part of something greater, organised into various data structures even pseudo folders and behave as if files. We can even use different methods to render one or more tiddlers not to mention the exportability Static Tabs - Experimental - #4 by TW_Tones
I think whilst we don’t always look at TiddlyWiki this way it is perhaps the key to its flexibility and the understanding people can bring to it when they first discover TiddlyWiki.
This is I believe a key aspect to why TiddlyWiki promote “Digital democracy” and provides every person access to writing their own Software solutions.
I may add that many of TiddlyWiki’s competitors fail to go anywhere near this potential.
Really nice audio plugin, congratulations @well-noted . I’m using the podcast/notation example on an Android phone which works very well with an online podcast url or an offline downloaded mp3. Will try the rest of the options.
If you’re looking for tweak suggestions - the ‘mobile capture modal’ has a transparent background on my phone. A solid background in the text entry area would be easier to see, imo.
Very impressive and cool. Would be interested in how this works with Node wikis and seeing an end-to-end flow of importing an audio file and then annotating it. Would it be as simple as creating audio/mpeg tiddler for example? Hope it would work with _canonical_uri too.
My only other feedback is that the documentation (currently just a readme) has a lot of horizontal rules which makes it difficult to read. It would help from being broken up into separate tiddlers too. For example, the architecture notes and event bus seem overly technical for people wanting to quickly read the plugin description.
If you have the interest and wherewithal, I’d love a spinoff of this plugin as a separate plugin for capturing audio notes, with optional transcription, similar to what you have now.
This is designed and tested on my server running MWS, so node is no problem. Both audio/mpeg tiddlers and _canonical_uri will work – the third option is the ‘Virtual Tiddler’ method, in which you create an x-tiddler-dictionary type tiddler with the title : _canonical_uri of each track, tagging the tiddler whose environment you’re going to be playing in.
Yeah, I think the documentation could be a lot better and a lot more dynamic – but obviously I wanted to get this out as soon as I felt it was reasonably sound and stable. I appreciate the nudge.
That’s definitely an idea. My hesitation is that phones already to TTS so well out of the box… I suppose what you’re talking about though is a button in-wiki that would capture audio and create a new tiddler that was automatically tagged as part of a playlist. That’s something I’ll mull over…
Can confirm, there seems to be some timing issue that causes RSOD if the podcast-player is called on the starting tiddler – I’d never tried that before, great catch @Watt. It doesn’t seem to actually be breaking anything, but very ugly.
Maybe a button on the annotation tiddler template that toggles waveform editor on and off? Maybe I went about it the wrong way - quite possible.
All positive though - might be unrealistic hoping to export the marked clips as mp3s, maybe a filter to output an edit list will do it. Lots more to try, thanks a lot @well-noted