WAVScribe reads, edits, and writes every chunk and field listed below. All write operations preserve audio data byte-for-byte and follow each format's published specification.

Action key

bextBroadcast Wave Format (EBU R 85-2004)

Placement: pre-data, as required by EBU R 85.

FieldActionNotes
DescriptionWrite256-byte UTF-8, truncated at character boundary if over limit
OriginatorWrite32-byte UTF-8
OriginatorReferenceWrite32-byte UTF-8
OriginationDateWriteYYYY-MM-DD
OriginationTimeWriteHH:MM:SS
TimeReferencePassthrough64-bit sample count since midnight; surfaces in Extended Metadata
VersionAutoBumped to 2 when any loudness field is populated; otherwise preserved
UMIDWrite64-byte SMPTE 330M; entered as 128 hex characters
LoudnessValueWriteEBU R 128 Integrated Loudness, LUFS
LoudnessRangeWriteEBU R 128 LRA, LU
MaxTruePeakLevelWritedBTP
MaxMomentaryLoudnessWriteLUFS
MaxShortTermLoudnessWriteLUFS
ReservedPassthrough180 reserved bytes preserved on round-trip
CodingHistoryPassthroughCR+LF-terminated history lines; surfaces in Extended Metadata

iXMLGallery iXML Specification, Revision 3.01

Placement: single post-data chunk, per Gallery iXML conventions.

iXML core elements

ElementActionNotes
<SCENE>Write
<TAKE>Write
<TAPE>WriteReel / card label
<NOTE>Write
<FILE_UID>Write
<PROJECT>Write
<ORIGINAL_FILENAME>Write
<PARENT_FILENAME>Write
<PARENT_UID>Write
<UBITS>PassthroughUser bits (8 hex chars)
<CIRCLED>PassthroughDirector's favorite take flag
<FALSE_START>Passthrough
<WILD_TRACK>Passthrough
<NO_GOOD>Passthrough
<IXML_VERSION>Auto"3.01"
Other iXML top-level elementsPassthroughVendor extensions and unrecognized elements preserved verbatim across read / write

iXML <SPEED> block

ElementAction
<MASTER_SPEED>Write
<CURRENT_SPEED>Write
<SPEED_NOTE>Write
<TIMECODE_FLAG>Write
<TIMECODE_RATE>Write
<TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_LO>Passthrough
<TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_HI>Passthrough

iXML <LOCATION> block

ElementAction
<LOCATION_NAME>Passthrough
<LOCATION_GPS>Passthrough
<LOCATION_TYPE>Passthrough

iXML <PRODUCTION> block

ElementAction
<PRODUCTION_NAME>Passthrough
<PRODUCTION_ADDRESS>Passthrough
<PRODUCTION_EMAIL>Passthrough
<PRODUCTION_PHONE>Passthrough
<PRODUCTION_NOTE>Passthrough

iXML <TRACK_LIST>

Active track-layout structure (spec-compliant replacement for legacy free-form text). Edited via the Track Layout Editor.

ElementAction
<TRACK> / <CHANNEL_INDEX>Write
<TRACK> / <INTERLEAVE_INDEX>Write
<TRACK> / <NAME>Write
<TRACK> / <FUNCTION>Write
<TRACK_COUNT>Auto

iXML <TRACK_LAYOUT> (legacy element)

ElementActionNotes
<TRACK_LAYOUT>PassthroughLegacy free-form layout text from older tools; preserved verbatim, surfaces in Extended Metadata

iXML <USER> block

WAVScribe's primary cross-tool exchange surface. Keys below are written when populated; the block also accepts user-defined custom keys (see User-Defined Fields).

