51
143
Sound Directions
Best Practices For Audio Preservation
the creation of PQ markers during recording.
123
We optimize the input sensitivity of the Prism AD-2 so that average program peaks as viewed
in the Pyramix VU-meter display are approximately -12 to -9 dBFS and highest peaks are no
more than -3 dBFS with the VU-meter display set to 0VU at -16 dBFS. We have found that
the Prism AD-2 sounds best at that level.
We advance the cursor three frames past midnight to avoid creating files that span the zero
hour, initiate record in Pyramix, and begin playback of the tape. When we encounter the
beginning of program, we insert a CD Track Start Marker and name it appropriately with
the performance information if it is known. We do this for each performance as they are
encountered during record. After recording, we will fine-tune start-mark placement. If we
encounter noise or areas that might be of particular interest in production such as drastic
level changes, we indicate them by placing non-PQ markers at the start of each incidence
and naming those markers appropriately. If we encounter tape playback problems such that
we must stop and restart the tape, we advance the cursor three seconds past the end of the
recorded material, re-cue the tape to a point at least thirty seconds prior to the trouble spot,
or far enough to contain sufficient context for editing, re-initiate record in Pyramix and
resume playback of the tape. We proceed this way until we reach the leader or end of the
tape and then stop recording. At the end of program we place a CD Stop Marker.
Ideally, the point at which tape playback began in the recording would be at the zero hour
and not before. We avoided spanning zero hour in recording, but now we must adjust the
beginning of the digitized tape playback to zero by deleting the blank part of the file and
rippling the remainder to the left to zero. Then we apply the correct time stamp to the
moved file by rendering it in place. The next task is to edit this newly trimmed and placed
file together with the next file in the recording (if there is one) which also will need its time
stamp corrected once the edit is done. To do the edit we find and mark the edit point on both
files, then select the area between that point on both files and do another delete-and-ripple.
If there are only two files in the recording, we proceed to the end of the second file, place the
cursor after the point where the tape had ended, set selection start to the cursor and delete
from the cursor to the right. Then we select that newly moved and edited second file and
adjust its time stamp by rendering the file in place. If there were more than two files in the
recording, we would proceed by editing and rendering for each one. We save our project
after each step, and now would be a good time to do just that.
Now that editing is complete, we fine-tune the performances’ CD start markers and ensure
that they are properly labeled.
At this point we can determine the start time and duration of the Face and Region(s) and
enter that data in the coreaudio.xml document.
Pyramix can export projects in a number of formats. We use the AES31-3 export to produce
a preservation ADL and media set. We use the XML export to produce a marker document.
To export the AES31-3 ADL and media, we create a directory named C:\Volumes\V13\
DRS_DEPOSITS\Rubin\Deposit_AWM_RL_15465\AWM_RL_15465\pre-archival. From
the Pyramix project AWM_RL_15465_Archival_Side_1, we export the entire project as
AES31-3 into the pre-archival directory we just created, and name the export with the same
project name. We then export the project as XML into the same pre-archival directory, and
name the export as “AWM_RL_15465_Archival_Side_1_PQ_Marks.” This produces a marker
123 We have chosen to use standard CD PQ start and stop markers to delineate performances or areas of interest
because PQ markers are widely used in the audio industry and they are exportable and importable in Pyramix as
XML. They are not intended for CD creation unless a preservation request includes a CD access copy.
40
144
Sound Directions
Best Practices For Audio Preservation
document for the project.
Before we close the side one project, we prepare a project for side two, continuing on the
same timeline, by placing a marker three seconds past the end of side one, deleting the side
one audio clips from the timeline, changing the project settings to reflect the values for side
two project name and record filename, creating a new Disc in the CD/SACD tab with the
correct info for side two and deleting the side one disc from the tab, then saving the project
as “AWM_RL_15465_Archival_Side_2.” This newly created project will contain no audio,
but will have a marker on the project timeline at which side two audio should start, and will
be ready to create CD markers for side two. The original side one project still exists intact
since we saved the modified project as a different project name. The transfer of side two
proceeds similarly to side one, except that side two starts later on the same timeline. Again
we export the AES31-3 ADL and media, and the XML PQ markers as we did for side one into
the pre-archival directory.
At the completion of the side two transfer and edit/render, we can determine the start time
and duration of that Face and Region or Regions, and enter that data into the coreaudio.xml
document.
Once side two has been exported to the pre-archival directory, we run the first custom
software tool in the process, called “makearchival.” Table 8 describes the actions performed
by makearchival, whose ultimate products are pristine Archival Masters and accompanying
metadata untouched by the operator.
Preliminary Processes
The script “makearchival” looks for a pre-archival directory. If there is none, the script exits.
If there is a pre-archival directory, the script looks for a project config file (project.prop). If
there is none, the script exits. If there is a project config file, the script continues.
The script looks for an archival directory. If there is no archival directory, it creates one.
The script looks for a misc directory. If there is none, it creates one.
The script creates a list of all ADLs in the pre-archival directory and validates that the ADLs’
filename syntax conforms to HCL-APS conventions. If they do not conform, the script warns
and exits. If they do conform, the script checks the property file for a shelf number. If there
is no shelf number the script warns and exits. If there is a shelf number in the property file,
the script continues.
The script locates the Pyramix XML marker file in the pre-archival directory, copies the marker
file to the misc directory and then validates the file copy using the MD5 algorithm.
The script calls the tool “convertmarkers” that converts the Pyramix marker file to the HCL-
APS marker format XML document. This is a stopgap measure in our workflow until the new
version of AES31-3, which provides a standardized way to store marker metadata, is adopted
by manufacturers. Here is an example of the interim HCL-APS format:
27
145
Sound Directions
Best Practices For Audio Preservation
<?xml version=»1.0» encoding=»UTF-8» ?>
<hclAudioMarkerDocumentElementType
xmlns=»http://www.fas.harvard.edu/
hclAudioMarker» xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» x
si:type=»hclAudioMarkerDocumentElementType»>
<projectSampleRate>44100</projectSampleRate>
<marker markerNum=”1” markerName=”Duo sonata in A major op 162 - Schubert”
markerType=”PQ_START”
samplePosition=”222264”
performanceTitle=””
performancePerformer=”” performanceComposer=”” performanceArranger=””
/>
<marker markerNum=”2” markerName=”A life - Ernst Bacon” markerType=”PQ_START”
samplePosition=”59434452” performanceTitle=”” performancePerformer=””
performanceComposer=”” performanceArranger=”” />
<marker markerNum=”3” markerName=”String quintet in C minor K 406 - Mozart”
markerType=”PQ_START” samplePosition=”144971988” performanceTitle=””
performancePerformer=”” performanceComposer=”” performanceArranger=””
/>
<marker markerNum=”3” markerName=”String quintet in C minor K 406 - Mozart
Stop” markerType=”PQ_END” samplePosition=”217078428” performanceTitle=””
performancePerformer=”” performanceComposer=”” performanceArranger=””
/>
</hclAudioMarkerDocumentElementType>
66
146
Sound Directions
Best Practices For Audio Preservation
Events Recorded in Process History (Digital Provenance)
For each ADL in the pre-archival directory, the script performs the following:
Tool Called
Actions Taken
Input/Output Media
adlfix
Complete the <SOURCE_INDEX>
by retrieving all the optional
information fields in the BWF
<bext> chunk such as the USID,
start time and duration and the
description, and then entering
them into the source index.
Completes the remarks for each
entry in the event list.
Write process event (to document
the operation).
Input pre-archival AES31-3 ADL.
Output fixed (-fix) ADL to misc
directory.
addpanentries
Add a <PAN_LIST> to ADL by
determining the number of sources
and assigning them to: Center
(0.0) if there is only one, assigning
the odd numbered source to Left
(-100.0) and the even to Right
(+100.0) if there are two. If there
is already a pan list, the script
exits stating pan list exists—no
operations performed.
Write process event.
Input -fix ADL in misc directory.
Output -fix-pan ADL to misc
directory.
adlpathsub
Replace pre-archival <SOURCE_
INDEX> URL path with archival
path in ADL.
Write process event.
Input -fix-pan ADL in misc
directory.
Output -fix-pan-pathsub ADL to
misc.
editadlheader
Set project title.
Set project notes.
Write process event.
Input -fix-pan-pathsub ADL in
misc.
Output -fix-pan-pathsub-headers
ADL to misc directory.
addmarkers
Retrieve markers from input HCL-
APS marker file and adds them in a
<MARK_LIST> to the ADL.
Write process event.
Input -fix-pan-pathsub-hdrs ADL
in misc directory.
Input HCL-APS marker file.
Output Archival ADL to archival
directory.
Table 8: makearchival script: ADL actions
C# HTML5 Viewer: Deployment on ASP.NET MVC under Views according to config in picture above. RasterEdge.XDoc.PDF.HTML5Editor. dll. Open RasterEdge_MVC3 DemoProject, copy following content to your project:
how to copy a picture from a pdf; copy pdf picture to word C# HTML5 Viewer: Deployment on IIS Copy according dll files listed below under RasterEdge.DocImagSDK/Bin directory and paste to Xdoc.HTML5 ViewerDemo/Bin folder. (see picture).
how to copy and paste a pdf image; copy image from pdf preview
50
147
Sound Directions
Best Practices For Audio Preservation
For each BWF file in each of the ADLs in the pre-archival directory, the script does the
following:
Tool Called
Actions Taken
Input/Output Media
cp
Copy one of the BWF media from
pre-archival to archival directory.
Write process event.
Input pre-archival BWF file.
Output archival BWF file.
cmpchksum
Perform MD5 checksum on file 1
audio data only.
Perform MD5 checksum on file 2
audio data only and compare.
Write process event.
Input file 1 audio data only.
Input file 2 audio data only.
Output checksum file 1.
Output checksum file 2.
Output true or false value on
compare.
Table 9: makearchival script: BWF actions
If the original recording required noise removal or any other process before making deliverables,
such as consolidation of multiple archival files in the timeline into one continuous file,
then we would create a Pyramix project in the workspace for that purpose and import the
archival ADLs into that project. The resulting processed project would be exported to a pre-
production directory where we would use the software tool “makeproduction” to create
Production Masters from the pre-production exports. If the original recording required neither
de-noising nor consolidation of files, then we would run “makeproduction” immediately
after “makearchival” without needing to create a pre-production directory. The following
table describes the actions performed by the “makeproduction” script.
Preliminary Processes
The script “makeproduction” looks for a pre-production directory. If there is no pre-production
directory, the script looks for the archival directory. If there is no archival directory, the script
warns and exits. If there is an archival directory, the script continues.
The script checks for a project config file. If there is no project config file, the script warns
and exits. If there is a project config file, the script continues.
The script looks for a production directory. If there is none, the script creates one and
continues.
The script looks for a workspace directory. If there is none, the script creates one and
continues.
The script looks for a SRC directory within the workspace directory. If there is none, the script
creates one and continues.
The script looks for a DITHER directory within the workspace directory. If there is none, the
script creates one and continues.
C# Raster - Modify Image Palette in C#.NET & pages edit, C#.NET PDF pages extract, copy, paste, C#.NET VB.NET How-to, VB.NET PDF, VB.NET Word, VB is used to reduce the size of the picture, especially in
how to copy image from pdf to word document; how to paste a picture into pdf C# Word - Document Processing in C#.NET Get the main ducument IDocument doc = document.GetDocument(); //Document clone IDocument doc0 = doc.Clone(); //Get all picture in document List<Bitmap> bitmaps
cut image from pdf online; how to copy picture from pdf and paste in word
82
148
Sound Directions
Best Practices For Audio Preservation
The script gets each ADL from the archival directory and checks to see if they contain markers.
If they do not, the script gets the marker info from the respective marker files and adds those
markers to the ADLs. The output ADLs are saved to the misc directory. If the ADLs do contain
markers, the script continues.
Events Recorded in Process History (Digital Provenance)
For each ADL in the archival directory, the script performs the following:
Tool Called
Actions Taken
Input/Output Media
cp
Copy Archival ADL to misc
directory.
Write process event.
Input Archival ADL.
Output Archival ADL to misc
directory.
adlsrc
Sample rate convert the Archival
ADL in misc directory to 44.1 kHz
and save result as Workspace-SRC
ADL in misc directory.
Write process event.
Input Archival ADL in misc
directory.
Output Workspace-SRC ADL to
misc directory.
editadlheader
Set the project title in Workspace
ADL header to “_Workspace-SRC_”
Write process event.
Input Workspace-SRC ADL in
misc directory.
Output Workspace-SRC ADL to
misc directory.
adlpathsub
Replace each BWF unique ID in
Workspace-SRC ADL to match
respective converted BWF file ID.
Write process event.
Input Workspace-SRC ADL in
misc directory.
Output Workspace-SRC ADL to
misc directory.
adlpathsub
Replace role specifier “_AM_”
in Workspace-SRC ADL source
filenames with “_WM_”
(Workspace Master) designation.
Write process event.
Input Workspace-SRC ADL in
misc directory.
Output Workspace-SRC ADL to
misc directory.
adlpathsub
Replace role “Archival” in the ADL
name with “Workspace-SRC.”
Write process event.
Input Workspace-SRC ADL in
misc directory.
Output Workspace-SRC ADL to
misc directory.
adlpathsub
Replace “/archival/” with “/
workspace/SRC/” in the Workspace-
SRC ADL path.
Write process event.
Input Workspace-SRC ADL in
misc directory.
Output Workspace-SRC ADL to
misc directory.
adlpathsub
Replace “/pre-production/” with “/
workspace/SRC/” in the Workspace-
SRC ADL path.
Input Workspace-SRC ADL in
misc directory.
Output Workspace-SRC ADL to
misc directory.
Table 10: makeproduction script: archival or pre-production directory ADL actions
73
149
Sound Directions
Best Practices For Audio Preservation
For each BWF file in each ADL, the script performs the following:
Tool Called
Actions Taken
Input/Output Media
Resampler
Sample rate convert 96 kHz BWF
archival file to 44.1 kHz BWF
Workspace-SRC file.
Write Process event.
Input 96 kHz BWF archival media
file.
Output 44.1 kHz BWF Workspace-
SRC media file.
MBITPlus
Change bit depth of the Workspace-
SRC WM BWF file from 24 bits
to 16 bits using iZotope 64-bit
dither processing and save in misc
directory.
Write processing event.
Input 24 bit WM BWF file in misc
directory.
Output 16-bit WM BWF file to
misc directory.
bwavedit
Set the <bext> chunk description of
the Workspace Master (_WM_) BWF
to “_PM_” and save in production
directory.
Write process event.
Input the Workspace Master BWF
in the misc directory.
Output the Production Master
BWF to the production directory.
cmpchksum
Compare MD5 checksum of the
audio data of the Production Master
BWF with the checksum of the
audio data of the Workspace Master
BWF.
Write process event.
Input file 1 audio data only.
Input file 2 audio data only.
Output checksum file 1.
Output checksum file 2.
Output true or false value upon
compare.
bwavedit
Set the <bext> chunk description of
the Workspace Master BWF’s role
specifier to “_PM_”.
Write process event.
Input Workspace Master BWF in
misc directory.
Output Production Master BWF to
the production directory.
cmpchksum
Compare MD5 checksum of the
audio data of the Workspace Master
BWF with the checksum of the
audio data of the Production Master
BWF.
Write process event.
Input file 1 audio data only.
Input file 2 audio data only.
Output checksum file 1.
Output checksum file 2.
Output true or false value upon
compare.
Table 11: makeproduction script: BWF actions
78
150
Sound Directions
Best Practices For Audio Preservation
For each ADL in the Workspace directory, the script performs the following:
Tool Called
Actions Taken
Input/Output Media
adlfix
Fix source index of
Workspace-SRC ADL, fix
remarks in Workspace-
SRC ADL and save as
Workspace-DITHER ADL.
Input Workspace-SRC ADL in misc
directory.
Output Workspace-DITHER ADL to misc
directory.
adlpathsub
Replace BWF unique ID in
Workspace-DITHER ADL to
match converted BWF file
ID.
Write process event.
Input Workspace-DITHER ADL in misc
directory.
Output Workspace-DITHER ADL to misc
directory.
adlpathsub
Replace “Workspace-SRC”
in the Workspace-DITHER
ADL with “Workspace-
DITHER” in the Workspace-
DITHER ADL.
Write process event.
Input Workspace-DITHER ADL in misc
directory.
Output Workspace-DITHER ADL to misc
directory.
adlpathsub
Replace “/workspace/SRC/”
in the Workspace-DITHER
ADL with “/workspace/
DITHER/”.
Write process event.
Input Workspace-DITHER ADL in the misc
directory.
Output Workspace-DITHER ADL to the
misc directory.
adlfix
Correct the source index
and remarks in Workspace-
SRC ADL to reflect dither
operation and save as
Workspace-DITHER ADL.
Input Workspace-SRC ADL in misc
directory.
Output Workspace-DITHER ADL to misc
directory.
editadlheader
Set project title of
Workspace-DITHER ADL to
“_Workspace-DITHER_”.
Write process event.
Input Workspace-DITHER ADL in misc
directory.
Output Workspace-DITHER ADL to misc
directory.
adlpathsub
Replace the Workspace-
DITHER ADL’s BWF’s role
specifier “_WM_” in the
misc directory with “_PM_”
and save as Production ADL
in the misc directory.
Write process event.
Input Workspace-DITHER ADL in misc
directory.
Output Production ADL to misc directory.
67
151
Sound Directions
Best Practices For Audio Preservation
adlpathsub
Replace “_Workspace-
DITHER_” in the name
of the Production ADL in
the misc directory with
“_Production_”.
Write process event.
Input Production ADL in misc directory.
Output Production ADL to misc directory.
adlpathsub
Replace path “/workspace/
DITHER/” in the Production
ADL of the misc directory
with “/production/”.
Write process event.
Input Production ADL in the misc
directory.
Output Production ADL to the misc
directory.
adlpathsub
Replace Production ADLs
BWF’s unique ID from
the dither operation with
the unique ID for the
Production ADL’s dithered
BWF.
Write process event.
Input Production ADL in the misc
directory.
Output Production ADL to the misc
directory.
adlpathsub
Replace the unique ID
of the Workspace Master
BWF Production ADL
with the unique ID of the
Production Master BWF in
the Production ADL.
Write process event.
Input Production ADL in misc directory.
Output Production ADL to misc directory.
editadlheader
Set project title role of the
Production ADL in the misc
directory to “_Production_”.
Write process event.
Input Production ADL in misc directory.
Output Production ADL to misc directory.
adlfix
Fix source index and
remarks in Production ADL
of the misc directory. Save
resulting Production ADL to
production directory.
Input Production ADL from misc directory.
Output Production ADL to production
directory.
Table 12: makeproduction script: workspace directory ADL actions
Once “makeproduction” has been run, we run the “makedeliverable” script to create
deliverables as RealAudio files and SMIL files. SMIL, or Synchronized Multimedia Integration
Language, is a W3C recommended XML markup language for describing multimedia
presentations. SMIL files present performances within our RealAudio streaming media
files. The benefit of using SMIL to navigate media is that an unlimited number of SMIL files
can be created to serve different access purposes for the same media file. Therefore, future
57
152
Sound Directions
Best Practices For Audio Preservation
customized presentations of that media will not require additional labor to remake production
parts or deliverables. Note that the creation of streaming media requires an interleaved source
file for stereo sources. Therefore we interleave the BWF files and update the ADL source index
and edit list accordingly.
Preliminary Processes
The script “makedeliverable” checks to see if there is a production folder. If there is none, it
warns and exits. If there is a production folder, it continues.
The script looks for a project config file. If there is none, it warns and exits. If there is one, it
continues.
The script looks for a misc directory. If there is none, it creates one. If there is one, it
continues.
The script looks for a deliverable directory. If there is none, it creates one. If there is one, it
continues.
The script looks for a deliverable/smil directory. If there is one, the script deletes it and creates
an empty deliverable/smil directory.
The script looks for an INT directory in the workspace directory. If there is none, it creates
one. If there is one, it continues.
Events Recorded in Process History (Digital Provenance)
For each ADL in the production directory, the script performs the following:
Tool Called
Actions Taken
Input/Output Media
adlinterleaver
Interleave all multi-channel BWF
file representations in the ADL.
Create a tmp directory.
Create a batch.xml file in the tmp
directory.
Create an interleaved Deliverable
ADL in the misc directory.
Create a Deliverable Media
directory in the INT directory.
Write process event.
Input a Production ADL in the
production directory.
Output a Deliverable ADL to the
misc directory.
adlpathsub
Replace the BWF role specifier
“_PM_” with “_DM_”.
Write process event.
Input a Deliverable ADL in misc
directory.
Output a Deliverable ADL to
misc directory.
editadlheader
Set project title of Deliverable ADL
to “_Deliverable_”.
Write process event.
Input a Deliverable ADL in misc
directory.
Output a Deliverable ADL to
misc directory.
Table 13: makedeliverable script: production directory ADL actions
Documents you may be interested
Documents you may be interested