その場合、たとえば全部メモリに乗せるなら
struct Sound {
channels: u8,
len: Duration,
repeat: bool,
waveform: Vec<u8>,
}
みたいになると思うし、最終的に生データは Vec<u8> とかそういう感じになるから命名する必要がない。
で、外側の「メタデータ含む」型自体が Sound になる
ここで SoundInfo と SoundData に分けたうえで Sound を作るようなことは私はあまりしないですね……
まあコンパイル時間の最適化みたいな理由があるとまた話は変わってくるけど