KeyAction
CATEGORYWrite
SUBCATEGORYWrite
CATIDWrite
FXNAMEWrite
MICROPHONEWrite
MICPERSPECTIVEWrite
DESIGNERWrite
RECORDISTWrite
MANUFACTURERWrite
LIBRARYWrite
RELEASEDATEWrite
URLWrite
KEYWORDSWrite
RATINGWrite
CATEGORYFULLWrite
CDTITLEWrite
CHANNELLAYOUTWrite
ERAWrite
GPSALTWrite
GPSLATWrite
GPSLONWrite
INDEXWrite
LOCATIONWrite
LONGIDWrite
OPENTIERWrite
RECMEDIUMWrite
RECTYPEWrite
SHOOTDATEWrite
SHORTIDWrite
SHOWWrite
SHOWCATEGORYWrite
SHOWSUBCATEGORYWrite
SOURCEWrite
TAPEWrite
TRACKWrite
TRACKYEARWrite
USERCATEGORYWrite
USERCOMMENTSWrite
VENDORCATEGORYWrite
VOLUMEWrite
SOURCEIDWrite
USERDATAWrite
NOTESWrite
DESCRIPTION *Write
Other <USER> keysPassthrough

* DESCRIPTION mirrors BWF Description, and is written only to files that already contain the key - round-trip preservation for tools that use it. It is never added to files that lack it.

iXML <STEINBERG> block (Nuendo / Cubase MediaBay)

Embedded <ATTR_LIST> block for round-trip with Steinberg DAWs.

ATTR <NAME>Action
MediaCategoryTypePassthrough
MediaRecordingMethodWrite
MediaCommentWrite
MediaRecordingLocationWrite
MediaTrackTitleWrite
MusicalInstrumentPassthrough
MediaArtistPassthrough
MusicalCategoryWrite
MediaCategoryPostWrite
MediaAlbumWrite
AudioSoundMixerWrite
MediaLibraryNameWrite
AudioSoundEditorWrite
MediaLibraryManufacturerNameWrite
MediaTemplateCategoryPassthrough
AudioEpisodePassthrough
MediaCompanyPassthrough
MusicalCharacterPassthrough
Unknown <ATTR> entriesPassthrough

iXML <ASWG> block (Sony ASWG iXML Extension v1.1)

Embedded inside the iXML chunk as a top-level <ASWG> block. Open standard (Sony PlayStation Studios Audio Standards Working Group). Tag names use camelCase per the ASWG spec.

ElementActionNotes
<schemaVersion>Auto"1.1"
<contentType>WriteSFX / Music / Dialogue / Ambience / Foley
<project>Write
<originator>Write
<originatorStudio>PassthroughPreserved if present from another tool
<notes>Write
<session>Write
<state>Writemastered / processed / raw / placeholder
<editor>Write
<mixer>Write
<fxChainName>Write
<channelConfig>Write
<micType>Write
<micConfig>PassthroughPreserved if present from another tool
<micDistance>Write
<recordingLoc>Write
<recEngineer>Write
<recStudio>Write
<isDesigned>PassthroughPreserved if present from another tool
<ambisonicFormat>WriteAmbiX / FuMa
<ambisonicChnOrder>WriteACN / FuMa
<ambisonicNorm>WriteSN3D / N3D / MaxN
<category>WriteUCS Category
<subCategory>WriteUCS SubCategory
<catId>WriteUCS CatID
<library>Write
<songTitle>Write
<isrcId>WriteInternational Standard Recording Code
<language>WriteBCP 47 language tag (e.g. en-US) for speech content
<fxName>Write
<userCategory>WriteUCS user-defined category
<userData>WriteUCS user data
<vendorCategory>WriteUCS vendor-defined category
<sourceId>WriteUCS source ID
<creatorId>WriteSFX creator / publisher

User-Defined Fields

Every library and studio has its own metadata conventions. WAVScribe includes the standard field set listed above. But what happens when those fields aren’t enough? Enter Custom Fields. WAVScribe allows you to add your own!

Custom Fields

Create as many custom fields as you need. Each field consists of a user-supplied display label and a derived key (the XML tag name written to disk). Custom fields are stored in the iXML <USER> block. This location is standard for this type of field.

Custom fields are intended primarily for use within WAVScribe. Other tools that read iXML may or may not preserve custom keys on round-trip. They typically won't display them in their main interface either, as they have no way of knowing what these unfamiliar keys mean. Some applications let you see a "raw" iXML metadata view, where these custom keys will also be visible.

