tphakala/birdnet-pi2go

BirdNET-Pi2Go is a data migration tool designed to facilitate the conversion of BirdNET-Pi database contents and audio files to the BirdNET-Go data model.

21

stars

51

commits

Go

primary language

Jul 29, 2026

updated

birdnet
birdnet-go
birdnet-pi
conversion
Browse cluster: BirdNET Wildlife Audio Analysis

README

🐦 BirdNET-Pi2Go (Deprecated)

[!WARNING] This project is deprecated and should no longer be used.

BirdNET-Go now includes built-in BirdNET-Pi import functionality. You can import your BirdNET-Pi database and audio files directly from the BirdNET-Go web interface by navigating to System > Import/Export.

🌟 Overview

BirdNET-Pi2Go is a data migration tool designed to facilitate the conversion of BirdNET-Pi database contents and audio files to the BirdNET-Go data model. This utility ensures seamless transition between the two systems while maintaining your valuable bird detection data.

✨ Features

  • 🔄 Database Conversion: Migrates BirdNET-Pi SQLite database to BirdNET-Go format
  • 📁 Audio File Transfer: Supports copying or moving audio recordings to BirdNET-Go directory structure
  • 🔀 Flexible Operations: Choose between copying files (preserving originals) or moving files (saving space)
  • 💾 Disk Space Verification: Automatically checks for sufficient storage before starting transfers
  • Skip Audio Option: Option to migrate database only, without transferring audio files
  • 🔄 Merge Support: Ability to merge existing BirdNET-Go database with migrated data

📋 Requirements

  • 🖥️ Go 1.21 or newer for building from source
  • 📂 Access to BirdNET-Pi and BirdNET-Go file systems

🚀 Getting Started

🔨 Building

To build BirdNET-Pi2Go from source:

git clone https://github.com/tphakala/birdnet-pi2go.git
cd birdnet-pi2go
go build

📝 Usage Guide

After building, run BirdNET-Pi2Go with various flags to customize your migration:

./birdnet-pi2go -source-db <path_to_birdnet_pi_db> -target-db <path_to_birdnet_go_db> -source-dir <path_to_birdnet_pi_audio_files> -target-dir <path_to_birdnet_go_audio_files> -operation <copy|move> -skip-audio-transfer <true|false>

🎛️ Command Options

FlagDescriptionDefault
-source-dbPath to BirdNET-Pi SQLite databasebirds.db
-target-dbPath to BirdNET-Go SQLite database (will be created)birdnet.db
-source-dirPath to BirdNET-Pi BirdSongs directory(required for file transfer)
-target-dirPath to BirdNET-Go clips directoryclips
-operationFile transfer mode: copy or movecopy
-skip-audio-transferSkip audio file transfer (true or false)false

⚠️ Note: Target database should not exist - it will be created during migration.

🧪 Examples

Basic migration with file copying:

./birdnet-pi2go -source-db birds.db -target-db birdnet.db -source-dir ~/birdnetpi/BirdSongs -target-dir clips -operation copy

Migrate database only (no audio files):

./birdnet-pi2go -source-db birds.db -target-db birdnet.db -skip-audio-transfer true

Move files instead of copying (saves disk space):

./birdnet-pi2go -source-db birds.db -target-db birdnet.db -source-dir ~/birdnetpi/BirdSongs -target-dir clips -operation move

Merge existing databases:

./birdnet-pi2go -source-db birds.db -target-db birdnet.db -operation merge

📊 Data Handling

BirdNET-Pi2Go carefully preserves your detection data while converting between formats:

  • 🔍 Detection records are mapped to BirdNET-Go's Note structure
  • 🔊 Audio filenames are standardized according to BirdNET-Go conventions
  • 🗂️ File organization follows BirdNET-Go's year/month directory structure

⚠️ Disclaimer

This tool is provided 'AS IS', without warranty of any kind. Please ensure you have backed up your data before using this tool. The developers are not responsible for any loss of data.

📜 License

MIT

Contributors

tphakala

28 commits

tomiphakala

13 commits

cameronr

3 commits

tphakala/birdnet-pi2go

BirdNET-Pi2Go is a data migration tool designed to facilitate the conversion of BirdNET-Pi database contents and audio files to the BirdNET-Go data model.

21

stars

51

commits

Go

primary language

Jul 29, 2026

updated

birdnet
birdnet-go
birdnet-pi
conversion
Browse cluster: BirdNET Wildlife Audio Analysis

README

🐦 BirdNET-Pi2Go (Deprecated)

[!WARNING] This project is deprecated and should no longer be used.

BirdNET-Go now includes built-in BirdNET-Pi import functionality. You can import your BirdNET-Pi database and audio files directly from the BirdNET-Go web interface by navigating to System > Import/Export.

🌟 Overview

BirdNET-Pi2Go is a data migration tool designed to facilitate the conversion of BirdNET-Pi database contents and audio files to the BirdNET-Go data model. This utility ensures seamless transition between the two systems while maintaining your valuable bird detection data.

✨ Features

  • 🔄 Database Conversion: Migrates BirdNET-Pi SQLite database to BirdNET-Go format
  • 📁 Audio File Transfer: Supports copying or moving audio recordings to BirdNET-Go directory structure
  • 🔀 Flexible Operations: Choose between copying files (preserving originals) or moving files (saving space)
  • 💾 Disk Space Verification: Automatically checks for sufficient storage before starting transfers
  • Skip Audio Option: Option to migrate database only, without transferring audio files
  • 🔄 Merge Support: Ability to merge existing BirdNET-Go database with migrated data

📋 Requirements

  • 🖥️ Go 1.21 or newer for building from source
  • 📂 Access to BirdNET-Pi and BirdNET-Go file systems

🚀 Getting Started

🔨 Building

To build BirdNET-Pi2Go from source:

git clone https://github.com/tphakala/birdnet-pi2go.git
cd birdnet-pi2go
go build

📝 Usage Guide

After building, run BirdNET-Pi2Go with various flags to customize your migration:

./birdnet-pi2go -source-db <path_to_birdnet_pi_db> -target-db <path_to_birdnet_go_db> -source-dir <path_to_birdnet_pi_audio_files> -target-dir <path_to_birdnet_go_audio_files> -operation <copy|move> -skip-audio-transfer <true|false>

🎛️ Command Options

FlagDescriptionDefault
-source-dbPath to BirdNET-Pi SQLite databasebirds.db
-target-dbPath to BirdNET-Go SQLite database (will be created)birdnet.db
-source-dirPath to BirdNET-Pi BirdSongs directory(required for file transfer)
-target-dirPath to BirdNET-Go clips directoryclips
-operationFile transfer mode: copy or movecopy
-skip-audio-transferSkip audio file transfer (true or false)false

⚠️ Note: Target database should not exist - it will be created during migration.

🧪 Examples

Basic migration with file copying:

./birdnet-pi2go -source-db birds.db -target-db birdnet.db -source-dir ~/birdnetpi/BirdSongs -target-dir clips -operation copy

Migrate database only (no audio files):

./birdnet-pi2go -source-db birds.db -target-db birdnet.db -skip-audio-transfer true

Move files instead of copying (saves disk space):

./birdnet-pi2go -source-db birds.db -target-db birdnet.db -source-dir ~/birdnetpi/BirdSongs -target-dir clips -operation move

Merge existing databases:

./birdnet-pi2go -source-db birds.db -target-db birdnet.db -operation merge

📊 Data Handling

BirdNET-Pi2Go carefully preserves your detection data while converting between formats:

  • 🔍 Detection records are mapped to BirdNET-Go's Note structure
  • 🔊 Audio filenames are standardized according to BirdNET-Go conventions
  • 🗂️ File organization follows BirdNET-Go's year/month directory structure

⚠️ Disclaimer

This tool is provided 'AS IS', without warranty of any kind. Please ensure you have backed up your data before using this tool. The developers are not responsible for any loss of data.

📜 License

MIT

Contributors

tphakala

28 commits

tomiphakala

13 commits

cameronr

3 commits

Languages

Go

99.0%