Discussion:
[Ardour-Dev] Interoperability and regions export feature implementation
Maxime Lecoq
2018-08-29 18:32:23 UTC
Permalink
Hi,

I currently faced the need to inter-operate with others /DAW/ (like
/Reaper/ and /Protools/) for music film mixing (cinema).
The solution our team used was to import/export stems (thanks to the
nice /Ardour/ export stems feature).
A downside of this solution is the size of the generated stems files
especially when you have to share them using Internet (using a 80KB/s
upload connexion!).

A smarter solution would be to export all regions to /BWF/ /wav/ files.
In our case, the size reduction gain was over 70%.
/BWF/ is well supported by /Ardour/, /Reaper/ and /Protools/.
(I can't find any /Cubase/ support for this feature).
Additional future/BW64///MBWF/ support would simply this operation.

As you certainly know, regions export can be achieve track by track in
the current /Ardour/ version (5.12, dev 6-pre0).
I'm now trying to develop an /Ardour/ feature allowing to do it all at once.
As I have seen, the infrastructure is already designed to receive such a
feature (Editor::export_region, ARDOUR::export_handler...).

Please let me know if someone is already working on this?
Also feel free to give me some advice to help me understand the involved
source code.
I have to make sequence diagrams to help me follow the execution flow.

About comments, I can't find so much in the source code.
Is there a particular reason for that?
May I comment/document (/Doxygen/) what I write directly in .cc files?

Best regards,
Maxime Lecoq.
Ed Ward
2018-08-30 09:04:38 UTC
Permalink
Hi Maxime,

correct me if I'm wrong but if your BWF files are smaller than the original WAV files, that is beacause of either a downsampling or an mpeg compression. Neither of these you want for your workflow.

You should rather look into FLAC export, or with a post-export script and if you are using floating point WAV files, WavPack.

Regards,
Edouard Saintesprit
________________________________
De : Ardour-Dev <ardour-dev-***@lists.ardour.org> de la part de Maxime Lecoq <***@wanadoo.fr>
Envoyé : mercredi 29 août 2018 20:32
À : ardour-***@lists.ardour.org
Objet : [Ardour-Dev] Interoperability and regions export feature implementation

Hi,

I currently faced the need to inter-operate with others DAW (like Reaper and Protools) for music film mixing (cinema).
The solution our team used was to import/export stems (thanks to the nice Ardour export stems feature).
A downside of this solution is the size of the generated stems files especially when you have to share them using Internet (using a 80KB/s upload connexion!).

A smarter solution would be to export all regions to BWF wav files.
In our case, the size reduction gain was over 70%.
BWF is well supported by Ardour, Reaper and Protools.
(I can't find any Cubase support for this feature).
Additional future BW64/MBWF support would simply this operation.

As you certainly know, regions export can be achieve track by track in the current Ardour version (5.12, dev 6-pre0).
I'm now trying to develop an Ardour feature allowing to do it all at once.
As I have seen, the infrastructure is already designed to receive such a feature (Editor::export_region, ARDOUR::export_handler...).

Please let me know if someone is already working on this?
Also feel free to give me some advice to help me understand the involved source code.
I have to make sequence diagrams to help me follow the execution flow.

About comments, I can't find so much in the source code.
Is there a particular reason for that?
May I comment/document (Doxygen) what I write directly in .cc files?

Best regards,
Maxime Lecoq.
Paul Davis
2018-08-30 11:33:07 UTC
Permalink
On Thu, Aug 30, 2018 at 5:04 AM, Ed Ward <***@hotmail.com> wrote:

> Hi Maxime,
>
> correct me if I'm wrong but if your BWF files are smaller than the
> original WAV files, that is beacause of either a downsampling or an mpeg
> compression. Neither of these you want for your workflow.
>

I believe that his point was that having a set of BWF's, 1 for each region,
with timestamps, would be less data than a set of WAVs, 1 for each track
(timestamps irrelevant since they all span the entire timerange).
Ed Ward
2018-08-30 12:40:08 UTC
Permalink
Oh Ok I get it ! Timestamping to replace empty WAV data chunks. My mistake !

Though it is worth noting that these empty WAV chunks are obviously very well compressed when converted to FLAC/WavPack for a quick "as-is" solution to the problem at hand.

Regards,
Edouard Saintesprit


________________________________
De : Paul Davis <***@linuxaudiosystems.com>
Envoyé : jeudi 30 août 2018 13:33
À : Ed Ward
Cc : Maxime Lecoq; ardour-***@lists.ardour.org
Objet : Re: [Ardour-Dev] Interoperability and regions export feature implementation



On Thu, Aug 30, 2018 at 5:04 AM, Ed Ward <***@hotmail.com<mailto:***@hotmail.com>> wrote:
Hi Maxime,

correct me if I'm wrong but if your BWF files are smaller than the original WAV files, that is beacause of either a downsampling or an mpeg compression. Neither of these you want for your workflow.

I believe that his point was that having a set of BWF's, 1 for each region, with timestamps, would be less data than a set of WAVs, 1 for each track (timestamps irrelevant since they all span the entire timerange).
Maxime Lecoq
2018-08-31 15:29:13 UTC
Permalink
Le 30/08/2018 à 14:40, Ed Ward a écrit :
> Oh Ok I get it ! Timestamping to replace empty WAV data chunks. My
> mistake !
>
> Though it is worth noting that these empty WAV chunks are obviously
> very well compressed when converted to FLAC/WavPack for a quick
> "as-is" solution to the problem at hand.
>
> Regards,
> Edouard Saintesprit
>
>
> ------------------------------------------------------------------------
> *De :* Paul Davis <***@linuxaudiosystems.com>
> *Envoyé :* jeudi 30 août 2018 13:33
> *À :* Ed Ward
> *Cc :* Maxime Lecoq; ardour-***@lists.ardour.org
> *Objet :* Re: [Ardour-Dev] Interoperability and regions export feature
> implementation
>  
>
>
> On Thu, Aug 30, 2018 at 5:04 AM, Ed Ward <***@hotmail.com
> <mailto:***@hotmail.com>> wrote:
>
> Hi Maxime, 
>
> correct me if I'm wrong but if your BWF files are smaller than the
> original WAV files, that is beacause of either a downsampling or
> an mpeg compression. Neither of these you want for your workflow.
>
>
> I believe that his point was that having a set of BWF's, 1 for each
> region, with timestamps, would be less data than a set of WAVs, 1 for
> each track (timestamps irrelevant since they all span the entire
> timerange).
>  
>
>
> _______________________________________________
> ardour-dev mailing list
> ardour-***@lists.ardour.org
> http://lists.ardour.org/listinfo.cgi/ardour-dev-ardour.org

Paul is right, 1 /BWF/ for each region.

I have something that does export the selected regions but I wasn't able
to use properly the dedicated export /API/.
The reason is that /API/ only allows to have the same time-spans for a
set of channels.
In the case of regions, we need different time-spans for each track.

The current solution iterates over the selected regions and calls the
/ExportRegionDialog/ stuff without the dialog being showed.

In my opinion, a better solution would be to write a dedicated /API/ for
exporting multiple regions without breaking the current export /API/ (by
calling /ARDOUR::ExportHandler/ methods).
But this seems to add unnecessary complexity and could lead to make the
export system very hard to use, understand and enhance.

I believe the best solution would be to implement multiple time-spans
per channel but this seems to lead to redesign the whole export /API/
(or a big part of it).
Loading...