Development/Summer of Code/2017: Difference between revisions
No edit summary |
|||
Line 138: | Line 138: | ||
==ListenBrainz== |
|||
=== Create charts/graphs for user behaviour === |
|||
Proposed mentors:''mayhem'', ''alastairp''<br> |
|||
Languages/skills: Python, Flask, BiqQuery, InfluxDB, data science, graphing, visualization, data architecture |
|||
ListenBrainz is preparing to stream its listen data to Big Query where anyone can have access to it in real time. From this data that is stored in BigQuery we wish to have a student build a general charting/graphing system that allows future contributors to explore the data with BigQuery. Any user should be able to craft a query that can be turned into a graph/visualization on the ListenBrainz site, with minimal effort. If a user crafts an interesting query, they should be able to open a pull request and supply the details of the query in order for the LB team to add this graph to the site. |
|||
This project requires building the behind the scenes BigQuery access, caching, periodic updates and synchronization between the ListenBrainz server and the BigQuery data store. |
|||
=== A way to associate listens with MBIDs === |
|||
Proposed mentors: ruaok, alastairp, gentlecat<br> |
|||
Languages/skills: Python<br> |
|||
[https://community.metabrainz.org/c/metabrainz Forum for discussion] |
|||
Last.fm is broken because of the terrible way it handles metadata (artists with the same name are jumbled into a single page; at the same time, there are often multiple pages for the same artist/album/track due to spelling variations). ListenBrainz is smarter by taking advantage of MBIDs. But there needs to be some sort of interface for identifying listens as being for a particular track (or recording) MBID. This could allow the user to identify an album they listened to on Spotify as the same one they listen to in iTunes a few days later. Then they wouldn't remain separate artists or albums in the stats due to differences in metadata alone. |
|||
==MusicBrainz Picard== |
==MusicBrainz Picard== |
Revision as of 21:30, 8 February 2017
Are you interested in working with MetaBrainz in Google Summer of Code 2017? You're in the right place!
Where to start
- New to MetaBrainz?
- List of MetaBrainz projects
- New to MetaBrainz development and/or GSoC?
- Getting started with GSoC
- New to the idea of linked open data?
- Linked open data article on wikipedia
- Ready to apply?
- GSoC applications @ community.metabrainz.org
- Be aware of the content of our Development/Summer of Code/Application Template
Mentors
Name | IRC nick | Project |
---|---|---|
Robert Kaye | ruaok | AcousticBrainz, ListenBrainz, MusicBrainz |
Michael Wiencek | bitmap | MusicBrainz |
Alastair Porter | alastairp | AcousticBrainz, ListenBrainz |
Ben Ockmore | LordSputnik | BookBrainz |
Sean Burke | Leftmost | BookBrainz |
Roman Tsukanov | Gentlecat | CritiqueBrainz, AcousticBrainz, ListenBrainz |
Some potential mentors are listed by each project; this is far from a normative list, but it might give you somebody to ask about the project.
About proposals
Before you dive in and send a proposal to us through Google, it's a good idea to take some time and learn about the MusicBrainz community. At MusicBrainz we pride ourselves for having a strong community - most of us know each other in some way, and some of us know each other face to face from development summits.
A good way to get a feel of this would be to talk about your ideas and proposals on IRC. However, starting off by sending private messages to potential mentors is not a good way to introduce yourself to the community. Please don't do that!
If you're not sure where to start, Development/Summer of Code/Getting started might help.
Projects
AcousticBrainz
AcousticBrainz is our new project that crowdsources acoustic information for all music in the world and to make it available to the public. We already have low-level information about more than three million tracks. What we need is a good way for users and developers to interact with all this data and help improve algorithms that are used to analyze it.
It would suit someone with experience or an interest in machine learning algorithms, though the majority of the project will probably involve creating infrastructure around our existing algorithms. | |
Languages/skills: Python, PostgreSQL, Flask | |
Ideas page | Main page | Forums | Blog |
BookBrainz
BookBrainz is a database of book metadata.
This year we're interested in projects that help us get more data. The three suggested ideas to build proposals around are data importing, a web API and gamification of editing. Please see our sub-project ideas page for information on getting started and more details about the ideas themselves. | |
Top 3 Desired Skills: Node.js, Python, SQL | |
Ideas page | Main page | Forums |
CritiqueBrainz
Fills the gap between music critics and raw data by providing a platform created for the sole purpose of Creative Commons licensed reviews. | |
Languages/skills: Python, Flask, SQL, PostgreSQL | |
Ideas page | Main page | Forums |
ListenBrainz
An open source music website that allows users to import their listen history. One of the goals is for this data to be used for building open music recommendation systems. | |
Languages/skills: Python | |
Ideas page | Main page |
MusicBrainz
A community-maintained open source music encyclopedia that collects music metadata and makes it available to the public. | |
Languages/skills: JavaScript (React), Perl, Python, PostgreSQL, SQL | |
Ideas page | Main page | Forums |
MusicBrainz Picard
Qt5/Py3 Port
Proposed Mentors: zas/bitmap
Languages/skills: Python, PyQt5
Picard is going to be receiving a complete make-over code/feature/UI wise for v2.0. A part of the v2.0 plans is porting the existing code to PyQt5/Py3 from PyQt4/py2 to allow for future support and better encoding compatibility along with new features of Qt5(such as High DPI scaling, better Widget and networking support and better cross-platform compatibility) and along with all the bug fixes that come with PyQt5 which will help cleaning up the code-base for Picard.
For more information see: PICARD-588 PICARD-960
Picard Plugins API v2
Proposed Mentors: zas/bitmap
Languages/skills: Python, PyQt5, Flask
Picard 2.0 is going to be PyQt5 based, which means all the existing plugins have to be ported to PyQt5/Py3. Since Picard v1 plugins will be incompatible with v2 and vice versa, we need to implement a new v2 end-point for the Picard website. There is also a need of providing a uniform GUI api for plugins to allow quick GUI option settings, i18n support and UI uniformity with the rest of the Picard code. Also, additional metadata headers need to be implemented to allow cross-platform compatibility checks.
For more info see: PICARD-977