Skip to content

TerX2/openenf-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenENF (Web Edition)

This project is an unofficial web-based refactor of the original OpenENF Command Line Tool. It provides a browser interface while utilizing the algorithms and lookup server developed by Chris Hodges. The refactoring from CLI tool to web-app was achieved using assistance from AI, since I'm not really familiar with C# or advanced Next.

Prerequisites

  • Node.js (v18 or higher)
  • .NET SDK (v6.0 or higher, required to run the C# lookup server)

Getting Started

  1. Clone the repository

  2. Install dependencies: First, install the root dependencies (which uses concurrently to manage both servers):

    npm install

    Then, navigate to the web directory and install the Next.js dependencies:

    cd web
    npm install
    cd ..
  3. Start the application: Run the following command from the root directory. This will simultaneously start both the Next.js frontend and the C# lookup server:

    npm run dev
  4. Download the Databases (First Run Only): Navigate to http://localhost:3000 in your web browser. Upon your first visit, the app will notify you that the ENF databases are missing. Click Download Databases and wait for the progress bar to reach 100%.

  5. Restart the Server: Once the download is complete, return to your terminal, stop the application (Ctrl + C), and run npm run dev again. The C# server will now load the newly downloaded data into memory, and you are ready to go!

Usage

  1. Select electrical grids: Select Europe (DE) for the Central European Grid which covers the majority of countries in Europe. Select Great Britain (GB) for the Great British grid (excluding Northern Ireland). Select both if unsure about the specific region.

  2. Select timeframe filter: The timeframe filter is optional, but speeds up analysis by a lot.

  3. Select a media file: Select the audio or video file that you want to analyse (.wav, .mp3, .mp4 or .mov)

  4. Start analysing

License & Credits

This project is licensed under the GNU General Public License v3.0 (GPL-3.0), in strict accordance with the original project. Open source must remain open source.

  • Original Algorithm & CLI: All credit for the mathematical algorithms, the adaptive Goertzel implementation, the C# lookup server, and the original TypeScript logic goes to Chris Hodges.
  • The original CLI repository can be found here: openenf/openenf.

About

A web-based refactor of OpenENF, a tool for Electrical Network Frequency (ENF) analysis. Extract power grid hums from audio files for digital forensics and timestamping.

Topics

Resources

License

Stars

Watchers

Forks

Contributors