Skip to main content

Galaxie Audio is a height level wrapper for pyaudio with player, recorder, spectrogram, and more.

Project description

Documentation Status Pipeline Status Coverage Status

Galaxie Audio documentation

https://galaxie-audio.readthedocs.io/en/latest/_images/logo_galaxie.png

Description

A small Audio library, use by Galaxie Tools for play and record audio.

Screenshots

v 0.1.4

https://galaxie-audio.readthedocs.io/en/latest/_images/screen_01.png

Text Spectrogram

https://galaxie-audio.readthedocs.io/en/latest/_images/screen_02.png

Installation via pip

Pypi

pip install galaxie-audio

Pypi Test

pip install -i https://test.pypi.org/simple/ galaxie-viewer

Example

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# It script it publish under GNU GENERAL PUBLIC LICENSE
# http://www.gnu.org/licenses/gpl-3.0.en.html
# Author: the Galaxie Audio Team, all rights reserved

import sys
import tempfile


from glxaudio.AudioRecorder import AudioRecorder
from glxaudio.AudioPlayer import AudioPLayer
from glxaudio.AudioInterfaces import AudioInterfaces
from glxaudio.AudioConstants import GLXAUDIO
from glxaudio.Sleep import Sleep
from glxviewer import viewer

# THE APP
try:
    verbose = True
    debug = False
    debug_level = 3

    time_to_sleep = 0.42
    if verbose:
        viewer.write(
            status_text="INIT",
            status_text_color="WHITE",
            column_1="Simplex Repeater",
            column_2=" - Version 0.5",
        )

        viewer.write(
            status_text="INIT",
            status_text_color="WHITE",
            column_1=AudioInterfaces.__name__ + ":",
            column_2="list interfaces",
        )
        AudioInterfaces.print_interfaces(only_default=True)

    while True:
        #  Create a new temporary file each time, that because communication's should be anonyme
        temporary_file = tempfile.NamedTemporaryFile()
        try:
            # Start a recording
            with AudioRecorder() as recorder:
                recorder.debug = debug
                recorder.debug_level = debug_level
                recorder.verbose = verbose
                recorder.verbose_level = 3
                recorder.format = GLXAUDIO.FORMAT_INT16
                recorder.threshold = 6  # in percent
                recorder.channels = 1
                recorder.rate = 22050
                recorder.chunk_size = 1024
                recorder.file.path = temporary_file.name
                recorder.record_to_file()

            # Wait , because that is how work a repeater
            with Sleep() as sleeper:
                sleeper.debug = debug
                sleeper.debug_level = debug_level
                sleeper.verbose = verbose
                sleeper.sleep(time_to_sleep)

            # Play what is inside our temporary file
            with AudioPLayer() as player:
                player.debug = debug
                player.debug_level = debug_level
                player.verbose = verbose
                player.detached = True
                player.file.path = temporary_file.name
                player.play()

        except EOFError:
            pass

        # Close the temporary file, it have effect to delete the file, that because communication's should be anonymize
        temporary_file.close()

except KeyboardInterrupt:
    viewer.flush_a_new_line()
    sys.exit(0)

GALAXIE AUDIO

CHANGELOG

0.1.5 - 20220102
  • Add File Class

  • Migrate set / get method’s to simple property

  • Add tests

  • Better Makefile

  • Fixe PLayer detach mode

0.1.4 - 20211115
  • Optimize CI/CD

  • Migrate setuptools

  • Delete docs/build when use make clean

0.1.3 - 20211112
  • Add galaxie-viewer 0.5.0 support

0.1.2 - 20211112
  • Better Makefile

  • Fixe Audio Spectrum

0.1.1 - 20210205
  • New series ready to big thing

  • Use setup.py only

  • Add LICENSE.rst

  • Add Changelogs file

  • Better CI

  • rename GLXAudio module to glxaudio

0.1 - 20210126
  • Fixe CI troubles

  • CI use only Makefile

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

galaxie-audio-0.1.5.tar.gz (37.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page