Views
No views yet
1import torch
2import torchaudio
3from transformers import AutoModel
4
5device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
6model = AutoModel.from_pretrained(
7 "wsntxxn/cnn8rnn-laionclap-audiocapsv2-grounding",
8 trust_remote_code=True
9).to(device)
10
11wav1, sr1 = torchaudio.load("/path/to/file1.wav")
12wav1 = torchaudio.functional.resample(wav1, sr1, model.config.sample_rate)
13wav1 = wav1.mean(0) if wav1.size(0) > 1 else wav1[0]
14
15wav2, sr2 = torchaudio.load("/path/to/file2.wav")
16wav2 = torchaudio.functional.resample(wav2, sr2, model.config.sample_rate)
17wav2 = wav2.mean(0) if wav2.size(0) > 1 else wav2[0]
18
19wav_batch = torch.nn.utils.rnn.pad_sequence([wav1, wav2], batch_first=True).to(device)
20
21text = ["a man speaks", "a dog is barking"]
22
23with torch.no_grad():
24 output = model(
25 audio=wav_batch,
26 audio_len=[wav1.size(0), wav2.size(0)],
27 text=text
28 )
29 # output: (2, n_seconds * 25)1@article{xu2024towards,
2 title={Towards Weakly Supervised Text-to-Audio Grounding},
3 author={Xu, Xuenan and Ma, Ziyang and Wu, Mengyue and Yu, Kai},
4 journal={arXiv preprint arXiv:2401.02584},
5 year={2024}
6}