| Purpose |
The purpose of our project was to define a procedure for the digital presentation of oral histories. We wanted to present a “proof of concept” which could be easily modeled and consequently easily followed. We felt that focusing on a limited, discrete, definable topic, such as groups of interviews that would have supporting textual and graphical documentation, as well as audio files, would allow us to demonstrate the multiple—and simultaneous—options for displaying such information for a relatively wide audience. Conceptually
the project was divided into two parts. The
goal of the first part was to establish a framework for a large-scale
digitization project, such as the work currently being done in Documenting
the
American South at UNC-CH. The
goal
of the second part was to exhibit a related group of digitized interview
components on the World Wide Web (WWW). This report describes the two main goals of the project
in
greater detail, including descriptions of the important steps required to
meet
each goal. Indications of
helpful
tools and resources as well as areas of future work are included in this
analysis. The oral histories and accompanying
visuals
used in this project were provided by the Southern Oral History Program
(SOHP).
The SOHP holds over 1600 interviews documenting the actions of a
wide
variety of contributors to southern history.
Specifically, we worked with three interviews from the Listening
for a Change project, an ambitious new oral history project
involving
a team of historians recording the
actions of North Carolina communities with respect to race and public
schools,
environmental issues, and the local impact of the changing global
economy. Our interviews, conducted by project coordinator Kathy
Newfont, chronicled the battle over public land use in the Appalachian
South and
the origins of grassroots environmentalism.
The SOHP is currently considering ways
to make
more of its material available to researchers and the general public via
the
WWW, and was consequently very happy to cooperate with our project.
The SOHP requested that we work within the Listening
project, feeling the goals of our project matched nicely with one of Listening's
main goals: to share its
discoveries through a wide range of media, from community and educational
forums
to books and articles to WWW sites. I. General FrameworkWe sought to establish a durable process
for
digitizing text and audio in a manner that would allow for easy and
powerful
application integration (e.g. with
browsers, search engines, media players, etc.). To this end, we decided to
base
the digitization on the Extensible Mark-up Language (XML), a WWW-friendly
sub-set of SGML and widely considered to be the next generation mark-up
language
for the WWW. XML represents a happy medium between
SGML and
HTML, offering the richness and flexibility of SGML while maintaining the
web
portability and simplicity of HTML. XML
is often referred to as a “meta-language,” as it is not a instance of a
mark-up language but rather a universal format for creating mark-up
definitions.
Using XML, we aimed to create a customized mark-up language which
could
capture the elements of an oral history in a meaningful and powerful
manner,
allowing for enhanced data searching, presentation, and interchange. The scope of this part of the project
included
three steps: 1) Define the mark-up language through the creation of a
Document
Type Definition (DTD); 2) Apply the mark-up language to the oral history
transcripts/audio cassettes; 3) Create a style sheet that could render the
XML-defined
data in a WWW browser in meaningful way. Step
One: DTD
(See
Appendix I) The next step was to name the elements
and
attributes. Hoping to make
our
mark-up as interoperable with other similar mark-up activities, we
searched for
naming precedence based on existing, related DTD’s.
Unfortunately, we were unable to discover an existing tag set
highly
applicable to our document set. TEI
Lite, currently in use in the Documenting the American South Project,
proved to
be too generic, although, we did borrow directly from this DTD when
appropriate.
Example elements from TEI include name, term, keyword, and unclear.
We did find additional relevant tag sets with the SMIL markup, as
discussed below. Step
Two: Document Mark-Up (See
Appendix II) Step Three: Style
Sheet (See Appendix
III)
Because we wanted the flexibility of XSL
without the challenge of server side processing (e.g. cgi scripting) we
opted to
render our oral histories through client side processed XSL.
To overcome the Netscape limitation, we produced comparable HTML
versions
of all XML-backed documents. II. Digital ExhibitWe also sought to develop an area to exhibit digitizations of the various artifacts that accompany and enrich the oral history. Such artifacts include the transcript of the interview, the audio file of the interview, relevant photographs of the interviewees, and the photographic documentation of their experiences. We wanted, however, to present these artifacts such that they would offer the fullest functionality possible, and thus benefit as diverse a user population as possible. This required multiple presentations, where these artifacts were available as individual units in one presentation, where in another presentation, they were integrated into related units. Step
One: Image and Audio File
Gallery The process of digitizing the materials was somewhat involved. SOHP had already digitized the image files using a scanner, and thus gave us digitized image files. The audio files, however, were given to us in mixed formats. One set of interviews was given to us in digital form (.ra); the other two sets were given to us in cassette tape form. We consulted with Todd Stabley, Andy Brawn, and James Hepler—multimedia and sound and video services consultants at the Center for Instructional Technology at UNC—to determine the best way to digitize and serve the audio files. We followed their recommended procedures for recording the audio files from the cassette tapes into wav. and au. file formats. We then edited the audio files so as to have shorter excerpts (that would also be more appropriate for the SMIL presentation). Finally, we converted the .wav and .au files to .rm files. Step Two: File Synchronization
(See Appendix IV Once
we had the SMIL file, we then associated it with the XML files we had
created. As mentioned above, we looked to find existing tag sets
applicable to our audio set. We found that the DTD for SMIL did
include
some audio decarlations. Based on an increasing prevalence of SMIL
players, we decided to employ a subset of the audio tags defined in SMIL
to
define the audio properties of the interview.
In keeping with our mission to demonstrate an easily replicable process, we looked for tools that were easily accessible both literally in the sense of ease of acquisition, as well as figuratively in the sense of learning to use the tools adeptly. XML
Management XML
Data Entry XSL Style Sheets Audio File Digitization and
Editing SMIL Creation Working with XML The most obvious area for future work is
the
design of a domain-specific search engine based on the oral history tag
set as
defined by the DTD and implemented in the document mark-up. Clearly the
ability
to search for an interview about Appalachian environmentalism, using
“Asheville” as a keyword, with transcripts and pictures, without
restrictions, is a strong advantage over HTML-based searching. An
ambitious
search engine would not only return relevant “hits” at the interview
level,
but would be able to slice up audio files and return relevant clips
matching the
searcher’s query. Imagine,
for
example, someone wishing to attempt to transcribe sections reported on a
transcript as unclear, being able to query for and receive all of the
audio
clips in a certain series with previously unintelligible audio.
Given the audio mark-up facilities (Appendix IV), another obvious
enhancement to our work would be to create an application which
coordinates a
mouse click on a certain area of the text with the corresponding position
within
the audio file. The areas of future work with regards to XSL are limitless, as entire books are currently being written on XSL's diverse functionality. IE5 supports only a fraction of the advertised capabilities of XSL (and related technologies such as XPath and XLink), and we employed only a fraction of IE5’s capabilities. The important point here is that XSL goes beyond the mere styling capabilities of CSS to allow for on-the- fly data manipulation. Working with Multimedia We experienced various levels of success
in
digitizing the audio files. We
found it an unwieldy process to first digitize to the .wav and .au files,
and
then convert to .rm; but the multimedia consultants we spoke with were
fairly
adamant about feeling that this was the best process. Additionally, we found the files to be extremely large,
which
adversely affects their performance in the SMIL file, and thus makes the
presentation less available to users on a dialup modem.
The next logical step, then, would be to edit the excerpts we’ve
chosen
into smaller units, so that they’re more accessible to a wider
audience.
Also, since we only have excerpts from two of the interviewees,
we’d
like to add the rest of the audio files that accompany their
interviews.
Finally, we would like to find out if SOHP would be interested in
taking
the file synchronization to another level of integration—including the
integration of text clips with—or instead of—the photos currently
presented
with the sound file. Working with Content Appendix I – Document Type Definition
<!--Southern
Oral History Program DTD--> <!--audio
clip attributes are SMIL/RealPlayer compliant--> <!--clip-begin
defines the internal starting point (from beginning) for audio
file--> <!--clip
end defines ending point based on beginninng of audio file--> <!--format
should be type of audio file (ra,rm,etc.) --> <!--src
define location of audio file--> <!--title
of clip/file can be displayed on RealPlayer--> <!--audio
clip used with openingAnnouncement, interviewerResponse,
intervieweeResponse,
--> <!ENTITY
% audioclip " src
CDATA #IMPLIED
format CDATA
#IMPLIED
title CDATA
#IMPLIED
clip-begin CDATA #IMPLIED
clip-end CDATA
#IMPLIED"> <!--root
element is interview--> <!ELEMENT
interview (audio )> <!ATTLIST
interview transcript
(y | n ) #IMPLIED
restrictions
CDATA #IMPLIED
closed
(y | n ) #IMPLIED
copyrightHolder
CDATA #IMPLIED
abstract
(y | n ) #IMPLIED
callNumber
CDATA #IMPLIED
microfilm
(y | n ) #IMPLIED
relatedMaterials
CDATA #IMPLIED
seriesLetter
CDATA #IMPLIED
seriesName
CDATA #IMPLIED
intervieweeName
CDATA #IMPLIED
interviewerName
CDATA #IMPLIED
interviewLocation
CDATA #IMPLIED
interviewDate
CDATA #IMPLIED
tapeNumber
CDATA #IMPLIED
interviewerBio
CDATA #IMPLIED
intervieweeBio
CDATA #IMPLIED
interviewNumber
CDATA #IMPLIED
collectionDescription CDATA #IMPLIED
collectionName
CDATA #IMPLIED
collectionNumber
CDATA #IMPLIED
seriesDescription
CDATA #IMPLIED
interviewerTitle
CDATA #IMPLIED
intervieweeTitle
CDATA #IMPLIED
projectDescription CDATA
#IMPLIED
projectName
CDATA #IMPLIED
> <!--audio
is used as a container similar to BODY in HTML and TEI--> <!ELEMENT
audio (openingAnnouncement? ,
exchange , closing? )> <!ATTLIST
audio length
CDATA #IMPLIED
numberOfTapes CDATA
#IMPLIED
recordType (stereo
| mono ) #IMPLIED
tapeSpeed CDATA
#IMPLIED
originalFormat (cassette |
cartridge |
reel |
disc |
roll
|
film |
digital ) #IMPLIED
> <!--openingAnnouncement
is optional as many interviews do not have one--> <!--children
elements here are based on SOHP interviewing guidelines--> <!ELEMENT
openingAnnouncement (#PCDATA
|
interviewTitle | interviewee | interviewer | intDate | intLocation |
intTopic |
tapenum )*> <!ATTLIST
openingAnnouncement %audioclip;
cassetteSide CDATA
#IMPLIED
cassetteNumber
CDATA #IMPLIED > <!ELEMENT
interviewee (name , title? )> <!ELEMENT
interviewer (name , title? )> <!ELEMENT
title (#PCDATA )> <!ELEMENT
intDate (#PCDATA )> <!ATTLIST
intDate e-dtype NMTOKEN
#FIXED 'string' > <!ELEMENT
intLocation (street* , city? , state? , zip? )?> <!ELEMENT
intTopic (#PCDATA )> <!ELEMENT
tapenum (#PCDATA )> <!ELEMENT
interviewTitle (#PCDATA )> <!ELEMENT
city (#PCDATA )> <!ELEMENT
state (#PCDATA )> <!ELEMENT
zip (#PCDATA )> <!ELEMENT
street (#PCDATA )> <!--these
elements used in place of quetsion and answer which seemed too
specific--> <!ELEMENT
exchange (interviewerResponse
,
intervieweeResponse )> <!ELEMENT
interviewerResponse (#PCDATA
| name
| date | unclear | term | keyword | pause | laughter | interruption
)*> <!ATTLIST
interviewerResponse %audioclip;
cassetteSide CDATA
#IMPLIED
cassetteNumber CDATA #IMPLIED
> <!--name,
unclear, term, keyword also
used in
TEI--> <!ELEMENT
intervieweeResponse (#PCDATA
| name
| date | unclear | term | keyword | pause | laughter | interruption
)*> <!ATTLIST
intervieweeResponse %audioclip;
cassetteSide CDATA
#IMPLIED
cassetteNumber
CDATA #IMPLIED > <!ELEMENT
name (#PCDATA )> <!--from
TEI--> <!--more
choices likely to be added to this enumeration--> <!ATTLIST
name type (person | place |
organization
| historicalEvent ) #IMPLIED> <!ATTLIST
name %audioclip;> <!ELEMENT
date (#PCDATA )> <!ATTLIST
date %audioclip; > <!--from
TEI--this could be very useful to help transcribe--> <!ELEMENT
unclear (#PCDATA )> <!ATTLIST
unclear %audioclip; > <!--from
TEI--term is used to indicate technical term--> <!ELEMENT
term (#PCDATA )> <!ATTLIST
term %audioclip; > <!--from
TEI--> <!ELEMENT
keyword (#PCDATA )> <!ATTLIST
keyword %audioclip; > <!--currently
indicated by transcriber--> <!ELEMENT
pause (#PCDATA )> <!ATTLIST
pause %audioclip; > <!--currently
indicated by transcriber--> <!ELEMENT
laughter (#PCDATA )> <!ATTLIST
laughter %audioclip; > <!--includes
a type attribute--> <!ELEMENT
interruption (#PCDATA )> <!ATTLIST
interruption %audioclip; > <!--closing
is optional--> <!ELEMENT
closing (#PCDATA )> <!ATTLIST
closing %audioclip;
cassetteSide CDATA
#IMPLIED cassetteNumber CDATA #IMPLIED > Appendix II – XML Document Excerpt<?xml
version="1.0"?> <?xml-stylesheet
href="javascript2.xsl" type="text/xsl"?> <!DOCTYPE
interview SYSTEM "SOHP.dtd"> <interview
collectionName="Southern Oral History Program, UNC-CH"
collectionDescription="The Southern Oral History Program seeks to
foster a
critical, yet democratic understanding of the South -- its history,
culture,
problems and prospects. Interview tapes and indexes are preserved by the
Southern Historical Collection in Wilson Library. There they will join the
more
than 1600 interviews we have already collected, which are among the
archive's
most heavily used materials. Like A Family: The Making of a Southern
Cotton Mill
World (University of North Carolina Press, 1987), written by the Southern
Oral
History Program staff, is only one among the many books, films, and
performance
projects that oral history research has helped to inspire."
collectionNumber="40.07" interviewerBio="Kathy Newfont is a
Ph.D.
candidate in the history department at UNC-CH and a Project
Coordinator with SOHP's 'Listening for a Change' project.
She is currently
completing her dissertation, entitled 'Moving Mountains:
Forest Politics
and Commons Culture in Western North Carolina, 1964-1994'.
Kathy lives in
the Hominy Valley outside Candler, North
Carolina." intervieweeBio="Monroe
Gilmour is a resident of Black Mountain and a community organizer with a
long
record of social justice activism. He
became involved in environmental work in 1987 when the Asheville-Buncombe
Water
Authority began clearcutting on the North Fork watershed near his
home. Gilmour
brought his skills as a community organizer to a local citizens' group
opposed to the clearcutting. Building
on his CACAW experience, Gilmour
worked with the Western North Carolina Alliance to launch a region-wide
'Cut the Clearcutting' campaign aimed at halting clearcutting on
the region's national forests." transcript="y"
restrictions="n" closed="n" copyrightHolder="UNC"
abstract="n" callNumber="40.07
K152" microfilm="n"
relatedMaterials="photos, video" interviewNumber="152"
seriesLetter="K" seriesName="Southern Communities"
projectName="Listening for a Change: North Carolina Communities in
Transition" projectDescription="The 'Listening for a Change'
project
uses oral history as a form of participatory documentation, a method of
historical inquiry that encourages the active involvement of community
members
and their dialogue with each other. Launched
by the Southern Oral History Program in 1998, the project involves a team
of
historians recording the life stories from a host of North Carolina's
citizens
in order to document unrecorded aspects of the state's twentieth century
history. Researchers are
sharing
their findings through books, articles, exhibits, radio, tv, and World
Wide Web
sites, such as this one." seriesDescription="The Southern
Communities
Series contains interviews conducted in the course of community studies by
students and faculty exploring questions of central concern to the
humanities:
What is the meaning of community? What role does historical memory play in
helping people cope with loss, create new identities and communities, and
become
agents rather than victims of change?" intervieweeName="Monroe
Gilmour"
interviewerName="Kathy Newfont" interviewLocation="Black
Mountain,
NC" interviewDate="8-21-98" tapeNumber="8.21.98-MC">
<audio length="23 min" numberOfTapes="1"
recordType="mono" tapeSpeed="80">
<exchange>
<interviewerResponse
src="http://www.afporch.org/interviews"
format="RealAudio" title="Monroe Gilmour Interview"
clip-begin="2s" clip-end="20s" cassetteNumber="1"
cassetteSide="A">So did you call people or did people call
you?
How did this all get started?</interviewerResponse> <intervieweeResponse src="http://www.afporch.org/interviews" format="RealAudio" title="Monroe Gilmour Interview" clip-begin="21s" clip-end="78s" cassetteNumber="1" cassetteSide="A">Well, I can't exactly remember. But I know that I did call people and ask them, "Did you see this?" And then we worked up a tour to go out and actually see it. And took several people and got some people that actually knew about forestry. I'm not sure at that time if I had ever heard the word "clear-cut" to be honest. And, also, for me it was kind of interesting too, because I had always seen environmental issues as sort of different from the kind of human issues that I'd been working with in India with starvation. And in Africa with the brutality of apartheid and people getting killed by parcel bombs. You know the environment always seems sort of like a luxury to work on that. It was quite an education because I came to realize that the same problems and the same people sometime are in both. And I see it much more as an integrated problem. And many times the one leads to the harm of the other. </intervieweeResponse>
</exchange>
<?xml
version='1.0'?> <xsl:stylesheet
xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template
match="/"> <!--
Beginnning of HTML template --> <html> <head> <!--
JavaScript for mouseOvers --> <script
language="JavaScript" type="text/javascript"> function
toolTips(evt,currElem) { //
Creates the tool tip for Internet Explorer
if ((navigator.appName == "Microsoft Internet
Explorer")) {
tipWin = eval("document.all." + currElem +
".style"); //
Number at end of next line indicates the number of pixels from the bottom
of the
cursor the tip is
tipWin.top = parseInt(evt.y)+2; //
Number at end of next line indicates the number of pixels to the left of
the
cursor the tip is
tipWin.left = Math.max(2,parseInt(evt.x)+15);
tipWin.visibility = "visible";
tipWin.status = "";
} } function
tipDown(currElem) { //
Closes the tool tip for Internet Explorer
if ((navigator.appName == "Microsoft Internet
Explorer")) {
tipWin = eval("document.all." + currElem +
".style");
tipWin.visibility = "hidden";
} } </script> <style
type="text/css"> #tipWin1,#tipWin2,#tipWin3,#tipWin4,
#tipWin5, #tipWin6 {position:absolute;
visibility:hidden} .tipWinStyle
{background-color:#FFFFDD;
layer-background-color:#FFFFDD;
border-color:#000000;
border-width:1px;
border-style:solid;
font-family:arial,helvetica,sans-serif;
font-size:9pt;
padding-left:2px;
padding-right:2px} </style> <!--title
calls intervieweeName attribute--> <title>SOHP--<xsl:for-each
select="interview"><xsl:value-of
select="@intervieweeName"/> </xsl:for-each>
Interview</title> </head> <body
background="210intimg.gif"> <!--following
selections based on each interview (one total) element--> <xsl:for-each
select="interview"> <font
size="4"> <!--list
project name with project description on mouseover--> <u><a
onmouseover="toolTips(event,'tipWin6'); return
true" onmouseout="tipDown('tipWin6')"><xsl:value-of
select="@projectName"/></a></u> <p></p> <!--lists
interviewee and interviewer with bios on mouseover--> An
<u><a onmouseover="toolTips(event,'tipWin5'); return
true"
onmouseout="tipDown('tipWin5')">Interview</a></u> of
<u><a
onmouseover="toolTips(event,'tipWin2'); return
true" onmouseout="tipDown('tipWin2')"><xsl:value-of
select="@intervieweeName"/></a></u> by
<u><a onmouseover="toolTips(event,'tipWin3'); return
true"
onmouseout="tipDown('tipWin3')"><xsl:value-of
select="@interviewerName"/></a></u> <p></p> <!--lists
colection name with collection description on mouseover--> <u><a
onmouseover="toolTips(event,'tipWin4'); return
true" onmouseout="tipDown('tipWin4')"> <xsl:value-of
select="@collectionName"/></a></u> <p></p> <!--lists
series name with series description on mouseover--> <u><a
onmouseover="toolTips(event,'tipWin1'); return
true" onmouseout="tipDown('tipWin1')">
<xsl:value-of
select="@seriesName"/> Series</a></u> <p></p> <!--lists
location of interview--> <xsl:value-of
select="@interviewLocation"/> <p></p> <!--lists
date of interview--> <xsl:value-of
select="@interviewDate"/> </font></xsl:for-each> <hr></hr> <p></p> <!--the
mouseover definitions--> <span
id="tipWin4" class="tipWinStyle"><xsl:for-each
select="interview"> <xsl:value-of
select="@collectionDescription"/></xsl:for-each></span> <span
id="tipWin5" class="tipWinStyle"><xsl:for-each
select="interview">Call Number: <xsl:value-of
select="@callNumber"/>
Length: <xsl:value-of
select="audio/@length"/> Related
Materials: <xsl:value-of
select="@relatedMaterials"/></xsl:for-each></span> <span
id="tipWin2" class="tipWinStyle"><xsl:for-each
select="interview"> <xsl:value-of
select="@intervieweeBio"/></xsl:for-each></span> <span
id="tipWin1" class="tipWinStyle"><xsl:for-each
select="interview"> <xsl:value-of
select="@seriesDescription"/></xsl:for-each></span> <span
id="tipWin3" class="tipWinStyle"><xsl:for-each
select="interview"> <xsl:value-of
select="@interviewerBio"/> </xsl:for-each></span> <span
id="tipWin6" class="tipWinStyle"><xsl:for-each
select="interview"> <xsl:value-of
select="@projectDescription"/> </xsl:for-each></span> <!--
future selections based on each exchange--> <xsl:for-each
select="interview/audio/exchange"> <font
size="4"> <!--back
to interview level to select interviewer name--> <xsl:for-each
select="/interview"> (<xsl:value-of
select="@interviewerName"/>) </xsl:for-each>-- <!--for
each exchange show interviewer response--> <blockquote><blockquote><blockquote><xsl:value-of
select="interviewerResponse"/> </blockquote></blockquote></blockquote> <p></p><p></p> <!--back
to interviewee level to select interviewee name--> <xsl:for-each
select="/interview"> (<xsl:value-of
select="@intervieweeName"/>) </xsl:for-each> -- <!--for
each exchange show interviewee response--> <blockquote><blockquote><blockquote><xsl:value-of
select="intervieweeResponse"/> </blockquote></blockquote></blockquote></font> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet> Appendix IV – SMIL tag sets used for document DTDsrc
CDATA #IMPLIED
<!- - location of digital file - -> format
CDATA #IMPLIED
<! - - type of digital file (.au, .ra .wav) title
CDATA #IMPLIED
<!- - title of clip- - > clip-begin
CDATA #IMPLIED
<!- - where clip begins within file -- > clip-end CDATA #IMPLIED <!- - where clip ends within file - ->
We would like to acknowledge the folks at the Southern Oral History Program for their cooperation in securing the necessary materials and for their overall interest in our project, especially Elizabeth Millwood and Melynn Glusman. We would also like to thank Linda Sellars, manuscripts librarian at the Southern Historical Collection for her insight during the DTD creation process and for her cooperation, along with her colleague Steve Weiss, during the audio transfer process. Additionally, we would like to thank Kathy Newfont for the interesting interviews and the provision of the visuals and additional background information. Finally, we would like to
thank Todd Stabley, Andy Brawn, and James Hepler at the Center for
Instructional Technology at UNC for their multimedia expertise and
guidance. |