Skip to content

MarkParker5/system-sounds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

system-sounds

Table of Contents

  1. Description
  2. Installation
  3. Usage
  4. Alternatives for Playback

Description

The System Sounds library provides a straightforward interface to list and play system and user music sounds. It is cross-platform, supporting macOS, Linux, and Windows.

Installation

To install the library, use one of the following package managers:

pip

pip install system-sounds

poetry

poetry add system-sounds

Usage

Listing System Sounds:

To retrieve a list of available system sounds, use:

from system_sounds import list_system_sounds

sounds = list_system_sounds()
print(sounds)

Listing User's Music:

To retrieve a list of music from the user's default music directory, use:

from system_sounds import list_music

music = list_music()
print(music)

Listing Both System Sounds and Music:

To retrieve a combined list of system sounds and user music, use:

from system_sounds import list_all

all_sounds = list_all()
print(all_sounds)

Playing a Sound:

To play a sound, use the play_sound function:

from system_sounds import play_sound

play_sound("path_to_sound_file.wav")

Advanced Usage - Custom Directory and Extensions:

If you'd like to list files from a custom directory or look for sound files with specific extensions, utilize the list_files_from_directory function:

from system_sounds import list_files_from_directory

custom_sounds = list_files_from_directory("/path/to/directory", extensions={'.wav', '.ogg'})
print(custom_sounds)

Alternatives for Playback

The library uses system commands to play sounds, which might not be optimal or available for every scenario. For fallback or alternative methods, consider using:

sounddevice + soundfile:

This combination allows for playback and reading of sound files in various formats.

Installation:

pip install sounddevice soundfile

Example usage:

import soundfile as sf
import sounddevice as sd

data, samplerate = sf.read('path_to_sound_file.wav')
sd.play(data, samplerate)
sd.wait()

playsound:

A pure Python solution without dependencies.

Installation:

pip install playsound

Example usage:

from playsound import playsound

playsound('path_to_sound_file.mp3')

pyaudio:

Allows you to play and record audio on various platforms.

Installation:

pip install pyaudio

Example usage requires reading the sound file with a library like wave and then playing it with pyaudio.

Remember, while these alternatives provide more features or flexibility, they might also introduce additional dependencies or complexities to your application.