[sword-devel] Linked in audio files

Greg Hellings greg.hellings at gmail.com
Thu Aug 26 14:38:23 MST 2010

On Thu, Aug 26, 2010 at 4:15 PM, Robert Hunt <hunt.robertj at gmail.com> wrote:
> On 27/08/10 08:23, Greg Hellings wrote:
>> The first step is deciding on a markup method.  I like the sound of
>> DM's, but I don't see why it couldn't be handled in OSIS already?  A
>> verse could have something along the lines of<verse
>> osisID="Gen.1.1">{file: "sounds/Genesis/1.aac", start_time: "0:0:15",
>> end_time: "0:0:23"}</verse>.
> One problem with encoding this information in the OSIS file is that the
> audio might not be as fixed/permanent as the written text of a particular
> version. For example, what if two audio versions are available for the same
> text, with male and female readers, or with readers with different voice
> qualities or accents? Once start/stop times are in the OSIS file, you have
> limited the audio (and one day video) to one very specific version.
> Is stand-alone markup not better in this case? i.e., put the start/stop
> times in a separate place/module/database -- easily linked to by verse
> references. Then this separate repository could easily contain files for
> multiple audio/video versions for the same written text, etc.

Yes, and that's exactly what I was proposing.  Let's say I make
"Greg's Audio KJV Bible" and you make "Robert's Better Audio KJV
Bible."  I record mine with one verse per file.  You record yours with
one chapter per file.  I create an OSIS file whose body looks like

<verse osisID="Gen.1.1"><audio><file>audio/gen/1/1.aac</file><startTime>0:0:0</startTime><endTime>0:0:11</endTime></verse>
<verse osisID="Gen.1.2"><audio><file>audio/gen/1/2.aac</file><startTime>0:0:0</startTime><endTime>0:0:9</endTime></verse>

You create an OSIS file that looks like
<verse osisID="Gen.1.1"><audio><file>audio/gen/1.aac</file><startTime>0:0:0</startTime><endTime>0:0:13</endTime></verse>
<verse osisID="Gen.1.2"><audio><file>audio/gen/1.aac</file><startTime>0:0:14</startTime><endTime>0:0:25</endTime></verse>

I then create a module GAKJVB and you create RBAKJVB.  They're both
installed on a user's system with a folder structure like this:

Now, each front end is able to present the information in different
ways.  Perhaps PocketSword opens the Bible and offers me the
opportunity to listen to a continuous audio stream while I'm at the
gym working out.  Perhaps Xiphos allows me to open the module as a
companion to a text Bible and I can click on a little "play now"
button that plays the resulting audio from the audio module I
selected.  And perhaps BibleCS just starts blaring the files as soon
as I open any Bible to a passage, because I have selected to have it
autoplay audio modules when they open.

As you see, I'm not suggesting that the data going into the original
KJV module and thus tying it to a single audio recording's time starts
and stops.  I'm also not suggesting we come up with another module
type or storage location for the data as it sounds you (and David?)
are suggesting.  The audio recording is a full and complete Bible in
its own right.  The module ought to be treated as one, too.  How it is
stored seems like the easiest question - put the data into some form
of OSIS encoding (I had used the JSON as just an easy way of doing it
that wouldn't actually require any extensions to OSIS at all.  The
form I included in this email would be invalid OSIS at present.),
include the files within the module, and leave the method of display
and playback up to the front-ends.  As the Xiphos team has already
stated - they can already play synthesized text-to-speech of a verse
on demand.  Having an audio Bible would allow them to offer that as
well in a multitude of ways.


> Robert.
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page

More information about the sword-devel mailing list