Skip to content
John Ferlito edited this page Jan 21, 2024 · 8 revisions

BWF File Creation

We add annotation to the archival copy of audio files using BWFMetaEdit.

Handy references

Old Process

Nabu creates an XML file like the one below which is imported into the WAV file by Dobbin

<REPORT>
    <BEXTDATA>
        <DESCRIPTION>
            Language: &quot;Jingpho&quot; kac;
            Country: MM;
            Notes: Animated folktale.
        </DESCRIPTION>
        <ORIGINATOR>Keita Kurabe</ORIGINATOR>
        <ORIGINATIONDATE>2023-02-19</ORIGINATIONDATE>
    </BEXTDATA>
    <QUALITYREPORT>
        <BASICDATA>
            <ARCHIVENUMBER>KK3-0097</ARCHIVENUMBER>
            <TITLE>Nhkum Tu Yau</TITLE>
            <OPERATOR></OPERATOR>
        </BASICDATA>
        <QUALITYEVENTS>
            <EVENT>
                <TYPE>IngestNotes0</TYPE>
                <COMMENT></COMMENT>
                <SAMPLECOUNT>0</SAMPLECOUNT>
            </EVENT>
        </QUALITYEVENTS>
    </QUALITYREPORT>
</REPORT>

This is generated from the following template in the nabu source code

%REPORT
    %BEXTDATA
        %DESCRIPTION
            - unless @item.subject_languages.empty?
                = "Language: \"#{@item.subject_languages.first.name}\" #{@item.subject_languages.first.code};"

            - unless @item.countries.empty?
                = "Country: #{@item.countries.first.code};"
                = "Notes: #{@item.description}."
        %ORIGINATOR= @item.collector_name
        %ORIGINATIONDATE= @item.originated_on
    %QUALITYREPORT
        %BASICDATA
            %ARCHIVENUMBER= @item.full_identifier
            %TITLE= @item.title
            %OPERATOR= @item.operator_name
        %QUALITYEVENTS
            %EVENT
                %TYPE IngestNotes0
                %COMMENT= @item.ingest_notes
                %SAMPLECOUNT 0

Implemented Solution

We use the following XML template https://github.com/nabu-catalog/nabu/blob/main/app/views/items/show_bwf.xml.haml

Notes

  • We store useful info about the wav file in the Description field including
    • Description
    • The item's catalog URL
    • Subject Langiages
    • Countries
  • Dropped the following elements that are included in the spec
    • OriginatorReference - Doesn't make sense for our use case as we aren't a broadcaster but maybe we put the URL identifier?
    • OriginationTime - We don't have time level accuracy
    • TimeReference_translated - We don't care about time codes
    • TimeReference - We don't care about time codes
    • UMID - Doesn't make sense in our context as we aren't a broadcaster
  • Leave ixml empty doesn't seem relevant
  • Leave XML - https://github.com/adobe/XMP-Toolkit-SDK/blob/main/docs/XMPSpecificationPart1.pdf

AXML

  • We can store any XML we want in this section

Questions

Question PARADISEC Feedback
What should we put in the description, maybe just the title and description from the item, maybe some collection bits as well
What should coding history show? In an sample file I looked at it had lots of entries maybe based on Dobbin pipeline. I suggest we just put A=PCM,F=96000,W=24,M=stereo,T=Paragest Pipeline
Dobbun used to store Ingest notes in to a quality events segment. This isn't supported by BWF MetaEdit. What do we want to do with this? We could store them in the description, not at all or in the ACML section with some different XML