Skip to content

Detached Project mode #492

Description

@Gautzilla

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(...)
)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

FeatureA new feature to add to OSEkit

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions