You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
__len_entry_bytes__ identifies how many bytes each waveform preview entry takes up; for this kind of tag it always has the value 3.
644
+
__len_entries__ specifies how many entries are present in the tag.
645
+
The three-band waveform preview data begins at byte{nbsp}``14`` and is 3,600 (decimal) bytes long, representing 1,200 columns of waveform preview information.
646
+
647
+
The three-band waveform preview entries are one-byte height values representing the mid-range, high, and low frequencies, in that order.
648
+
There is some scaling involved, and they seem to be drawn stacked on top of each other, with the lows in dark blue, the mid-range in amber, and the highs in white.
649
+
650
+
[[three-band-detail]]
651
+
=== Waveform 3-Band Detail Tag
652
+
653
+
This kind of section holds a variable-width and much larger three-band rendition of the track waveform, introduced with the CDJ-3000 (and also used in rekordbox), which scrolls along while the track plays, giving a detailed glimpse of the neighborhood of the current playback position.
654
+
This is stored in the second extended analysis file (with extension `.EXT`).
655
+
It is identified by the four-character code `PWV5` and has the structure shown below. __len_header__ is `18`.
__len_entry_bytes__ identifies how many bytes each waveform detail entry takes up; for this kind of tag it always has the value 3.
670
+
__len_entries__ specifies how many entries are present in the tag.
671
+
Each entry represents one <<djl-analysis:ROOT:track_metadata.adoc#frames,half-frame>> of audio data, and there are 75 frames per second, so for each second of track audio there are 150 waveform detail entries.
672
+
The purpose of the header bytes{nbsp}``14``-`17` is unknown; they may always have the value `00960000`.
673
+
The three-band waveform detail entries begin at byte{nbsp}``18``.
674
+
675
+
Three-band detail entries have the same structure preview entries, one-byte height values representing the mid-range, high, and low frequencies, in that order.
676
+
There is a different kind of scaling involved in drawing these, and it seems to be non-linear.
677
+
We have not yet found an approach that matches what we see in rekordbox.
678
+
The colors for low, mid-range, and high frequencies are the same as in the preview, but they are drawn on the same axis rather than being stacked.
679
+
The area where low and mid-range frequencies overlap is drawn in brown, and their pure colors are seen where there is no overlap.
680
+
The white high frequency is drawn last so it obscures any low or mid-range information underneath it.
681
+
Recordbox actually seems to do some light blending, but it is so dim that we have not bothered to reproduce it so far.
682
+
621
683
[[song-structure-tag]]
622
684
=== Song Structure Tag
623
685
@@ -670,7 +732,7 @@ on its analysis of the audio.
670
732
The value 1 is a “high” mood where the phrase types consist of
671
733
“Intro”, “Up”, “Down”, “Chorus”, and “Outro”. Other values in each
672
734
phrase entry cause the intro, chorus, and outro phrases to have their
673
-
labels subdivided into styes “1” or “2” (for example, “Intro 1”), and
735
+
labels subdivided into styles “1” or “2” (for example, “Intro 1”), and
674
736
“up” is subdivided into style “Up 1”, “Up 2”, or “Up 3”. See the
675
737
<<phrase-labels,table below>> for an expanded version of this
0 commit comments