Development / Summer of Code / 2020 / Picard

This page has not been reviewed by our documentation team (more info).

MusicBrainz Picard


Picard concurrency re-write

Proposed Mentors: samj1912 / zas
Languages/skills: Python, PyQt5
Difficulty: Hard

Currently Picard uses threads to offload I/O tasks. Since threading is notoriously detrimental in Python at times, due to its GIL, we were looking for someone to re-write the Picard concurrency code and switch it to a multi-processing model or make use of the new py3.6 asyncio features. This will allow us to improve and cater to a much requested feature of allowing Picard to mass-tag files, something Picard is unable to do so currently without staying responsive.

For more info see: PICARD-975

Integrate the AcousticBrainz client into Picard

Proposed Mentors: samj1912 / zas / outsidecontext
Languages/skills: Python, C/C++, language bindings, software build experience

The AcousticBrainz project has a separate client application for analyzing and submitting the analyzed information to the AB server. We believe that our community would likely help in submitting tracks to AcousticBrainz while also submitting tracks to AcoustID, so adding this feature to Picard makes sense. This would also allow us to deprecate the standalone AB analyzer software.

This project would entail the following components:

  1. Add the necessary UI elements to allow users to use the AB analyzer.
  2. Add the necessary preferences/options needed to configure the AB analyzer.
  3. Write necessary layer to call the underlying AB analyzer binary.
  4. Possible migrate the AB analyzer binary to be part of the Picard build process.

Related ticket Add AcousticBrainz analyzer features

Picard Hindi translation

Proposed Mentors: samj1912 / zas / iliekcomputers
Languages/skills: English/Hindi, gettext, i18n
Difficulty: easy

Currently Picard is translated to many languages, but it still lacks a full Hindi translation. It would be great to have one.