WavEncoder Pythorch支持的音频编码器

wavencoder的Python项目详细描述


Twitter Follow

波编码器

WavEncoder是一个Python库,用于使用Pythorch后端对原始音频进行编码。在

要添加的Wav型号

  • [x] wav2vec[1]
  • []wav2vec2[2]
  • [x] 新闻网[3]
  • []PASE[4]
  • []莫金杰[5]
  • []罗网[6]
  • []CNN-1D
  • []CNN-LSTM
  • []CNN LSTM收件人
  • []CNN变压器

检查Demo Colab Notebook。在

安装

使用包管理器pip安装wavencoder。在

pip install fairseq
pip install wavencoder

使用

输入分类编码器模型<3> ^{pr2}$

将wavencoder与Pythorch顺序或类模块一起使用

importtorchimporttorch.nnasnnimportwavencodermodel=nn.Sequential(wavencoder.models.Wav2Vec(),wavencoder.models.LSTM_Attn_Classifier(512,64,2))x=torch.randn(1,16000)# [1, 16000]y_hat,attn_weights=model(x)# [1, 2], [1, 98]
importtorchimporttorch.nnasnnimportwavencoderclassAudioClassifier(nn.Module):def__init__(self):super(AudioClassifier,self).__init__()self.encoder=wavencoder.models.Wav2Vec(pretrained=True)self.classifier=nn.Linear(512,2)defforward(self,x):z=self.encoder(x)z=torch.mean(z,dim=2)out=self.classifier(z)returnoutmodel=AudioClassifier()x=torch.randn(1,16000)# [1, 16000]y_hat=model(x)# [1, 2]

训练编码器分类器模型

fromwavencoder.modelsimportWav2Vec,LSTM_Attn_Classifierfromwavencoder.trainerimporttrain,test_evaluate_classifier,test_predict_classifiermodel=nn.Sequential(Wav2Vec(pretrained=False),LSTM_Attn_Classifier(512,64,2))trainloader=...valloader=...testloader=...trained_model,train_dict=train(model,trainloader,valloader,n_epochs=20)test_prediction_dict=test_predict_classifier(trained_model,testloader)

贡献

欢迎拉取请求。对于重大变化,请先打开一个问题,讨论您希望更改的内容。在

请确保根据需要更新测试。在

许可证

MIT

参考文献

PaperCode
[1]Wav2Vec: Unsupervised Pre-training for Speech RecognitionGitHub
[2]Wav2vec 2.0: Learning the structure of speech from raw audioGitHub
[3]Speaker Recognition from Raw Waveform with SincNetGitHub
[4]Learning Problem-agnostic Speech Representations from Multiple Self-supervised TasksGitHub
[5]Mockingjay: Unsupervised Speech Representation Learning with Deep Bidirectional Transformer EncodersGitHub
[6]Improved RawNet with Feature Map Scaling for Text-independent Speaker Verification using Raw WaveformsGitHub

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在Java中创建固定大小的泛型数组?   javascript Paypal Braintree订阅付款   使用BufferedReader和PrintWriter实现java数据持久化?   类似于iCloud的java唯一google id   java使用网格布局和抓取组合框   java我的while循环无限运行,当我检查它时,它说while循环没有主体,而我认为它显然没有主体   java LWJGL碰撞3D OpenGL   java将Tibco RV切换到WebSphere MQ?   java如何使用Postman从curl发布REST   java是超级的,在通用通配符中是独占的吗?   在swing 1.5中,java在指定时间后自动关闭非模态对话框   java PrimeFaces饼图在JSF 2.0中不显示   java如何在Spring MVC中提供带有xml配置的默认bean实现?   java在eclipse中使用按钮关闭JFrame   java Sqoop jar已弃用   Java中的Getter方法