gspi.py 2.65 KB
Newer Older
Denis Arrivault's avatar
Denis Arrivault committed
1
# -*- coding: utf-8 -*-
Denis Arrivault's avatar
Denis Arrivault committed
2
# ######### COPYRIGHT #########
3
4
# Credits
# #######
Denis Arrivault's avatar
Denis Arrivault committed
5
#
6
7
# Copyright(c) 2015-2018
# ----------------------
Denis Arrivault's avatar
Denis Arrivault committed
8
#
9
10
11
12
13
# * `LabEx Archimède <http://labex-archimede.univ-amu.fr/>`_
# * `Laboratoire d'Informatique Fondamentale <http://www.lif.univ-mrs.fr/>`_
#   (now `Laboratoire d'Informatique et Systèmes <http://www.lis-lab.fr/>`_)
# * `Institut de Mathématiques de Marseille <http://www.i2m.univ-amu.fr/>`_
# * `Université d'Aix-Marseille <http://www.univ-amu.fr/>`_
Denis Arrivault's avatar
Denis Arrivault committed
14
15
#
# This software is a port from LTFAT 2.1.0 :
16
# Copyright (C) 2005-2018 Peter L. Soendergaard <peter@sonderport.dk>.
Denis Arrivault's avatar
Denis Arrivault committed
17
18
19
20
#
# Contributors
# ------------
#
21
22
# * Denis Arrivault <contact.dev_AT_lis-lab.fr>
# * Florent Jaillet <contact.dev_AT_lis-lab.fr>
Denis Arrivault's avatar
Denis Arrivault committed
23
24
25
26
#
# Description
# -----------
#
27
28
29
30
# ltfatpy is a partial Python port of the
# `Large Time/Frequency Analysis Toolbox <http://ltfat.sourceforge.net/>`_,
# a MATLAB®/Octave toolbox for working with time-frequency analysis and
# synthesis.
Denis Arrivault's avatar
Denis Arrivault committed
31
32
33
34
#
# Version
# -------
#
35
# * ltfatpy version = 1.0.15
Denis Arrivault's avatar
Denis Arrivault committed
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# * LTFAT version = 2.1.0
#
# Licence
# -------
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# ######### COPYRIGHT #########
Denis Arrivault's avatar
Denis Arrivault committed
55
56


Denis Arrivault's avatar
Denis Arrivault committed
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
"""Module of glockenspiel signal loading

.. moduleauthor:: Denis Arrivault
"""

from __future__ import print_function, division

from scipy.io.wavfile import read as wavread
import pkg_resources
import numpy as np


def gspi():
    """Load the 'glockenspiel' test signal

    - Usage:

        | ``(s, fs) = gspi()``

    - Output parameters:

    :returns: ``(s, fs)``
    :rtype: tuple

    :var numpy.ndarray s: 'glockenspiel' signal
    :var int fs: sampling frequency in Hz

    ``gspi`` loads the 'glockenspiel' signal. This is a recording of a simple
    tune played on a glockenspiel. It is 262144 samples long, mono, recorded
    at 44100 Hz using 16 bit quantization.

    This signal, and other similar audio tests signals, can be found on
    the EBU SQAM test signal CD http://tech.ebu.ch/publications/sqamcd.
    """

    f = pkg_resources.resource_stream(__name__, "gspi.wav")

    fs, s = wavread(f)
    s = s.astype(np.float64) / 2.**15.
    return (s, fs)