Two comments on John's problem description. First, we can probably make the simplifying assumption that the media files have been time-aligned with some text or texts (annotation tiers), and the user has access only to the predefined start-end times of time-aligned segments. (These can be sentences or words in a word-list-with-pauses recording.) If the segments are numbered then the query string can provide just the number of the segment.<div>
<br></div><div>Secondly, this item seems unnecessarily restrictive: "3) We want to point to an archived version, not some special version hosted for the purpose of these embedded links." What if the archive does not see "providing a service like this to be part of its long-term role" and does not even expose its holdings as URLs? The general solution might be to think of the snippetServer as specifically a Web server that holds: compressed versions of the media (WAV files are huge), Web pages with time-alignment information, and a browser-based program to play individual segments or sequences of segments. A Web server like this could also be useful for hosting community materials. Some of the programming (not all) has been done: the link below will play the third segment of a Flash clip that shows a selection from an MIT lecture, used as English language material:</div>
<div><br></div><div><a href="http://n-topus.com/KUEnglish/algo01/algo0101.xhtml?movie_range=3&playOnSelection=true">http://n-topus.com/KUEnglish/algo01/algo0101.xhtml?movie_range=3&playOnSelection=true</a></div><div>
<br></div><div>adn</div><div><br></div><div><br><br><div class="gmail_quote">On Thu, Mar 7, 2013 at 9:25 PM, Doug Cooper <span dir="ltr"><<a href="mailto:doug.cooper.thailand@gmail.com" target="_blank">doug.cooper.thailand@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yes, this states the server solution exactly.  This does not pose any<br>
technical barrier (it's just a matter of providing a wrapper for<br>
something like sox or mp3splt).  It just needs an archive that sees<br>
providing a service like this to be part of its long-term role.<br>
<br>
  Although html5 does allow a start/finish time to be specified, the last<br>
time I checked the complete underlying file is downloaded.  I'd be happy<br>
to be wrong about this, or to hear that there's an (Apache) server add-on<br>
that handles this in a more intelligent way.<br>
<br>
  Doug<div class="im"><br>
<br>
<br>
On 3/8/2013 2:20 AM, John Hatton wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
 > That was some time ago and now I think I would use an archival version of<br>
the media as the streaming source and have HTML5 calls to the timecodes.<br>
<br>
Am I understanding the problem correctly?<br>
<br>
1) We want URLs which act just like a pointer to a static wav somewhere on the<br>
internet. These can then be embedded in anything.<br>
<br>
2) But because we don't want to actually carve up each file into little files,<br>
we need the URL to specify a time range rather than just a filename.<br>
<br>
3) We want to point to an archived version, not some special version hosted for the purpose of these embedded links.<br>
<br>
If I understand the problem, then the solution is a URL like<br>
<br>
http://<some snippet service>.org/<address of the archived<br>
version>?start=<starttime>&<u></u>end=<endtime><br>
<br>
(That last bit after the '?' is called a URL Query string.)<br>
<br>
E.g.<br>
<br>
<a href="http://snippetServer" target="_blank">http://snippetServer</a>. org/?url=<a href="http://paradisec.org.au/someinternalpathat" target="_blank">paradisec.org.au/<u></u>someinternalpathat</a><br>
paradisec/KovaiCanoeStory.wav?<u></u>start=02:20:10&end=02:22:10<br></div>
<<a href="http://snippetServer." target="_blank">http://snippetServer.</a>%20org/?<u></u>url=<a href="http://paradisec.org.au/someinternalpathat%20paradisec/KovaiCanoeStory.wav?start=02:20:10&end=02:22:10" target="_blank">paradisec.org.au/<u></u>someinternalpathat%<u></u>20paradisec/KovaiCanoeStory.<u></u>wav?start=02:20:10&end=02:22:<u></u>10</a>><div class="im">
<br>
<br>
When it receives this query, the server would get ahold of the full audio file<br>
declared in the query string, and then stream out just the section that was<br>
called for. The experience to the user would be the same as if they had<br>
clicked on a url of a pre-prepared, stand-alone file containing just that snippet.<br>
<br>
Now, because the audio itself is served by an archive, it will have a long<br>
lifetime. The snippet server itself need not be related to the archive; a<br>
single instance could serve everyone. But if the snippet server itself goes<br>
away in the future, the URL is still human readable, and can be changed via<br>
search/replace to some new snippet server.<br>
<br>
To avoid the links going bad, it seems the snippet server should be run by<br>
something prepared to be around for a long time, like an MPI or an<br>
<br>
archive itself:<br>
<br>
<a href="http://paradisec.org.au/snippetserver/." target="_blank">http://paradisec.org.au/<u></u>snippetserver/.</a>..<br>
<br>
Practically, such a server could limit its services to files in its own<br>
repository or some set of other domains, if it didn’t want to end up providing<br>
this snippet service for just any content on the web.<br>
<br>
I googled a bit, didn't come up with anything, but I wouldn't be surprised if<br>
such a service already existed. If not, well clearly this would be cheap to do.<br>
<br>
John Hatton<br>
<br>
SIL International Language Software Develoment<br>
<br>
</div></blockquote>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Alexander Nakhimovsky, Computer Science Department<br>Colgate University Hamilton NY 13346<br>Director, Linguistics Program<br>Director, Project Afghanistan<br>
t. +1 315 228 7586 f. +1 315 228 7009
</div>