help@rskworld.in +91 93305 39277
RSK World
  • Home
  • Development
    • Web Development
    • Mobile Apps
    • Software
    • Games
    • Project
  • Technologies
    • Data Science
    • AI Development
    • Cloud Development
    • Blockchain
    • Cyber Security
    • Dev Tools
    • Testing Tools
  • Blog
  • About
  • Contact

Theme Settings

Color Scheme
Display Options
Font Size
100%
Back to Project
RSK World
environmental-sounds
/
examples
RSK World
environmental-sounds
Environmental Sound Dataset - Audio Classification + Sound Event Detection + Deep Learning + Machine Learning
examples
  • data_exploration.ipynb5.8 KB
data_exploration.ipynb
examples/data_exploration.ipynb
Raw Download
Find: Go to:
{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Environmental Sound Dataset - Data Exploration\n",
        "\n",
        "<!--\n",
        "Project: Environmental Sound Dataset\n",
        "Website: https://rskworld.in\n",
        "Founded by: Molla Samser\n",
        "Designer & Tester: Rima Khatun\n",
        "Email: help@rskworld.in\n",
        "Phone: +91 93305 39277\n",
        "-->\n",
        "\n",
        "This notebook demonstrates how to explore and analyze the Environmental Sound Dataset.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "import sys\n",
        "import os\n",
        "sys.path.append('..')\n",
        "\n",
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "from load_data import load_environmental_sounds, get_class_distribution\n",
        "from analyze import get_dataset_statistics\n",
        "\n",
        "# Set style\n",
        "plt.style.use('seaborn-v0_8')\n",
        "sns.set_palette(\"husl\")\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Load Dataset\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "# Load training data\n",
        "train_data, train_labels = load_environmental_sounds('train')\n",
        "print(f\"Loaded {len(train_data)} training samples\")\n",
        "print(f\"Number of classes: {len(set(train_labels))}\")\n",
        "print(f\"Classes: {set(train_labels)}\")\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Class Distribution\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "# Get class distribution\n",
        "class_dist = get_class_distribution(train_labels)\n",
        "\n",
        "# Visualize\n",
        "plt.figure(figsize=(12, 6))\n",
        "classes = list(class_dist.keys())\n",
        "counts = list(class_dist.values())\n",
        "\n",
        "plt.bar(classes, counts)\n",
        "plt.xlabel('Class')\n",
        "plt.ylabel('Number of Samples')\n",
        "plt.title('Class Distribution in Training Set')\n",
        "plt.xticks(rotation=45, ha='right')\n",
        "plt.tight_layout()\n",
        "plt.show()\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Dataset Statistics\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "# Get overall statistics\n",
        "stats = get_dataset_statistics()\n",
        "\n",
        "print(\"Dataset Statistics:\")\n",
        "print(f\"Total files: {stats['total_files']}\")\n",
        "print(f\"Total duration: {stats['total_duration']:.2f} seconds ({stats['total_duration']/60:.2f} minutes)\")\n",
        "print(f\"Average duration: {stats['avg_duration']:.2f} seconds\")\n",
        "print(f\"Min duration: {stats['min_duration']:.2f} seconds\")\n",
        "print(f\"Max duration: {stats['max_duration']:.2f} seconds\")\n",
        "print(f\"\\nClasses: {list(stats['classes'].keys())}\")\n",
        "print(f\"Formats: {stats['formats']}\")\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Audio Duration Analysis\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "import librosa\n",
        "\n",
        "# Calculate durations\n",
        "durations = []\n",
        "for audio in train_data:\n",
        "    durations.append(len(audio) / 22050)  # Assuming 22050 sample rate\n",
        "\n",
        "# Plot histogram\n",
        "plt.figure(figsize=(10, 6))\n",
        "plt.hist(durations, bins=50, edgecolor='black')\n",
        "plt.xlabel('Duration (seconds)')\n",
        "plt.ylabel('Frequency')\n",
        "plt.title('Distribution of Audio Durations')\n",
        "plt.axvline(np.mean(durations), color='r', linestyle='--', label=f'Mean: {np.mean(durations):.2f}s')\n",
        "plt.legend()\n",
        "plt.tight_layout()\n",
        "plt.show()\n",
        "\n",
        "print(f\"Mean duration: {np.mean(durations):.2f} seconds\")\n",
        "print(f\"Median duration: {np.median(durations):.2f} seconds\")\n",
        "print(f\"Std duration: {np.std(durations):.2f} seconds\")\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Feature Extraction Example\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "from load_data import prepare_features\n",
        "\n",
        "# Extract MFCC features\n",
        "features = prepare_features(train_data[:100], feature_type='mfcc', n_mfcc=13)\n",
        "\n",
        "print(f\"Feature shape: {features.shape}\")\n",
        "print(f\"Number of features per sample: {features.shape[1]}\")\n",
        "\n",
        "# Visualize feature distribution\n",
        "plt.figure(figsize=(12, 6))\n",
        "plt.imshow(features.T, aspect='auto', origin='lower', cmap='viridis')\n",
        "plt.colorbar(label='MFCC Value')\n",
        "plt.xlabel('Sample Index')\n",
        "plt.ylabel('MFCC Coefficient')\n",
        "plt.title('MFCC Features Visualization')\n",
        "plt.tight_layout()\n",
        "plt.show()\n"
      ]
    }
  ],
  "metadata": {
    "language_info": {
      "name": "python"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 2
}
196 lines•5.8 KB
json

About RSK World

Founded by Molla Samser, with Designer & Tester Rima Khatun, RSK World is your one-stop destination for free programming resources, source code, and development tools.

Founder: Molla Samser
Designer & Tester: Rima Khatun

Development

  • Game Development
  • Web Development
  • Mobile Development
  • AI Development
  • Development Tools

Legal

  • Terms & Conditions
  • Privacy Policy
  • Disclaimer

Contact Info

Nutanhat, Mongolkote
Purba Burdwan, West Bengal
India, 713147

+91 93305 39277

hello@rskworld.in
support@rskworld.in

© 2026 RSK World. All rights reserved.

Content used for educational purposes only. View Disclaimer