RICHARD WALKER
2012-05-30 21:03:58 UTC
In normal use the peak files generated for clips are not expected to
exceed about one eighth of the size of a 16bit 44.1 kHz clip.
Over a certain critical clip size, however, the peak file size just
grows and grows to many times the size of the source clip file.
Using a default build of non-daw from the "next" branch I have
determined the critical limits for stereo and mono files. These are a
touch more than 6.5 minutes for stereo and about 13 minutes for mono.
At Jonathan's suggestion I also experimented with changes to
Peaks::cache_levels in the file timeline/src/Engine/Peaks.C which has
a default value of 8. Repeating my tests with values of 7 to 3
resulted in an approximate doubling of the "critical" clip size with
each change.
The numbers seemed to be unremarkable until I converted them to
hexadecimal. For 16 bit 44.1 kHz stereo clips the results were:
Cache Level Stereo samples Peak file size Approx Len. (h:m:s)
8 0106FFFF 0081BFC0 0:06:30.84
7 0205FFFF 00E14FC8 0:12:49.79
6 0404FFFF 0180EFD0 0:25:29.17
5 0803FFFF 02809FD8 0:50:49.43
4 1002FFFF 04005FE0 1:41:31.43
3 2001FFFF 06002FE8 3:22:56.92
The results for mono clips were comparable in a crazy kind of way:
Cache Level Mono samples Peak file size Approx Len. (h:m:s)
8 020D80FF 0081B848 0:13:00.94
7 040BC0FF 00E14C40 0:25:39.21
6 0809E0FF 0180EE38 0:50:58.17
5 1007F0FF 02809F30 1:41:38.77
4 2005F8FF 04005FA8 3:23:02.82
3 4003FCFF 06002FE0 6:46:53.81
The mono and stereo test files for each level are very approximately
the same size as one stereo sample is the size of two mono samples (32
bits).
So, I think I will run with a value of 5 and see what that will mean
to the operation of non-daw. I don't really understand the purpose or
structure of the peaks file, beyond that it has something to do with
drawing the waveform on the time line, Should I be expecting the
screen draws to be unacceptably sluggish at high zoom levels? I don't
know yet, but I suppose I'll find out soon.
Richard
exceed about one eighth of the size of a 16bit 44.1 kHz clip.
Over a certain critical clip size, however, the peak file size just
grows and grows to many times the size of the source clip file.
Using a default build of non-daw from the "next" branch I have
determined the critical limits for stereo and mono files. These are a
touch more than 6.5 minutes for stereo and about 13 minutes for mono.
At Jonathan's suggestion I also experimented with changes to
Peaks::cache_levels in the file timeline/src/Engine/Peaks.C which has
a default value of 8. Repeating my tests with values of 7 to 3
resulted in an approximate doubling of the "critical" clip size with
each change.
The numbers seemed to be unremarkable until I converted them to
hexadecimal. For 16 bit 44.1 kHz stereo clips the results were:
Cache Level Stereo samples Peak file size Approx Len. (h:m:s)
8 0106FFFF 0081BFC0 0:06:30.84
7 0205FFFF 00E14FC8 0:12:49.79
6 0404FFFF 0180EFD0 0:25:29.17
5 0803FFFF 02809FD8 0:50:49.43
4 1002FFFF 04005FE0 1:41:31.43
3 2001FFFF 06002FE8 3:22:56.92
The results for mono clips were comparable in a crazy kind of way:
Cache Level Mono samples Peak file size Approx Len. (h:m:s)
8 020D80FF 0081B848 0:13:00.94
7 040BC0FF 00E14C40 0:25:39.21
6 0809E0FF 0180EE38 0:50:58.17
5 1007F0FF 02809F30 1:41:38.77
4 2005F8FF 04005FA8 3:23:02.82
3 4003FCFF 06002FE0 6:46:53.81
The mono and stereo test files for each level are very approximately
the same size as one stereo sample is the size of two mono samples (32
bits).
So, I think I will run with a value of 5 and see what that will mean
to the operation of non-daw. I don't really understand the purpose or
structure of the peaks file, beyond that it has something to do with
drawing the waveform on the time line, Should I be expecting the
screen draws to be unacceptably sluggish at high zoom levels? I don't
know yet, but I suppose I'll find out soon.
Richard