Mousai is a simple application that can identify song like Shazam

Overview

Mousai
Mousai

Simple song identifier

Download on Flathub


Translation status CI status

Preview

Description

Mousai is a simple application that can identify song like Shazam. It saves the artist, album, and title of the identified song in a JSON file.

Note: This uses the API of audd.io, so it is necessary to login to their site to get more trials.

Building from source

GNOME Builder (Recommended)

GNOME Builder is the environment used for developing this application. It can use Flatpak manifests to create a consistent building and running environment cross-distro. Thus, it is highly recommended you use it.

  1. Download GNOME Builder.
  2. In Builder, click the "Clone Repository" button at the bottom, using https://github.com/SeaDve/Mousai.git as the URL.
  3. Click the build button at the top once the project is loaded.

Manual with meson

git clone https://github.com/SeaDve/Mousai.git
cd Mousai
meson builddir --prefix=/usr/local
ninja -C builddir install

AudD

You can check their Privacy Policy and Terms of Services for more informations about AudD.

Credits

Developed by Dave Patrick.

Comments
  • No audio detected

    No audio detected

    image

    Arch linux with most recent updates. I even installed a GNOME DE to see if Mousai can catch the sound there - still this issue. Maybe I need some kind of awkward sound mixer? I have those sound-related packages installed: alsa-utils, pulseaudio, pulseaudio-alsa and pavucontrol.

    opened by KpauMupa 30
  • Cant build

    Cant build

    I'm pretty sure this is related or even the same issue as #22 but I can't get it to build with meson :(

    Traceback (most recent call last):
      File "/usr/local/bin/mousai", line 30, in <module>
        from mousai import main
      File "/usr/local/share/mousai/mousai/main.py", line 18, in <module>
        class Application(Adw.Application):
      File "/usr/lib/python3.9/site-packages/gi/module.py", line 123, in __getattr__
        raise AttributeError("%r object has no attribute %r" % (
    AttributeError: 'gi.repository.Adw' object has no attribute 'Application
    
    opened by sheeepdev 26
  • Mousai not work with meson build

    Mousai not work with meson build

    I have already installed manually libadwaita 1.0.0alpha2 what happening here?

    [email protected]:~/Documents/Mousai-0.4.4/build$ mousai Traceback (most recent call last):

    File "/usr/local/bin/mousai", line 30, in

    from mousai import main
    

    File "/usr/local/share/mousai/mousai/main.py", line 9, in

    gi.require_version('Adw', '1')
    

    File "/usr/lib/python3/dist-packages/gi/init.py", line 126, in require_version

    raise ValueError('Namespace %s not available' % namespace)
    

    ValueError: Namespace Adw not available

    opened by carlosgonz0 26
  • Mousai says microphone is muted

    Mousai says microphone is muted

    OS: Manjaro XFCE Installation method: AUR Affected Version: 0.6.0 and 0.6.1

    image Afterwards, it says "No audio detected" and "Please check your audio device". I have a working microphone in my laptop (it works with other apps, e.g. skype), and I also tried an earphone.

    When I run from the command line, I get the error

    $ mousai
    Error: gst-resource-error-quark: Could not open file "/home/archisman/.cache/tmp/mousaitmp.ogg" for writing. (6) ../gstreamer/plugins/elements/gstfilesink.c(471): gst_file_sink_open_file (): /GstPipeline:pipeline0/GstFileSink:filesink0:
    system error: Bad file descriptor
    Error: gst-core-error-quark: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure. (4) ../gstreamer/libs/gst/base/gstbasesink.c(5865): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstFileSink:filesink0:
    Failed to start
    

    I cannot say when this issue appeared.

    Last time I used the app was in July, and then the issue was absent.

    opened by apandada1 13
  • UI glitch when clicking settings button

    UI glitch when clicking settings button

    Installed app as a flatpak, when I click on settings button, this weird ui thing happens.

    mousai

    Specs: OS: Linux Mint 20.3 x86_64 Kernel: 5.15.0-33-generic DE: Cinnamon

    Graphics:
    Device-1: AMD Picasso driver: amdgpu v: kernel bus ID: 07:00.0 chip ID: 1002:15d8 Display: x11 server: X.Org 1.20.13 driver: amdgpu,ati unloaded: fbdev,modesetting,vesa resolution: 1920x1080~60Hz OpenGL: renderer: AMD Radeon Vega 11 Graphics (RAVEN DRM 3.42.0 5.15.0-33-generic LLVM 12.0.0) v: 4.6 Mesa 21.2.6 direct render: Yes

    Flatpak version : 1.12.2 Mousai version : 0.6.6

    What worked : when launching the application with this command AMD_DEBUG=nodcc flatpak run io.github.seadve.Mousai , everything is working perfectly

    opened by akash-258 7
  • A simple message when trying to recognize songs without internet

    A simple message when trying to recognize songs without internet

    When trying to recognize a song without an internet connection, the program displays the complete exception and does not display easy-to-recognize information that is happening. If you do not realize if your Internet is not working well or you are disconnected, this can make you feel that the program is not working properly.

    Screenshot from 2021-11-16 16-58-06

    enhancement 
    opened by CharDSonDev 6
  • Error when building from AUR on aarch64

    Error when building from AUR on aarch64

    It would be really nice to be able to use this app on a Linux phone like the Pine phone but the AUR build lists this package as not available for aarch64. Could the aarch64 tag be added to the AUR if it was verified to build correctly?

    ==> ERROR: mousai is not available for the 'aarch64' architecture

    opened by CoderThomasB 4
  • Update GNOME Platform to master

    Update GNOME Platform to master

    I built it from source & it works with platform version master. Feel free to close this PR if Mousai doesn't work well with GNOME Platform master.

    Benefits of moving

    • No updating the platform version every release
    opened by turtlegarden 4
  • Respect dark theme

    Respect dark theme

    Hi and thanks for the great app. I'm using KDE Plasma and even though my gtk theme is breeze-dark , the app uses adwaita light. I understand if you don't want the UI to be messed up by themes, but could you make it support dark/light themes?

    enhancement Not Mousai 
    opened by aronkvh 3
  • AttributeError: 'Avatar' object has no attribute 'set_image_load_func'

    AttributeError: 'Avatar' object has no attribute 'set_image_load_func'

    After updating to libadwaita 1.0.0-alpha.1, I get

    Traceback (most recent call last):
      File "/nix/store/sy59jxn8ss9b913vz9pfp9r5r55hlzrp-mousai-0.4.1/share/mousai/mousai/main.py", line 60, in do_activate
        win = MainWindow(self.settings, application=self)
      File "/nix/store/sy59jxn8ss9b913vz9pfp9r5r55hlzrp-mousai-0.4.1/share/mousai/mousai/widgets/main_window.py", line 52, in __init__
        self.load_memory_list()
      File "/nix/store/sy59jxn8ss9b913vz9pfp9r5r55hlzrp-mousai-0.4.1/share/mousai/mousai/widgets/main_window.py", line 84, in load_memory_list
        self.new_song_row(song.values())
      File "/nix/store/sy59jxn8ss9b913vz9pfp9r5r55hlzrp-mousai-0.4.1/share/mousai/mousai/widgets/main_window.py", line 64, in new_song_row
        song_row = SongRow(*song)
      File "/nix/store/sy59jxn8ss9b913vz9pfp9r5r55hlzrp-mousai-0.4.1/share/mousai/mousai/widgets/song_row.py", line 40, in __init__
        self.song_icon.set_image_load_func(self.load_song_icon)
    AttributeError: 'Avatar' object has no attribute 'set_image_load_func'
    

    when running mousai.

    bug 
    opened by dotlambda 3
  • Export / Get list of found songs

    Export / Get list of found songs

    Is there an easy way to get access to the song history list outside of the UI? Perhaps via the filesystem (Like text or json stored in a data folder)? I've looked over the code but was unsuccessful in finding an answer since I'm unfamiliar with GTK/Rust. If I understand correctly, I'm trying to find where else I can access Application::default().settings().string("history") from outside of Mousai. Is that possible?

    Thanks so much! Mousai is a stellar app!

    opened by tristanvigar 2
  • Images on landing page not loading

    Images on landing page not loading

    On https://apps.gnome.org/app/io.github.seadve.Mousai/ it doesn't show up any images.

    For example: https://apps.gnome.org/assets/screenshots/io.github.seadve.Mousai/Mousai-screenshot2.png says: The image β€œhttps://apps.gnome.org/assets/screenshots/io.github.seadve.Mousai/Mousai-screenshot2.png” cannot be displayed because it contains errors.

    Using Firefox 91.7.0esr (64-bit)

    opened by PortStone 1
  • Add more information to the API section

    Add more information to the API section

    Currently the description of this is very shy and in my opinion you should add a couple of key points that users will want to know...

    On the website of the api:

    Music recognition API for both content analysis and in-app music recognition costs from $2 to $5 per 1000 requests. First 300 requests for free.

    I think that this sentence should be added in the collapsible menu below your first sentence like this rough example:

    More info After "number" recognitions, registration/login to the website is required. Music recognition API for both content analysis and in-app music recognition costs from $2 to $5 per 1000 requests. First 300 requests for free.
    opened by aha999 0
  • Landing page / Website request

    Landing page / Website request

    It would be useful to have this project's landing site / website, so any future news articles can link to it and the website would make a better visual representation of the project that could attract more users, developers and contributors.

    A simple and free option is via Github Pages, that a lot of github open source projects are using, which Github hosts for any repo on their website.

    Hosted directly from your GitHub repository. Just edit, push, and your changes are live. No databases are needed to be set up and no servers to configure

    Repositories that use github pages: Examples

    Interesting article: Link

    Consider Jekyll. You give it Liquid templates and Markdown content Free Jekyll templates: https://jekyllthemes.io/free

    enhancement 
    opened by aha999 1
  • Chinese translation not work on linux

    Chinese translation not work on linux

    The simplified Chinese translation not work, please use zh_CN language code instead of zh_Hans.

    View this for reference. Thank you.

    OS: Fedora Silverblue 35 DE: Gnome Shell 41

    opened by lumingzh 2
Releases(v0.6.6)
  • v0.6.6(Sep 8, 2021)

  • v0.6.5(Sep 8, 2021)

  • v0.6.4(Sep 2, 2021)

    This update contains new translations:

    • Updated Turkish translations
    • Updated Polish translations
    • Updated Chinese (Simplified) translations
    Source code(tar.gz)
    Source code(zip)
  • v0.6.3(Aug 27, 2021)

  • v0.6.2(Aug 24, 2021)

  • v0.6.1(Aug 24, 2021)

    This release contains bug fixes and translations updates:

    • Fixed missing icon on XFCE (thanks to @apandada1)
    • Updated Italian translations
    • Updated Spanish translations
    • Updated Japanese translations
    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(Aug 22, 2021)

    This release contains UI and translation improvements:

    • Improved playing animation
    • Minor performance improvements
    • Updated Occitan translations
    • Updated Ukrainian translations
    • Updated Arabic translations
    • Updated German translations
    • Updated Filipino translations
    • Updated Dutch translations
    Source code(tar.gz)
    Source code(zip)
  • v0.5.2(Aug 9, 2021)

    This is a small update with miscellaneous improvements:

    • Added a beep sound when trying to do something
    • Added Finnish translations
    • Updated Turkish translations
    • Updated Portuguese (Brazil) translations
    • Updated Spanish translations
    • Updated Dutch translations
    • Updated Filipino translations
    Source code(tar.gz)
    Source code(zip)
  • v0.5.1(Aug 8, 2021)

    This is a small update with miscellaneous improvements:

    • More fine-tuned user interface
    • Added Japanese translations
    • Updated Occitan translations
    • Update Spanish translations
    Source code(tar.gz)
    Source code(zip)
  • v0.5.0(Aug 6, 2021)

    A semi-big release containing new features and major bug fixes:

    • Added the ability to select preferred audio source (Either microphone or from desktop audio)
    • Added animation when playing a song
    • Check if there is an audio detected before sending request
    • Fixed not responding issue when the internet is slow
    • Fix multiple songs playing at once
    • Added Czech translations
    • Updated Filipino translations
    • Updated Turkish translations
    • Updated Dutch translations
    Source code(tar.gz)
    Source code(zip)
  • v0.4.4(Aug 3, 2021)

    This update contains translations and minor UI fixes:

    • Minor user interface improvements
    • Updated Swedish translations
    • Updated Norwegian BokmΓ₯l translations
    Source code(tar.gz)
    Source code(zip)
  • v0.4.3(Jul 28, 2021)

    This update contains translations and minor fixes:

    • Better user experience with token dialog
    • Updated Dutch translations
    • Updated Italian translations
    • Updated Turkish translations
    • Updated Spanish translations
    • Updated Esperanto translations
    • Updated French translations
    Source code(tar.gz)
    Source code(zip)
  • v0.4.2(Jul 3, 2021)

  • v0.4.1(May 23, 2021)

    This contains some fixes for the last update:

    • Improved UI icons
    • Minor performance improvements
    • Added token checker
    • Fixed a bug when clearing history while listening
    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(May 22, 2021)

    A release containing exciting new features and fixes!

    • New built-in player for the identified music
    • Much improved UI, especially with GTK4
    • Much improved recorder efficiency
    • It now saves the window size
    • Several minor bug fixes
    • Updated Dutch translations
    • Updated German translations
    • Updated Spanish translations
    • Updated Italian translations
    • Updated Filipino translations
    • Updated Turkish translations
    • Updated French translations
    • Updated Norwegian BokmΓ₯l translations
    • Updated Portuguese (Brazil) translations
    Source code(tar.gz)
    Source code(zip)
  • v0.3.2(May 5, 2021)

    Not a big release, but it has some notable changes:

    • Improved UI experience
    • Much improved performance and startup
    • Added shortcuts for clearing history and resetting token
    • Updated Portuguese translations
    • Updated Turkish translations
    • Updated Filipino translations
    • Updated Dutch translations
    • Updated Indonesian translations
    • Updated French translations
    • Updated Italian translations
    • Updated German translations
    • Updated Spanish translations
    • Updated Chinese (Simplified) translations
    • Updated Portuguese (Brazil) translations
    Source code(tar.gz)
    Source code(zip)
  • v0.3.1(Apr 9, 2021)

  • v0.3.0(Apr 8, 2021)

    New features and performance improvements:

    • Added a play button to preview songs
    • Song history would not output redundant songs now
    • Code cleaning
    • Added Dutch translations
    • Added Norweigan translations
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Mar 31, 2021)

    This update brings a couple of bug fixes:

    • Fixed a bug when there are two similar named songs
    • Fixed an error when the song was not recognized
    • Added an error when the token has run out
    • Added Filipino translations
    • Added Turkish translations
    • Added Portuguese translations
    Source code(tar.gz)
    Source code(zip)
Owner
Dave Patrick
FOSS. GTK. Python.
Dave Patrick
Scrap electronic music charts into CSV files

musiccharts A small python script to scrap (electronic) music charts into directories with csv files. Installation Download MusicCharts.exe Run MusicC

Dustin Scharf 1 May 11, 2022
Sound-Equalizer- This is a Sound Equalizer GUI App Using Python's PyQt5

Sound-Equalizer- This is a Sound Equalizer GUI App Using Python's PyQt5. It gives you the ability to play, pause, and Equalize any one-channel wav audio file and play 3 different instruments.

Mustafa Megahed 1 Jan 10, 2022
𝙰 π™Όπšžπšœπš’πšŒ π™±πš˜πš π™²πš›πšŽπšŠπšπšŽπš π™±πš’ πšƒπšŽπšŠπš–π™³πš•πš πŸ’–

TeamDltmusic 𝙰 π™Όπšžπšœπš’πšŒ π™±πš˜πš π™²πš›πšŽπšŠπšπšŽπš π™±πš’ πšƒπšŽπšŠπš–π™³πš•πš πŸ’– Deploy String Session String Click hear you can find string session OR join He

TeamDlt 5 Jan 18, 2022
A python library for working with praat, textgrids, time aligned audio transcripts, and audio files.

praatIO Questions? Comments? Feedback? A library for working with praat, time aligned audio transcripts, and audio files that comes with batteries inc

Tim 224 Dec 19, 2022
Music player and music library manager for Linux, Windows, and macOS

Ex Falso / Quod Libet - A Music Library / Editor / Player Quod Libet is a music management program. It provides several different ways to view your au

Quod Libet 1.2k Jan 07, 2023
Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications

A Python library for audio feature extraction, classification, segmentation and applications This doc contains general info. Click here for the comple

Theodoros Giannakopoulos 5.1k Jan 02, 2023
Small Python application that links a Digico console and Reaper, handling automatic marker insertion and tracking.

Digico-Reaper-Link This is a small GUI based helper application designed to help with using Digico's Copy Audio function with a Reaper DAW used for re

Justin Stasiw 10 Oct 24, 2022
pyo is a Python module written in C to help digital signal processing script creation.

pyo is a Python module written in C to help digital signal processing script creation.

Olivier BΓ©langer 1.1k Jan 01, 2023
?️ Open Source Audio Matching and Mastering

Matching + Mastering = ❀️ Matchering 2.0 is a novel Containerized Web Application and Python Library for audio matching and mastering. It follows a si

Sergey Grishakov 781 Jan 05, 2023
A rofi-blocks script that searches youtube and plays the selected audio on mpv.

rofi-ytm A rofi-blocks script that searches youtube and plays the selected audio on mpv. To use the script, run the following command rofi -modi block

Cliford 26 Dec 21, 2022
Library for working with sound files of the format: .ogg, .mp3, .wav

Library for working with sound files of the format: .ogg, .mp3, .wav. By work is meant - playing sound files in a straight line and in the background, obtaining information about the sound file (auth

Romanin 2 Dec 15, 2022
A voice assistant which can be used to interact with your computer and controls your pc operations

Introduction πŸ‘¨β€πŸ’» It is a voice assistant which can be used to interact with your computer and also you have been seeing it in Iron man movies, but t

Sujith 84 Dec 22, 2022
digital audio workstation, instrument and effect plugins, wave editor

digital audio workstation, instrument and effect plugins, wave editor

306 Jan 05, 2023
A simple python script to play bell sound in your system infinitely, just for fun and experimental purposes

A simple python script to play bell sound in your system infinitely, just for fun and experimental purposes

نافع Ψ§Ω„Ω‡Ω„Ψ§Ω„ΩŠ 1 Oct 29, 2021
Scalable audio processing framework written in Python with a RESTful API

TimeSide : scalable audio processing framework and server written in Python TimeSide is a python framework enabling low and high level audio analysis,

Parisson 340 Jan 04, 2023
Code to work with wave files!

Code to work with wave files!

Mohammad Dori 3 Jul 15, 2022
Sync Toolbox - Python package with reference implementations for efficient, robust, and accurate music synchronization based on dynamic time warping (DTW)

Sync Toolbox - Python package with reference implementations for efficient, robust, and accurate music synchronization based on dynamic time warping (DTW)

Meinard Mueller 66 Jan 02, 2023
C++ library for audio and music analysis, description and synthesis, including Python bindings

Essentia Essentia is an open-source C++ library for audio analysis and audio-based music information retrieval released under the Affero GPL license.

Music Technology Group - Universitat Pompeu Fabra 2.3k Jan 03, 2023
Audio fingerprinting and recognition in Python

dejavu Audio fingerprinting and recognition algorithm implemented in Python, see the explanation here: How it works Dejavu can memorize audio by liste

Will Drevo 6k Jan 06, 2023
Audio2midi - Automatic Audio-to-symbolic Arrangement

Automatic Audio-to-symbolic Arrangement This is the repository of the project "Audio-to-symbolic Arrangement via Cross-modal Music Representation Lear

Ziyu Wang 24 Dec 05, 2022