BehaviorDetail
On-disk persistenceiXML <USER> block, as <USER_KEY>value</USER_KEY> child elements
Key derivationDisplay label converted to uppercase with spaces replaced by underscores; characters other than letters, digits, underscores, and hyphens are removed, and a key cannot begin with a digit or hyphen
Cross-tool behaviorPreservation by iXML-aware tools on round-trip is not guaranteed; display varies - most tools won't surface custom keys in their main UI
UI optionsEach field can be pinned to the main editor panel
Definition storageField definitions saved locally in custom_fields.json
Example: a custom field labeled "Field Recordist" persists on disk as <FIELD_RECORDIST>value</FIELD_RECORDIST> inside the iXML <USER> block.

_PMXXMP (Adobe XMP Specification Part 1)

Placement: single post-data chunk. The XMP specification does not mandate a position.

Standard XMP namespaces (always written when value present)

PropertyActionNotes
xmp:CreatorToolAuto"WAVScribe"
xmp:MetadataDateAutoISO 8601 with local TZ offset
xmp:ModifyDateAutoISO 8601 with local TZ offset
xmp:RatingWriteFloat 0.0–5.0 per Adobe convention
dc:descriptionWriteBWF Description mirror
dc:titleWriteSourced from Asset Title
dc:subjectWriteKeywords
xmpDM:genreWriteSourced from UCS Category
xmpDM:albumWriteSourced from CD Title
xmpDM:logCommentWriteSourced from Notes
xmpDM:commentWriteSourced from Notes

Other XMP namespaces

PropertyActionNotes
Unknown namespace properties (vendor extensions, xmpRights:, third-party tool namespaces, etc.)PassthroughPreserved verbatim across read / write; surface in Extended Metadata

LIST/INFORIFF INFO

Placement: pre-data, per RIFF convention.

Sub-chunkActionNotes
INAMWriteAsset title
IARTPassthroughArtist - preserved verbatim; surfaces in Extended Metadata
IKEYWriteKeywords
IGNRWriteGenre / UCS Category
IPRDWriteProduct / CD Title
ICMTWriteComment / BWF Description mirror
ICRDWriteCreation date / BWF Origination Date mirror
IARLPassthroughArchival location - preserved verbatim; surfaces in Extended Metadata
ISFTAuto"WAVScribe"
All other INFO sub-chunks (ICOP, IENG, ISBJ, ITCH, etc.)PassthroughPreserved verbatim

LIST/adtl (cue point labels): preserved on save.

ID3ID3v2.3 tag

Placement: single post-data chunk, consolidating any duplicate source tags. WAVScribe writes ID3v2.3; reads ID3v2.3 and ID3v2.4.

FrameActionNotes
TIT2WriteTitle - sourced from Asset Title
TPE1PassthroughLead Performer - preserved verbatim; surfaces in Extended Metadata
TIT3WriteSubtitle / Description Refinement - sourced from Notes
TALBWriteAlbum - sourced from CD Title
TCONWriteContent Type - sourced from UCS Category
TSRCWriteISRC
TDRCWriteRecording Time - sourced from BWF Origination Date
TYERWriteYear (ID3v2.3-era frame) - derived from BWF Origination Date
COMMWriteComment - sourced from BWF Description
POPMWritePopularimeter (rating)
APICWriteAttached Picture (artwork; JPEG / PNG)
TSSEAuto"WAVScribe"
All other frames (TXXX, PRIV, UFID, WXXX, GEOB, TIPL, TMCL, TPE2, TORY, etc.)PassthroughPreserved verbatim; surface in Extended Metadata

Legacy lowercase id3 chunk is consolidated to uppercase ID3 on save.

Other chunks preserved on save

WAVScribe never strips chunks it does not actively manage. The following are preserved verbatim through every read / write cycle:

ChunkActionNotes
cartRead-onlyAES46-2002 broadcast cart; full field display in Extended Metadata
cue PassthroughCue points
plstPassthroughPlaylist
smplPassthroughSampler data
instPassthroughInstrument data
LIST/adtlPassthroughCue point labels
factPassthroughCompressed-data sample count
ds64Passthrough64-bit size table (RF64 / BW64 container)
axmlPassthroughADM (Audio Definition Model) XML
chnaPassthroughADM channel arrangement
Vendor and third-party chunksPassthroughSurface in Extended Metadata

WAVScribe reads and writes metadata in RF64 / BW64 64-bit WAV files in addition to standard RIFF WAV.

Format references