Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP]Add speaker recognition example #5327

Open
wants to merge 13 commits into
base: dev-static
Choose a base branch
from

Conversation

KPatr1ck
Copy link
Contributor

@KPatr1ck KPatr1ck commented Jul 20, 2021

PR types

New feature

PR changes

dataset, model, example

Describe

  • Model:
    • Add ECAPA-TDNN model
  • Datasets:
    • Add VoxCeleb1 dataset
    • Add OpenRIRNoise dataset
    • Update api usage in other datasets
  • Data Augment
    • Add on the fly data augment
  • Loss
    • Add Additive Angular Margin Loss
  • Scripts
    • Add training script of speaker identification
    • Add speaker verification and EER evaluation

@ZeyuChen
Copy link
Member

@KPatr1ck any update?

@KPatr1ck
Copy link
Contributor Author

@KPatr1ck any update?

数据集,模型,loss,训练和预测脚本已齐。
全量数据在训练对齐中。

@KPatr1ck KPatr1ck marked this pull request as ready for review July 21, 2021 12:29
@KPatr1ck
Copy link
Contributor Author

@ZeyuChen @ranchlai
Doc string持续补齐中,model、dataset、训练预测脚本可以先reivew一波~

@ZeyuChen ZeyuChen self-assigned this Jul 25, 2021
@ZeyuChen ZeyuChen requested a review from ranchlai July 25, 2021 16:37
for fc in self.blocks:
x = fc(x)

# KP: W和x的向量归一化,输出为余弦相似度,供Additive Angular Margin计算loss
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

使用标准的注释
# NOTE(xxxxxgithuid or username): blabla

return 10**(SNR / 20)


def convolve1d(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

convolved1d和conv1d的区别是什么?

return (hlpf + hhpf).reshape([1, -1, 1])


def reverberate(waveforms,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

参考SpeechBrain看这些基础function是否有注释


id2embedding_norm.update(dict(zip(ids, embeddings)))

# Score normalization based on trainning samples.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

trainning -> training

__all__ = ['OpenRIRNoise']


class OpenRIRNoise(Dataset):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need more comments for dataset source

__all__ = ['VoxCeleb1']


class VoxCeleb1(Dataset):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More dataset source comments.

return x + residual


class ECAPA_TDNN(nn.Layer):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move this model implementation to examples if without pretrained weight.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants