Skip to content

feat(transcript-cleaner): add transcript cleaning feature with custom vocabulary #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

pablof7z
Copy link
Contributor

No more "I have this idea for a noster app"

(or maybe I should just learn to speak eng... nah, this is easier)

@dergigi
Copy link
Owner

dergigi commented Apr 16, 2025

Ok, so this is basically the same "hack" I use to clean up the TODOs and thus go from messy action_items to clean TODO:

https://github.com/dergigi/vibeline/blob/master/src/post_process.py#L55-L83

Conceptually, that should probably be either:

  1. Its own plugin
  2. Part of the general "post-processing" step
  3. (Or each plugin might have its own post-processing step, as introduced with command:)

I'm afraid that if we don't get this right (conceptually) now, it will get out of hand soon. Either each plugin has MCP tools and can just do stuff, or we have a dedicated post-processing for each plugin that can execute a script or binary.

In the best case, plugins have defined input and output folders and (almost) everything is a plugin, including transcription.

name: transcript
input: /VoiceMemos/*.m4a
output: /VoiceMemos/transcripts # no need to specify, because pluralization is the default
name: transcript-cleaner
input: /VoiceMemos/transcripts
output: /VoiceMemos/transcripts

All of the above is pseudo-code obviously, but you get the idea.

With the input/output stuff we could do post-processing in a plugin-native way, e.g.

name: TODOs
input: /VoiceMemos/action_items
output: /VoiceMemos/TODOs

I'll have to think about this some more & better explain what I have in mind.

There is a way to do this that is extensible and flexible, without going down the configuration path, and without making things terribly complicated.

Stuff should be simple. Hmm.

@pablof7z
Copy link
Contributor Author

Yes. Agreed.

I think ideally you would be able to drop an input in any output and have that output processed by whatever is listening for new inputs in that directory. If we have that then yeah, the transcription cleaning feature can easily be a plugin and plugins can choose whether to just use input: /VoiceMemos/clean_transcript or they could choose to use pre-cleaned version.

The reason I put it as part of the pipeline before calling the plugins is that it's very likely that all plugins want the clean output, i.e. I don't want "Noster" on any plugin's input, if I said "nostr" they should all see it as such.

An architecture where plugins are listening to arbitrary input directories would be amazing; for example you could have a plugin that reacts to you marking an action_item as complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants