An implementation of ERANNs (Efficient Residual Audio Neural Networks for Audio Pattern Recognition), built using the Keras API from TensorFlow.
This architecture is based on the article "ERANNs: Efficient residual audio neural networks for audio pattern recognition", published in Pattern Recognition Letters.
I sincerely thank and acknowledge the authors of the original work β Sergey Verbitskiy, Vladimir Berikov, and Viacheslav Vyshegorodtsev β for their valuable contribution to the field. This implementation closely follows the architectural details presented in their publication.
Clone this repository and install the package locally using pip:
git clone https://github.com/Matheuao/ERANNs.git
cd ERANNS
pip install .Requirements: Python β₯ 3.6, TensorFlow β₯ 2.4.0
If you're using a platform like Kaggle Notebooks, you can also install directly within a cell:
!git clone https://github.com/Matheuao/ERANNs.git
!pip install ./ERANNSOnce installed, you can import and instantiate the ERANNs model as follows:
from eranns import ERANNs
# Create an ERANNs model with sm=2, W=4, and 527 output classes
model = ERANNs(sm=2, W=4, T0=128, N=527)
model.summary()The ERANNs() function accepts the following parameters:
| Parameter | Description |
|---|---|
sm |
Stride mode that controls temporal/frequency resolution |
W |
Base width multiplier for the number of filters in each stage |
T0 |
Temporal input dimension (default: 128) |
N |
Number of output classes (default: 527) |
ERANNs/
βββ eranns/
β βββ __init__.py # Main interface
β βββ layers.py # ARB block implementation
β βββ model.py # ERANNs architecture definition
βββββββ data/
| βββ__init__.py # Main interface
| βββesc_50.y # Train dataset pipeline
| βββesc_50_augmented.py # Train dataset pipeline with data augmentation(still in development)
βββ setup.py # Package setup script
βββ requirements.txt # Dependencies
βββ README.md # This file
This project is licensed under the MIT License.
Contributions are welcome! If you have suggestions or encounter issues, feel free to open a GitHub Issue or submit a pull request.