Enable the Audio Feature to decode / read with an offset + duration
MEMBER
Hi ! What about having audio + start + duration columns and enable something like this ?

```python
for example in ds:
    array = example["audio"].read(start=example["start"], frames=example["duration"])
```
2024-12-09T16:39:05Z
https://github.com/huggingface/datasets/issues/7310#issuecomment-2528639397
https://api.github.com/repos/huggingface/datasets/issues/7310
IC_kwDODunzps6Wt_ml
https://api.github.com/repos/huggingface/datasets/issues/comments/2528639397/reactions
2024-12-09T16:39:05Z
https://api.github.com/repos/huggingface/datasets/issues/comments/2528639397
https://avatars.githubusercontent.com/u/42851186?v=4
https://api.github.com/users/lhoestq/events{/privacy}
https://api.github.com/users/lhoestq/followers
https://api.github.com/users/lhoestq/following{/other_user}
https://api.github.com/users/lhoestq/gists{/gist_id}
https://github.com/lhoestq
lhoestq
MDQ6VXNlcjQyODUxMTg2
https://api.github.com/users/lhoestq/orgs
https://api.github.com/users/lhoestq/received_events
https://api.github.com/users/lhoestq/repos
https://api.github.com/users/lhoestq/starred{/owner}{/repo}
https://api.github.com/users/lhoestq/subscriptions
User
https://api.github.com/users/lhoestq
public
NONE
Hi @lhoestq, this would work with a file-based dataset but would be terrible for a sharded one as it would duplicate the large audio file many times. Also, very long audio files are not embedded very well in the parquet file, even with large_binary(). It crashed a few times for me until I switched to one sample == one file :-( 
2024-12-09T21:09:07Z
https://github.com/huggingface/datasets/issues/7310#issuecomment-2529465899
https://api.github.com/repos/huggingface/datasets/issues/7310
IC_kwDODunzps6WxJYr
https://api.github.com/repos/huggingface/datasets/issues/comments/2529465899/reactions
2024-12-09T21:09:46Z
https://api.github.com/repos/huggingface/datasets/issues/comments/2529465899
https://avatars.githubusercontent.com/u/11910731?v=4
https://api.github.com/users/TParcollet/events{/privacy}
https://api.github.com/users/TParcollet/followers
https://api.github.com/users/TParcollet/following{/other_user}
https://api.github.com/users/TParcollet/gists{/gist_id}
https://github.com/TParcollet
TParcollet
MDQ6VXNlcjExOTEwNzMx
https://api.github.com/users/TParcollet/orgs
https://api.github.com/users/TParcollet/received_events
https://api.github.com/users/TParcollet/repos
https://api.github.com/users/TParcollet/starred{/owner}{/repo}
https://api.github.com/users/TParcollet/subscriptions
User
https://api.github.com/users/TParcollet
public
### Feature request

For most large speech dataset, we do not wish to generate hundreds of millions of small audio samples. Instead, it is quite common to provide larger audio files with frame offset (soundfile start and stop arguments). We should be able to pass these arguments to Audio() (column ID corresponding in the dataset row).

### Motivation

I am currently generating a fairly big dataset to .parquet(). Unfortunately, it does not work because all existing functions load the whole .wav file corresponding to the row. All my attempts at bypassing this failed. We should be able to put in the Table only the bytes corresponding to what soundfile reads with an offset (and subset of the audio file). 

### Your contribution

I can totally test whatever code on my large dataset creation script. 