Following our discussions about reorganizing our raw data and processed stuff, it seems that osekit could benefit a new and gloomy detached mode (or whatever we should call it).
🛰️ What's detached mode?
When you're working with the Public API, right now you have to touch your original audio data in some way when you build the project (by either building the project directly in the original audio folder, or using build_from_files to move/copy your original audio data in your project directory.
Now, close your eyes and imagine a world where you could just create a project by pointing to the original audio data (or, even better, an audiodataset.json file that describes it) without touching it in any way. It would unlock:
- Storing all your raw data in a specific folder and all your "process" projects somewhere else
- Processing data from remote servers in osekit projects that are stored locally (or nowhere near the original data folders)
Wouldn't it be like living a dream?
🕵️ Some preliminary discussion points
The 2 main concerns that pop in my head are:
- If the
audio_dataset.json for the project original files doesn't exist: how do we expose a way to do so in the public API ?
- Since all paths in the osekit JSON files are now relative to the json file path, how would we work around detached projects which original files are on a different disk?
🔧 How it would work
I don't know yet the details of the implementation I would make, but I guess it would be some simple new parameters/methods.
It could be look like something like this if the audio_dataset.json file doesn't exist yet
project.build_from_files(
...,
detached = True,
original_ads_json_path = Path(...) # would create an AudioDataset JSON file representing the files at this adress
)
Or more easily something like this if the original audio dataset already have been parsed with osekit and exported to a json file:
project.build_detached(
original_ads_json = Path(...)
)
Following our discussions about reorganizing our raw data and processed stuff, it seems that osekit could benefit a new and gloomy detached mode (or whatever we should call it).
🛰️ What's detached mode?
When you're working with the Public API, right now you have to touch your original audio data in some way when you build the project (by either building the project directly in the original audio folder, or using
build_from_filesto move/copy your original audio data in your project directory.Now, close your eyes and imagine a world where you could just create a project by pointing to the original audio data (or, even better, an
audiodataset.jsonfile that describes it) without touching it in any way. It would unlock:Wouldn't it be like living a dream?
🕵️ Some preliminary discussion points
The 2 main concerns that pop in my head are:
audio_dataset.jsonfor the project original files doesn't exist: how do we expose a way to do so in the public API ?🔧 How it would work
I don't know yet the details of the implementation I would make, but I guess it would be some simple new parameters/methods.
It could be look like something like this if the
audio_dataset.jsonfile doesn't exist yetOr more easily something like this if the original audio dataset already have been parsed with osekit and exported to a json file: