Tag: BirdSongLogix

  • Version 0.1.0

    Version 0.1.0

    Version 1 is the first full build of BirdSongLogix. Now, this was a very experimental build. I wanted to create an installer file for ease of use however this came with its own setbacks. File addresses had to be found using the project directory and I decided to add a debug file so that any errors that appeared could be analysed and actioned accordingly. This version of the project still used the now old excel spreadsheet method of storing data as well as the old Datablock class which did not allow for hard copies of the dataset resulting in inefficient reading of the data.

    For the record, I wanted to use GitHub for storing my project. This did not end up working out as by this point the project was too big to have on the standard platform. As of writing this is something I would like to look into in the future after I clear up the code base.

  • Prototype 0.0.5

    Prototype 0.0.5

    Prototype 5 is the final stage of the prototype phase. In this prototype version the following modifications where made.

    Graphical

    • Slider for zooming in and out
    • Pie charts
    • Heatmaps
    • Species Occurrences
    • Average certainty

    Data Processing

    • Allowed for files to be combined for graphing
    • Added preventing more than three files to be analysed at once

    Peer reviewed this and found issues with the data table that displays results on the graphical view. This was resolved by a modification the the method that compiles the data from multiple analysed files.

  • Prototype 0.0.4

    Prototype 0.0.4

    After Prototype 3, the project took a significant turn as I began to focus more on the user interface (UI) rather than further modifications to the Python file or the backend. While the core bird song identification was mostly stable by this point, the interface needed to be more user-friendly and visually appealing.

    I began working on a WinForms UI, aiming to provide a cleaner and more intuitive experience for users. The UI became a crucial part of the development process, as I wanted to make the tool accessible and easy to navigate, especially as I prepared for potential future updates.

    At this stage, I wasn’t making any major changes to the Python code or experimenting much with the bird identification model. The focus shifted entirely to improving the user interface, allowing users to more easily load audio files, review the data, and navigate through the tool. While the system still relied on Excel for data storage, I started looking toward integrating more advanced storage options in future iterations.

  • Prototype 0.0.3

    Prototype 0.0.3

    While the project was still in its prototype phase, the primary goal was to ensure the bird identification process worked reliably. By this point, I had a solid system in place for processing audio files and storing the results in Excel. The tool was able to identify bird species and log occurrences, but the graphing capabilities were still non-existent.

    One of the key lessons I learned during this phase was the importance of structured data. While Excel worked for small datasets, it wasn’t ideal for handling larger volumes of data. The data structure had to be more flexible and scalable to support future growth.

    Looking ahead, I started to realize that I would need to incorporate more sophisticated data management techniques, such as using a database, to handle the growing complexity of the data. Additionally, graphing and data visualization features were on the horizon, as I knew these would become essential for users to interpret and analyse the results in a more intuitive way.

  • Prototype 0.0.2

    Prototype 0.0.2

    As I continued developing the project, the Excel-based data organization became more structured, which allowed for easier management of multiple recordings. I created columns for each critical piece of information—bird species, occurrence details, timestamps, and confidence levels—and used Excel as a quick way to review the results.

    One of the key areas I spent a lot of time on was experimenting with different custom models. While BirdNETLib provided a solid foundation for birdsong identification, I wanted to see if I could improve the accuracy for specific bird species or environments.

  • Prototype 0.0.1

    Prototype 0.0.1

    In the early stages of developing Bird Song Logix, the primary focus was on creating a functional prototype that could process audio recordings and identify bird songs. I began by using BirdNETLib, a powerful library designed for birdsong identification, to bring the AI aspect to the project. The first step was integrating the Python-based BirdNET model into the system, which allowed me to analyse the audio files and identify bird species based on the sounds.

    At this point, I wasn’t focused on graphing or complex data visualization. Instead, I relied on a straightforward approach—Excel. The results of the bird identification process were stored in a well-organized Excel file. Each recording was logged with its filename, bird species, occurrence details, and timestamps. Excel provided a simple way to track and review the data, even though it wasn’t the most efficient for scaling or handling large datasets.

    During this phase, I was experimenting with different custom models and tweaking BirdNETLib to see if I could improve the accuracy of bird identification. I worked with various parameters, trying to find the best balance between sensitivity and confidence levels in the results. The Python file that powered the analysis became the backbone of the project, running the bird song recognition process for each recording.