Sutta Meditation: Create playlists from SuttaCentral Voice with Silences Between the Suttas

Continuing the discussion from SuttaCentral-Voice 2.0 released with new segmented German translations:

Sutta Meditation v0.0.1 is now available! It allows you to make sutta playlists with intervals of silence in-between—which can be used for meditation, reflection, or to simply listen to the silence. (Note: Google may ask you to log in.)

Let me know if anything is unclear or doesn’t work!


Thank you, Robbie. :heart:

Your passion for problem solving and documentation inspires us all! :pray:

Out of curiosity, I’m wondering what folks would like for total download time. This will help us understand server impact as well as guide Voice feature development. Here’s a poll for all Voice users:

What is/are your preferred Voice playlist time(s)?

  • up to 10-15 minutes
  • up to 30 minutes
  • up to 45 minutes
  • up to 60 minutes
  • up to 75 minutes
  • up to 90 minutes
  • up to 120 minutes
  • up to 360 minutes

0 voters


The pleasure is entirely mine! :slightly_smiling_face: And without all the hard work that went into Voice, I could never have done it. :anjal: :yellow_heart:

I’m thinking of a second function called interval_meditation(), which cuts up a list of suttas and adds silences every n minutes (not necessarily of the same length). How would you envision this @karl_lew? Is it a problem if suttas get cut mid-sentence? (Or does it foster non-attachment?! :thinking:)

PS: Just published v0.0.2! Tidied up the code, enabled case-insensitive inputs, as well as default playlists for all baskets plus Thig and Thag (try make_audio("AN") :slightly_smiling_face:).


Interval training can be used to increase aerobic fitness through short bursts of maximum effort. The EBT’s have a steep conceptual learning curve and it can take time to develop a working knowledge of the vocabulary. Having a longer pause between suttas provides a pause to “take a break and catch one’s breath.” The inter-sutta pauses work well for short suttas, but perhaps not so well for longer suttas. For this reason, perhaps we can find some way to break up larger suttas as well.

For example, we might insert a 1 minute pause every 5 minutes for the duration of the playlist. This certainly would provide respite and relief in long playlists.

One consideration is that the intra-sutta pauses might be jarring in that the pause might fall between segments explaining a key point in detail. A more careful approach to inserting pauses might consider the semantic breaks afforded by the segment numbering. Segment numbers are hierarchical and larger semantic units utilize the leftmost portion of the segment numbers. It follows that pauses could be inserted when the higher order digits in the segment numbers change.

Would this work?


Yes, I hope so too! Currently, I’m importing mp3s from with Python’s urllib.request. But I can only import a sutta tout court, not segment by segment. Is there any way I could specify a range of segments to download (either from or from Github)? Without that, it would be difficult to split suttas in semantically meaningful wholes.


With scv-bilara search you can specify ranges of segments, for example dn33:1.3.1-1.3.5, etc. Not sure if it helps fot download, though.


To get the segmented text of a sutta try this:

To get the audio guid for a segment, do this:

To get the audio for an audio guid, do this:

If you’d like to do this all in Voice itself, you’re quite welcome to tinker with the Javascript code itself:

In any event, if anybody has suggestions on how to integrate the work with Voice, let us know.


Thanks so much @karl_lew! This is amazing! I will be back! :gift_heart: