-
Notifications
You must be signed in to change notification settings - Fork 23
Using Third Party Applications to create Ingest Transcripts
Transcripts can be produced in any application that can export delimited text files that can be manipulated to describe:
- A legible timecode that can be converted to seconds (for example 00:00:23.10 can be converted to 23.1, which is the required format for ingest)
- One or more speakers (optional)
- Plain text (UTF-8!)
Note that these instructions may not always be entirely up to date, and edits are welcome. This reflects our experiences of using the following software to produce the XML transcript ingest format used by the Oral History module. In each case, the tool is used, and then a delimited file is exported and manipulated in OpenRefine to create the final ingest format.
This software can be purchased with an academic or student discount. https://www.inqscribe.com/buy.html.
Audacity is an open audio editing and recording program. Transcribing is possible in this program. You can transcribe the audio files as well as the audio from a video file (MOV/ MP4), but you will not be able to view the video in the process. This is a drawback if you believe there are important actions that need to be expressed in the text. Audacity is mainly a sound editing software, but it is possible to create a transcript in this program using the label feature. You can transcribe the audio from a video MOV or MP4 file but, you will not be able to watch the video. Audacity is a free program and can be downloaded from http://www.audacityteam.org/download/.
YouTube allows transcripts to be created for uploaded videos. The transcripts can be downloaded as .srt, .vtt and sbv files. As YouTube does not export transcripts as delimited files there is an added intermediate step of converting the file in OpenRefine. These can then be processed in openrefine to produce XML files.
oTranscribe allows for the transcribing of recorded interviews. There is a web based tool and a downloadable tool. The downloadable tool takes some setup.
Jump to oTrascribe (BETA) Overview
This section describes the process of taking a tab delimited file and converting it into the XML ingest format, based on an Inqscribe workflow. Following these steps will result in files named TRANSCRIPT.xml. To perform these steps, you will need a spreadsheet software (such as excel) and Open Refine http://openrefine.org/
Inqscribe creates timecodes in a format 00:00:23.10, but the ingest format requires the format 23.1.
- Once the file has been imported, create new columns to accept the transformed time codes. The image below shows this step in Excel:
- Convert the existing timecodes into seconds by using a formula such as
=A2\*86400
in the new "IN" column and=C2\*86400
in the new "OUT" column. The image below shows this step in Excel.
- Copy the formula for the entire column. The format of the IN and OUT columns should match the image below.
- Save this as a tab delimited file. Your second are now in the correct format.
- Create a project with your corrected tab delimited file. Make sure the encoding is UTF-8.
- Delete any extra time columns with the wrong format from the last step. The image below depicts this step.
- Export using the "templating" option, and in the export template box, copy and paste something like the following below:
Ensure that you match the appropriate text to the input box using the bold headers as guides.
prefix
prefix
<?xml version="1.0" encoding="UTF-8"?>
<cues>
row template (IMPORTANT: make sure your headers in your transcript file match the headers in the row template!)
<cue>
<speaker>{{cells["SPEAKER"].value}}</speaker>
<start>{{cells[“START"].value}}</start>
<end>{{cells[“END"].value}}</end>
<transcript>{{cells["TRANSCRIPT"].value}}</transcript>
</cue>
Row template (Use this version If your transcript has tiers only)
<cue>
<speaker>{{cells["INTERVIEWER"].value}}</speaker>
<start>{{cells["IN"].value}}</start>
<end>{{cells["OUT"].value}}</end>
<transcript>{{cells["TRANSCRIPT"].value}}</transcript>
<translation>{{cells["TRANSLATION"].value}}</translation>
<annotation>{{cells["ANNOTATION"].value}}</annotation>
</cue>
row separator
Make this box empty, remove any characters
suffix
</cues>
Final Result
The resulting file should match this format:
<cue>
<speaker>Dorjee Lhatoo</speaker>
<start>36.0</start>
<end>45.0</end>
<transcript> Poor company with me. She would pour me a glass, one sip and it goes right through, you see -</transcript>
</cue>
<cue>
<speaker>Interviewer2</speaker>
<start>46.0</start>
<end>49.0</end>
<transcript> [indiscernible] on fire. She sounds like great fun.</transcript>
</cue>
<cue>
<speaker>Dorjee Lhatoo</speaker>
<start>49.0</start>
<end>52.0</end>
<transcript> And then she used to bidi</transcript>
</cue>
<cue>
<speaker>Interviewer2</speaker>
<start>52.0</start>
<end>53.0</end>
<transcript> Oh!</transcript>
</cue>
In OpenRefine, you can also create a project based on the tab delimited export of an Audacity file. However, you may need to change the column header line to 0 (instead of 1). Here is an image depicting the creation of a project in Open Refine from an Audacity file:
The speaker name must be added at column 3 and the appropriate information added by dividing data between columns (using the colon as a separator). See an image below of this process in OpenRefine.
Column header names must also be altered to match the export format. For example:
- IN (Replacing Column 1)
- OUT (Replacing Column 2)
- SPEAKER (Replacing Column 3 1)
- TRANSCRIPT (Replacing Column 3 2)
As above, the data must be templated into XML. Below is an example of a template that can be used to create a transcript.
prefix
<?xml version="1.0" encoding="UTF-8"?>
<cues>
**row template **
<cue>
<speaker>{{cells["SPEAKER"].value}}</speaker>
<start>{{cells[“START"].value}}</start>
<end>{{cells[“END"].value}}</end>
<transcript>{{cells["TRANSCRIPT"].value}}</transcript>
</cue>
Row Template (Use only If your have transcript has tiers, change this template to match what tiers you are using.)
<cue>
<speaker>{{cells["INTERVIEWER"].value}}</speaker>
<start>{{cells["IN"].value}}</start>
<end>{{cells["OUT"].value}}</end>
<transcript>{{cells["TRANSCRIPT"].value}}</transcript>
<translation>{{cells["TRANSLATION"].value}}</translation>
<annotation>{{cells["ANNOTATION"].value}}</annotation>
</cue>
row separator
none
suffix
</cues>
The resulting XML file should have a structure like this:
Final Result
<cue>
<speaker>Dorjee Lhatoo</speaker>
<start>36.0</start>
<end>45.0</end>
<transcript> Poor company with me. She would pour me a glass, one sip and it goes right through, you see -</transcript>
</cue>
<cue>
<speaker>Interviewer2</speaker>
<start>46.0</start>
<end>49.0</end>
<transcript> [indiscernible] on fire. She sounds like great fun.</transcript>
</cue>
<cue>
<speaker>Dorjee Lhatoo</speaker>
<start>49.0</start>
<end>52.0</end>
<transcript> And then she used to bidi</transcript>
</cue>
<cue>
<speaker>Interviewer2</speaker>
<start>52.0</start>
<end>53.0</end>
<transcript> Oh!</transcript>
</cue>
Note that this process of taking a spreadsheet and templating a MODS file export can also be used to create MODS metadata from a spreadsheet. See for example http://digitalscholarship.utsc.utoronto.ca/projects/content/blogs/converting-spreadsheets-modsxml-using-open-refine
[00:00:00.00] Daku Sherpa: The transcription text goes here on the
same line. Never start a new line or a new paragraph. Always have a
closing time stamp.[00:06:32.12]
[00:06:32.12] Interviewer: More transcription goes here. [00:09:10.45]
[00:09:10.45] No speaker: (Pause) Daku sips his drink. [00:20:11.15]
[00:20:11.15] Interviewer: So did you ever end up going back there? [00:25:10.45]
[00:27:11.15] Unknown: It's too cold there. [00:30:10.45]
- The video play window
- The buttons and tools used to start, stop and change the time in videos. You can choose a specific time through the timescale ruler. You are also able to use the slider to change the play rate making the video slower for transcription.
- The window where you type the physical transcription. Properly formatted timestamps are blue. If the timestamp is not blue that shows there is an error in formatting.
- Open the Inqscribe program.
- Drag and drop the video file that you want to transcribe into the grey box located on the top left of the program that reads “Drag a media file into this window”. For video use only .mov or .mp4 files.
- Before you begin to transcribe the video you must insert a timestamp. To do this go to Edit > Insert Time (it will insert a timestamp in the format of [hh:mm:ss.ss]). You can also use the hotkey CMD + ; to insert the timestamp.
- Type your transcribed text
- Insert a timestamp at the end of the line of transcribed text by going to Edit > Insert Time
- Repeat on new line to continue transcription.
- Optional: When recording the audio of multiple speakers you can create create snippets that insert the timestamp and speaker's name. This will also be useful to for inserted repeating block of text. To do this go to Edit > Insert Snippet and a box titled “snippets” will appear. To add a new snippet to the list click the “edit…” button. To Insert a snippet into the transcript click the “insert…” button. The image of the snippet editor (figure x) can be seen below. Snippets are entered with the formula: {$TIME} The text you want in the transcript. An example of a snippet that identifies the speaker is: {$TIME} Speaker 1
Inqscribe transcription tips:
- Changing the time in the timestamp is possible. As long as you maintain the correct format (Inqscribe highlights a valid timestamp in blue).
- You can adjust play rate if you need to listen to a speaker carefully
Export your completed transcript as a tab delimited file
- Save you work by going to file > Save as. Save the interview transcript with the same filename as the Interview Video format and put it in the appropriate directory and file folder.
- Go to File > Export > Tab-delimited text. The Export Settings box will open (see figure below)
- Ensure that the “Export Out Points” and the “Export Speaker Names” boxes are checked. In addition ensure that the Speaker Name Delimiter box has a : )See below for example).
- Input the name of your file the Target box. Use the choose… button to select the appropriate file folder directory. Then click Export.
In the transcript example below there are multiple speakers. The snippet feature helps the transciber keep track of all the possible speaker names.
- The playback controls to start and stop the audio.
- The magnifying glass to zoom in and out of the track. This is a very important feature because you will need to zoom in to fit in all of your labels.
- The playback speed control slider. Use this tool to speed up or slow down audio during transcription.
- The Track Pane. This pane will show you where you are in the interview. Click and drag to highlight a portion of audio you want to listen to or label.
- The Label Pane. This is where you enter the transcription text as labels.
- Open Audacity on your computer.
- Open the file you are transcribing by going to File> Open and select the file from your directory. The track will open in the program.
- In Audacity you can select a section of the track to annotate. First zoom in using the magnifying glass (This is an important step as it will allow your labels to fit on the track). Then select part of the tract by clicking the start of where you want to begin your annotation and drag the cursor to the end (see example below).
- Listen to the selected audio by using the playback controls. If necessary you can slow down the audio using the slider.
- Add the label by going to Tracts> Add Label at Selection (or use the hotkey ctrl + b (Windows)/ cmd + b (mac)). Note that the program automatically generates the time stamps.
- Input the text into the label. Remember to record the speaker's name using the proper format of Speaker's Name: What they are saying. Please see below for an example.
- When you have finished transcribing the audio you can read the transcript as a whole by going to Tracts> Edit Labels… Here you can correct text. Note you will not be able to listed to the audio while this window is open. It is good practice to review the labels while listening to the audio once the transcript is complete to ensure it is error free.
- When you are finished Make sure you save your work by going to File > Save Project As…
- Export the transcript by going to File> Export Labels. Save the file with same name as the original audio/video, but with the extension .txt.
Sample text-based output
0:01 old and in the way
0:24 they'll never care about you
0:31 once I hear tell he was happy
0:38 good time
0:44 looking back to a better day
Sample oTranscribe (json) format
{
"text":" <p data-l10n-id=\"\"><span class=\"timestamp\" data-timestamp=\"0:01\" contenteditable=\"false\">0:01</span> old and in the way<br></p><p data-l10n-id=\"\"><span class=\"timestamp\" data-timestamp=\"0:24\" contenteditable=\"false\">0:24</span> they'll never care about you <br></p><p data-l10n-id=\"\"><span class=\"timestamp\" data-timestamp=\"0:31\" contenteditable=\"false\">0:31</span> once I hear tell he was happy<br></p><p data-l10n-id=\"\"><span class=\"timestamp\" data-timestamp=\"0:38\" contenteditable=\"false\">0:38</span> good time<br></p><p data-l10n-id=\"\"><span class=\"timestamp\" data-timestamp=\"0:44\" contenteditable=\"false\">0:44</span> looking back to a better day<br></p>\n <p><br></p><p>\n </p>",
"media-source":""
}