Hi Aaron,
I think a figure is the best way to describe this one:
[image: image.jpeg]
import("stdfaust.lib");
process = si.bus(4) <: si.bus(8);
I think of it as repeating in "blocks", treating the source as a vector or
bus that needs repeating as a whole.
- Julius
On Fri, Dec 12, 2025 at 8:58 AM Aaron Krister Johnson <[email protected]>
wrote:
> Hello all,
>
> I was trying to wrap my head around a bit of documentation about split (
> <: ) and merge ( >: ) operators.
>
> I want to point out that the documentation for the split operator is
> misleading and incorrect. I verified it with ChatGPT here:
> https://chatgpt.com/share/693c44fe-3688-8004-a4ca-6a227aac7dd8
>
> The documentation reads:
>
>
>
>
>
>
>
>
>
>
>
> *Split CompositionThe split composition (e.g., A<:B) operator is used to
> distribute the outputs of A to the inputs of B.For the operation to be
> valid, the number of inputs of B must be a multiple of the number of
> outputs of A: outputs(A).k = inputs(B)Each input i of B is connected to
> the output i mod k of A: A[i mod k] → [i]B*
>
>
> But, it should read as so:
>
>
>
>
>
>
>
>
>
>
>
>
> *Split CompositionThe split composition (e.g., A<:B) operator is used to
> distribute the outputs of A to the inputs of B.For the operation to be
> valid, the number of inputs of B must be some multiple, k, of the number of
> outputs of A: outputs(A).k = inputs(B)Each input i of B is connected to
> the output i mod m of A, where m is the number of outputs of A: A[i mod
> m] → [i]B*
>
> *This gives the following output distributions chart, which intuitively
> tracks if we have 2 outputs going to 8 inputs, as an example:*
>
> i i mod m A[...] → B[i]
> *0* *0* * A0 → B0*
> *1* *1* * A1 → B1*
> *2 * *0* * A0 → B2*
> *3* *1* * A1 → B3*
> *4* *0* * A0 → B4*
> *5* *1* * A1 → B5*
> *6* *0* * A0 → B6*
> *7* *1* * A1 → B7*
> I think having this chart really goes a long way for illustrating what's
> actually happening.
>
> Similar documentation fixes are likely required for the merge operator.
>
> Aaron Krister Johnson
> Music, etc.:
> https://soundcloud.com/aaron-krister-johnson
> https://soundcloud.com/filtercreed
> https://www.youtube.com/channel/UC_utjGYbSizWE0dNyr0Vdmg
> https://aaronkristerjohnson.bandcamp.com/
> http://www.untwelve.org
> Code:
> https://github.com/akjmicro <http://www.untwelve.org>
> _______________________________________________
> Faudiostream-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/faudiostream-users
>
--
AI has taken my job, but only I know what it is.
_______________________________________________
Faudiostream-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/faudiostream-users