-
Notifications
You must be signed in to change notification settings - Fork 243
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
Term list /glossary #652
Comments
I notice myself referring to the later step in a pipeline as 'the source above it'. So that might work too. And I also sometimes call it the outer source. |
Something I found confusing when I was first working with the types was the use of the word "frame" in functions like rodio's sense of the word "frame" is more like what CoreAudio would call a "buffer" or ADM would call a "block", a contiguous array of frames from one read operation, or transaction, or whatever. It might help to clarify that. |
Yes, I thought of renaming "frame" methods as well. Replacing "frame" with "chunk", "run", or "span". But "chunk" usually refers to some small contained piece, and in rodio's use it can be even the whole track. And "run" is too overloaded. So maybe it can be a "span". |
What causes a break in frames currently?
|
We probably should not care what changes format, only need to delimit uniform and varying sources. |
yeah I do not mind this rename. Most rodio users do not seem to implement their own Source's so they should not be affected. We should very carefully document this and really get started on a porting guide since this can confuse ppl a lot 😅 . |
@iluvcapra Media containers may a series of pieces with differing encodings - those are external sources. |
It seems everyone here is on board with the follow changes right?
|
Regarding the audio pipeline I have an idea, no idea if its good or bad. We could make a split into transforming sources (no idea what we would call those) and generating sources lets keep calling the Source. Methods like inner_mut() would become part of transforming sources. |
I was also wondering what a good word for the processing step would be. Calling function that converts inputs into outputs a "source" seems confusing to me. I'd called it "filter" but then there should be a word denoting any node in the pipeline, since mentioning "sources and filters" every time would be cumbersome. |
This is good to me. I'm still kinda confused about the contracts around "spans", like does a source HAVE to give prior warning for the end of a span, does a span HAVE to be a break in sample rate, channel count, etc. or can it just be client's choice?
This helps a lot I think.
The way I've seen this done in other places is there's a Source interface, a Sink interface, and a type that implements both is a filter; types that implement just the former are generators, instruments, whatever; types that implement just the latter are outputs to the host audio system, write files, render visualizations... |
Yes, a span has a fixed length that must be known up front.
It does not have to change but you are only allowed to change channel count or sample rate when starting a new span. |
Rodio has more contributors 🎉 and the maintenance team is growing stronger 🥳. Communication and documentation efforts are harder then they have to be because we do not have words for every concept in rodio.
My goal is to build a glossary (specialized term list) and make that part of the documentation. We could make the docs link to that glossary each time one of its specialized terms is used.
It seems most urgent to get some words around the audio... pipelines?:
what do we call each of these steps and how they relate to each-other?
Lets give the steps names so we can discuss this more easily:
This is an audio pipeline, but it could also be an audio tree (if we introduce mix). I think we need a words for
Sink
struct.The text was updated successfully, but these errors were encountered: