diff --git a/LICENCE b/LICENSE similarity index 100% rename from LICENCE rename to LICENSE diff --git a/README.md b/README.md index 5d8ca08..3ef0aaa 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,9 @@ for generating and triggering sound events, enabling the sonification of spectra and rhythmic aspects. Unlike existing software libraries focused on creative applications of sound generation, the toolbox is designed to meet the specific needs of MIR researchers and educators. It aims to simplify the process of music exploration, promoting a more intuitive and efficient approach to data analysis by enabling users to interact -with their data in acoustically meaningful ways. +with their data in acoustically meaningful ways. + +See the [API documentation](https://groupmm.github.io/libsoni/build/html/index.html) for a detailed view of the provided functions in ``libsoni``. ## Installation Guide We outline two primary methods for setting up ``libsoni`` using pip and setting up a dedicated environment. @@ -71,8 +73,8 @@ directly contacting us via email (meinard.mueller@audiolabs-erlangen.de) or for an issue in our GitHub repository. Please do not submit a pull request without prior consultation with us. -## Licence -The code for this toolbox is published under an [MIT licence](LICENCE). +## License +The code for this toolbox is published under an [MIT license](LICENSE). This does not apply to the data files: * Schubert songs are taken from the [Schubert Winterreise Dataset](https://zenodo.org/record/4122060). * Recording of the cantata *Ach Gott und Herr* by Bach is taken fom [Bach10 Dataset](https://labsites.rochester.edu/air/datasets/Bach10%20Dataset_v1.0.pdf). diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 2ebe477..3b6292f 100644 Binary files a/docs/build/doctrees/environment.pickle and b/docs/build/doctrees/environment.pickle differ diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree index e74a17a..695028f 100644 Binary files a/docs/build/doctrees/index.doctree and b/docs/build/doctrees/index.doctree differ diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt index f6464b4..c69ebe8 100644 --- a/docs/build/html/_sources/index.rst.txt +++ b/docs/build/html/_sources/index.rst.txt @@ -18,6 +18,9 @@ by enabling users to interact with their data in acoustically meaningful ways. As a result, ``libsoni`` not only improves the analytical capabilities of music scientists but also opens up new avenues for innovative music analysis and discovery. +For installation instructions and educational Jupyter notebooks, see the `GitHub repository +`_. + .. toctree:: :maxdepth: 2 diff --git a/docs/build/html/index.html b/docs/build/html/index.html index d4717c6..6bc5002 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -92,6 +92,7 @@

libsoni: A Python Toolbox for Sonifying Music Annotations and Feature Repres by enabling users to interact with their data in acoustically meaningful ways. As a result, libsoni not only improves the analytical capabilities of music scientists but also opens up new avenues for innovative music analysis and discovery.

+

For installation instructions and educational Jupyter notebooks, see the GitHub repository.

diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 7783df5..18e0823 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["core/chroma", "core/f0", "core/index", "core/methods", "core/pianoroll", "core/spectrogram", "core/tse", "genindex", "index", "py-modindex", "utils"], "filenames": ["core/chroma.rst", "core/f0.rst", "core/index.rst", "core/methods.rst", "core/pianoroll.rst", "core/spectrogram.rst", "core/tse.rst", "genindex.rst", "index.rst", "py-modindex.rst", "utils.rst"], "titles": ["Chroma (libsoni.core.chroma)", "F0 (libsoni.core.f0)", "Core Features (libsoni.core)", "Methods (libsoni.core.methods)", "Piano-Roll (libsoni.core.pianoroll)", "Spectrogram (libsoni.core.spectrogram)", "TSE (libsoni.core.tse)", "Index", "libsoni: A Python Toolbox for Sonifying Music Annotations and Feature Representations", "Module Index", "Utils (libsoni.util.utils)"], "terms": {"sonify_chroma_vector": 0, "chroma_vector": 0, "ndarrai": [0, 1, 3, 4, 5, 6, 10], "pitch_rang": [0, 3], "tupl": [0, 3, 6, 10], "int": [0, 1, 3, 4, 5, 6, 10], "20": [0, 3], "108": [0, 3], "filter": [0, 3], "bool": [0, 1, 3, 4, 5, 6, 10], "fals": [0, 3, 10], "f_center": [0, 3], "float": [0, 1, 3, 4, 5, 6, 10], "440": [0, 3, 4, 10], "0": [0, 1, 3, 4, 5, 6, 10], "octave_cutoff": [0, 3], "1": [0, 1, 3, 4, 5, 6, 10], "tuning_frequ": [0, 3, 4, 10], "fading_dur": [0, 1, 3, 5, 6, 10], "05": [0, 1, 3, 4, 5, 6], "sonification_dur": [0, 1, 4, 5, 6], "none": [0, 1, 3, 4, 5, 6, 10], "normal": [0, 1, 4, 5, 6, 10], "true": [0, 1, 4, 5, 6, 10], "f": [0, 1, 3, 4, 5, 6, 10], "22050": [0, 1, 3, 4, 5, 6, 10], "sourc": [0, 1, 3, 4, 5, 6, 8, 10], "sonifi": [0, 1, 4, 5, 6], "vector": 0, "us": [0, 1, 3, 4, 5, 6, 10], "sound": [0, 1, 3, 4, 6, 8], "synthesi": [0, 3, 4, 8], "base": [0, 1, 4, 10], "shepard": [0, 3], "tone": [0, 3, 10], "The": [0, 1, 3, 4], "can": [0, 1, 3, 4], "chang": [0, 3], "either": [0, 3], "option": [0, 3], "specifi": [0, 3], "pitch": [0, 3, 4, 6, 10], "rang": [0, 3], "both": [0, 3, 10], "also": [0, 3, 8], "combin": [0, 3], "shape": [0, 1, 3, 4, 5, 6, 10], "spectrum": [0, 3], "like": [0, 3], "bell": [0, 3], "curv": [0, 3], "center": [0, 3], "around": [0, 3], "frequenc": [0, 1, 3, 4, 5, 10], "while": [0, 1, 3, 4], "octav": [0, 3], "cutoff": [0, 3], "determin": [0, 1, 3, 4, 5, 6], "which": [0, 3], "amplitud": [0, 1, 3, 4, 6], "correspond": [0, 3, 4, 6, 10], "sinusoid": [0, 3, 5], "i": [0, 1, 3, 4, 5, 6, 8, 10], "5": [0, 1, 3, 4, 10], "paramet": [0, 1, 3, 4, 5, 6, 10], "np": [0, 1, 3, 4, 5, 6, 10], "float32": [0, 1, 3, 4, 5, 6, 10], "float64": [0, 1, 3, 4, 5, 6, 10], "n": [0, 1, 3, 4, 5, 6, 10], "12": [0, 10], "default": [0, 1, 3, 4, 5, 6, 10], "encount": [0, 3], "enabl": [0, 3, 8], "hertz": [0, 3, 4, 5, 10], "width": [0, 3], "tune": [0, 3, 4, 10], "durat": [0, 1, 3, 4, 5, 6, 10], "sonif": [0, 1, 3, 4, 5, 6, 8, 10], "sampl": [0, 1, 3, 4, 5, 6, 10], "fade": [0, 1, 3, 4, 5, 6, 10], "out": [0, 1, 3, 4, 5, 6, 10], "begin": [0, 1, 4, 5, 6], "end": [0, 1, 4, 5, 6, 10], "second": [0, 1, 3, 4, 5, 6, 10], "output": [0, 1, 4, 5, 6, 10], "signal": [0, 1, 3, 4, 5, 6, 10], "rate": [0, 1, 3, 4, 5, 6, 10], "per": [0, 1, 3, 4, 5, 6, 10], "return": [0, 1, 3, 4, 5, 6, 10], "chroma_sonif": 0, "m": [0, 1, 3, 4, 5, 6, 10], "sonify_chromagram": 0, "chromagram": 0, "h": 0, "hop": 0, "size": [0, 10], "stft": 0, "calcul": [0, 10], "For": [0, 4, 10], "magnitud": 0, "reach": 0, "half": 0, "center_frequ": 0, "twice": [0, 1, 3, 4], "sonify_f0": 1, "time_f0": 1, "gain": [1, 3, 10], "partial": [1, 3, 4], "arrai": [1, 3, 4, 5, 6], "partials_amplitud": [1, 3, 4], "partials_phase_offset": [1, 3, 4], "trajectori": 1, "given": [1, 3, 4, 6, 10], "2d": 1, "numpi": [1, 4, 6], "must": 1, "contain": [1, 3, 4, 5, 10], "time": [1, 5, 6, 10], "posit": [1, 6], "associ": 1, "instantan": [1, 3], "phase": [1, 3, 4], "inform": [1, 4, 10], "summat": 1, "2": [1, 3, 4, 10], "valu": [1, 10], "desir": [1, 3, 4, 10], "fundament": [1, 3, 4], "an": [1, 3, 4, 8, 10], "lead": [1, 3, 4], "onli": [1, 3, 4, 8], "caus": [1, 3, 4], "first": [1, 3, 4], "have": [1, 3, 4], "ha": [1, 3, 4], "If": 1, "all": [1, 3, 4], "ar": [1, 3, 4], "set": [1, 3, 4, 10], "offset": [1, 3, 4, 6], "when": [1, 3, 4], "defin": [1, 3, 4], "f0_sonif": 1, "generate_click": 3, "69": [3, 4, 6, 10], "click_fading_dur": [3, 6], "gener": [3, 4, 8, 10], "click": [3, 4, 6, 10], "color": [3, 10], "generate_shepard_ton": 3, "pitch_class": 3, "class": 3, "01": [3, 4, 10], "shepard_ton": 3, "generate_sinusoid": 3, "generate_tone_additive_synthesi": 3, "addit": [3, 4], "custom": [3, 4, 6], "generated_ton": 3, "generate_tone_fm_synthesi": 3, "modulation_rate_rel": 3, "modulation_amplitud": 3, "modul": [3, 4], "synthes": 3, "multipl": [3, 4, 6], "fraction": [3, 4], "amount": [3, 4, 10], "generate_tone_instantaneous_phas": 3, "frequency_vector": 3, "gain_vector": 3, "wise": [3, 4], "generate_tone_wavet": 3, "wavet": 3, "depend": 3, "resampl": 3, "sonify_pianoroll_additive_synthesi": 4, "pianoroll_df": [4, 10], "datafram": [4, 10], "signal_fading_dur": 4, "note_fading_dur": 4, "represent": [4, 10], "assum": 4, "row": 4, "event": [4, 6, 8, 10], "describ": 4, "start": 4, "where": 4, "pd": [4, 10], "final": 4, "each": [4, 10], "note": 4, "pianoroll_sonif": 4, "sonify_pianoroll_click": 4, "colour": 4, "waveform": [4, 6, 10], "form": [4, 6], "1d": [4, 6], "sonify_pianoroll_fm_synthesi": 4, "mod_rate_rel": 4, "mod_amp": 4, "fm": 4, "sonify_pianoroll_sampl": 4, "reference_pitch": [4, 10], "audio": [4, 6, 10], "warp": [4, 6, 10], "version": [4, 6, 10], "k": [4, 5, 6, 10], "origin": [4, 10], "sonify_spectrogram": 5, "frequency_coeffici": 5, "time_coeffici": 5, "coeffici": [5, 6], "spectrogram_sonif": 5, "sonify_spectrogram_multi": 5, "num_process": 5, "multiprocess": 5, "effici": [5, 8], "number": [5, 10], "process": [5, 8], "sonify_tse_click": 6, "time_posit": 6, "click_pitch": 6, "25": 6, "click_amplitud": 6, "offset_rel": 6, "rel": 6, "indic": 6, "max": [6, 10], "tse_sonif": 6, "sonify_tse_multiple_click": 6, "times_pitch": 6, "list": 6, "thi": [6, 10], "function": [6, 8, 10], "creat": 6, "differ": 6, "compris": 6, "sonify_tse_multiple_sampl": 6, "times_sampl": 6, "sonify_tse_sampl": 6, "e": 6, "g": 6, "metronom": 6, "open": 8, "tailor": 8, "By": 8, "emploi": 8, "explicit": 8, "easi": 8, "understand": 8, "techniqu": 8, "offer": 8, "trigger": 8, "spectral": 8, "harmon": 8, "tonal": 8, "melod": 8, "rhythmic": 8, "aspect": 8, "unlik": 8, "exist": 8, "softwar": 8, "librari": 8, "focus": 8, "creativ": 8, "applic": 8, "design": 8, "meet": 8, "specif": 8, "need": 8, "mir": 8, "research": 8, "educ": 8, "It": 8, "aim": 8, "simplifi": 8, "explor": 8, "promot": 8, "more": 8, "intuit": 8, "approach": 8, "data": 8, "analysi": 8, "user": 8, "interact": 8, "acoust": 8, "meaning": 8, "wai": 8, "As": 8, "result": 8, "improv": 8, "analyt": 8, "capabl": 8, "scientist": 8, "up": 8, "new": 8, "avenu": 8, "innov": 8, "discoveri": 8, "fade_sign": 10, "normalized_sign": 10, "mix_sonification_and_origin": 10, "original_audio": 10, "gain_lin_sonif": 10, "gain_lin_original_audio": 10, "pan": 10, "take": 10, "mix": 10, "stereo": 10, "linear": 10, "control": 10, "mean": 10, "left": 10, "right": 10, "channel": 10, "same": 10, "stereo_audio": 10, "normalize_sign": 10, "pitch_to_frequ": 10, "refer": 10, "smooth_weight": 10, "weight": 10, "fading_sampl": 10, "smooth": 10, "input": 10, "weights_smooth": 10, "visualize_pianorol": 10, "xlabel": 10, "str": 10, "ylabel": 10, "titl": 10, "fmp_1": 10, "velocity_alpha": 10, "figsiz": 10, "4": 10, "ax": 10, "dpi": 10, "72": 10, "figur": 10, "visual": 10, "piano": 10, "roll": 10, "format": 10, "label": [4, 10], "text": 10, "x": 10, "axi": 10, "y": 10, "colormap": 10, "see": 10, "http": 10, "github": 10, "com": 10, "meinardmuel": 10, "libfmp": 10, "rectangular": 10, "region": 10, "veloc": [4, 10], "matplotlib": 10, "object": 10, "resolut": 10, "fig": 10, "instanc": 10, "warp_sampl": 10, "target_pitch": 10, "target_duration_sec": 10, "provid": 10, "get": 10, "shift": 10, "librosa": 10, "effect": 10, "pitch_shift": 10, "tempor": 10, "align": 10, "shorter": 10, "than": 10, "crop": 10, "els": 10, "longer": 10, "zero": 10, "pad": 10, "target": 10, "avoid": 10, "warped_sampl": 10, "column": 4}, "objects": {"libsoni.core": [[0, 0, 0, "-", "chroma"], [1, 0, 0, "-", "f0"], [3, 0, 0, "-", "methods"], [4, 0, 0, "-", "pianoroll"], [5, 0, 0, "-", "spectrogram"], [6, 0, 0, "-", "tse"]], "libsoni.core.chroma": [[0, 1, 1, "", "sonify_chroma_vector"], [0, 1, 1, "", "sonify_chromagram"]], "libsoni.core.f0": [[1, 1, 1, "", "sonify_f0"]], "libsoni.core.methods": [[3, 1, 1, "", "generate_click"], [3, 1, 1, "", "generate_shepard_tone"], [3, 1, 1, "", "generate_sinusoid"], [3, 1, 1, "", "generate_tone_additive_synthesis"], [3, 1, 1, "", "generate_tone_fm_synthesis"], [3, 1, 1, "", "generate_tone_instantaneous_phase"], [3, 1, 1, "", "generate_tone_wavetable"]], "libsoni.core.pianoroll": [[4, 1, 1, "", "sonify_pianoroll_additive_synthesis"], [4, 1, 1, "", "sonify_pianoroll_clicks"], [4, 1, 1, "", "sonify_pianoroll_fm_synthesis"], [4, 1, 1, "", "sonify_pianoroll_sample"]], "libsoni.core.spectrogram": [[5, 1, 1, "", "sonify_spectrogram"], [5, 1, 1, "", "sonify_spectrogram_multi"]], "libsoni.core.tse": [[6, 1, 1, "", "sonify_tse_clicks"], [6, 1, 1, "", "sonify_tse_multiple_clicks"], [6, 1, 1, "", "sonify_tse_multiple_samples"], [6, 1, 1, "", "sonify_tse_sample"]], "libsoni.util": [[10, 0, 0, "-", "utils"]], "libsoni.util.utils": [[10, 1, 1, "", "fade_signal"], [10, 1, 1, "", "mix_sonification_and_original"], [10, 1, 1, "", "normalize_signal"], [10, 1, 1, "", "pitch_to_frequency"], [10, 1, 1, "", "smooth_weights"], [10, 1, 1, "", "visualize_pianoroll"], [10, 1, 1, "", "warp_sample"]]}, "objtypes": {"0": "py:module", "1": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"]}, "titleterms": {"chroma": 0, "libsoni": [0, 1, 2, 3, 4, 5, 6, 8, 10], "core": [0, 1, 2, 3, 4, 5, 6], "f0": 1, "featur": [2, 8], "method": 3, "piano": 4, "roll": 4, "pianorol": 4, "spectrogram": 5, "tse": 6, "index": [7, 9], "A": 8, "python": 8, "toolbox": 8, "sonifi": 8, "music": 8, "annot": 8, "represent": 8, "modul": 9, "util": 10}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.intersphinx": 1, "sphinx": 58}, "alltitles": {"Core Features (libsoni.core)": [[2, "core-features-libsoni-core"]], "Index": [[7, "index"]], "Module Index": [[9, "module-index"]], "Chroma (libsoni.core.chroma)": [[0, "module-libsoni.core.chroma"]], "F0 (libsoni.core.f0)": [[1, "module-libsoni.core.f0"]], "Methods (libsoni.core.methods)": [[3, "module-libsoni.core.methods"]], "Piano-Roll (libsoni.core.pianoroll)": [[4, "module-libsoni.core.pianoroll"]], "Spectrogram (libsoni.core.spectrogram)": [[5, "module-libsoni.core.spectrogram"]], "TSE (libsoni.core.tse)": [[6, "module-libsoni.core.tse"]], "libsoni: A Python Toolbox for Sonifying Music Annotations and Feature Representations": [[8, "libsoni-a-python-toolbox-for-sonifying-music-annotations-and-feature-representations"]], "Utils (libsoni.util.utils)": [[10, "module-libsoni.util.utils"]]}, "indexentries": {"libsoni.core.chroma": [[0, "module-libsoni.core.chroma"]], "module": [[0, "module-libsoni.core.chroma"], [1, "module-libsoni.core.f0"], [3, "module-libsoni.core.methods"], [4, "module-libsoni.core.pianoroll"], [5, "module-libsoni.core.spectrogram"], [6, "module-libsoni.core.tse"], [10, "module-libsoni.util.utils"]], "sonify_chroma_vector() (in module libsoni.core.chroma)": [[0, "libsoni.core.chroma.sonify_chroma_vector"]], "sonify_chromagram() (in module libsoni.core.chroma)": [[0, "libsoni.core.chroma.sonify_chromagram"]], "libsoni.core.f0": [[1, "module-libsoni.core.f0"]], "sonify_f0() (in module libsoni.core.f0)": [[1, "libsoni.core.f0.sonify_f0"]], "generate_click() (in module libsoni.core.methods)": [[3, "libsoni.core.methods.generate_click"]], "generate_shepard_tone() (in module libsoni.core.methods)": [[3, "libsoni.core.methods.generate_shepard_tone"]], "generate_sinusoid() (in module libsoni.core.methods)": [[3, "libsoni.core.methods.generate_sinusoid"]], "generate_tone_additive_synthesis() (in module libsoni.core.methods)": [[3, "libsoni.core.methods.generate_tone_additive_synthesis"]], "generate_tone_fm_synthesis() (in module libsoni.core.methods)": [[3, "libsoni.core.methods.generate_tone_fm_synthesis"]], "generate_tone_instantaneous_phase() (in module libsoni.core.methods)": [[3, "libsoni.core.methods.generate_tone_instantaneous_phase"]], "generate_tone_wavetable() (in module libsoni.core.methods)": [[3, "libsoni.core.methods.generate_tone_wavetable"]], "libsoni.core.methods": [[3, "module-libsoni.core.methods"]], "libsoni.core.pianoroll": [[4, "module-libsoni.core.pianoroll"]], "sonify_pianoroll_additive_synthesis() (in module libsoni.core.pianoroll)": [[4, "libsoni.core.pianoroll.sonify_pianoroll_additive_synthesis"]], "sonify_pianoroll_clicks() (in module libsoni.core.pianoroll)": [[4, "libsoni.core.pianoroll.sonify_pianoroll_clicks"]], "sonify_pianoroll_fm_synthesis() (in module libsoni.core.pianoroll)": [[4, "libsoni.core.pianoroll.sonify_pianoroll_fm_synthesis"]], "sonify_pianoroll_sample() (in module libsoni.core.pianoroll)": [[4, "libsoni.core.pianoroll.sonify_pianoroll_sample"]], "libsoni.core.spectrogram": [[5, "module-libsoni.core.spectrogram"]], "sonify_spectrogram() (in module libsoni.core.spectrogram)": [[5, "libsoni.core.spectrogram.sonify_spectrogram"]], "sonify_spectrogram_multi() (in module libsoni.core.spectrogram)": [[5, "libsoni.core.spectrogram.sonify_spectrogram_multi"]], "libsoni.core.tse": [[6, "module-libsoni.core.tse"]], "sonify_tse_clicks() (in module libsoni.core.tse)": [[6, "libsoni.core.tse.sonify_tse_clicks"]], "sonify_tse_multiple_clicks() (in module libsoni.core.tse)": [[6, "libsoni.core.tse.sonify_tse_multiple_clicks"]], "sonify_tse_multiple_samples() (in module libsoni.core.tse)": [[6, "libsoni.core.tse.sonify_tse_multiple_samples"]], "sonify_tse_sample() (in module libsoni.core.tse)": [[6, "libsoni.core.tse.sonify_tse_sample"]], "fade_signal() (in module libsoni.util.utils)": [[10, "libsoni.util.utils.fade_signal"]], "libsoni.util.utils": [[10, "module-libsoni.util.utils"]], "mix_sonification_and_original() (in module libsoni.util.utils)": [[10, "libsoni.util.utils.mix_sonification_and_original"]], "normalize_signal() (in module libsoni.util.utils)": [[10, "libsoni.util.utils.normalize_signal"]], "pitch_to_frequency() (in module libsoni.util.utils)": [[10, "libsoni.util.utils.pitch_to_frequency"]], "smooth_weights() (in module libsoni.util.utils)": [[10, "libsoni.util.utils.smooth_weights"]], "visualize_pianoroll() (in module libsoni.util.utils)": [[10, "libsoni.util.utils.visualize_pianoroll"]], "warp_sample() (in module libsoni.util.utils)": [[10, "libsoni.util.utils.warp_sample"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["core/chroma", "core/f0", "core/index", "core/methods", "core/pianoroll", "core/spectrogram", "core/tse", "genindex", "index", "py-modindex", "utils"], "filenames": ["core/chroma.rst", "core/f0.rst", "core/index.rst", "core/methods.rst", "core/pianoroll.rst", "core/spectrogram.rst", "core/tse.rst", "genindex.rst", "index.rst", "py-modindex.rst", "utils.rst"], "titles": ["Chroma (libsoni.core.chroma)", "F0 (libsoni.core.f0)", "Core Features (libsoni.core)", "Methods (libsoni.core.methods)", "Piano-Roll (libsoni.core.pianoroll)", "Spectrogram (libsoni.core.spectrogram)", "TSE (libsoni.core.tse)", "Index", "libsoni: A Python Toolbox for Sonifying Music Annotations and Feature Representations", "Module Index", "Utils (libsoni.util.utils)"], "terms": {"sonify_chroma_vector": 0, "chroma_vector": 0, "ndarrai": [0, 1, 3, 4, 5, 6, 10], "pitch_rang": [0, 3], "tupl": [0, 3, 6, 10], "int": [0, 1, 3, 4, 5, 6, 10], "20": [0, 3], "108": [0, 3], "filter": [0, 3], "bool": [0, 1, 3, 4, 5, 6, 10], "fals": [0, 3, 10], "f_center": [0, 3], "float": [0, 1, 3, 4, 5, 6, 10], "440": [0, 3, 4, 10], "0": [0, 1, 3, 4, 5, 6, 10], "octave_cutoff": [0, 3], "1": [0, 1, 3, 4, 5, 6, 10], "tuning_frequ": [0, 3, 4, 10], "fading_dur": [0, 1, 3, 5, 6, 10], "05": [0, 1, 3, 4, 5, 6], "sonification_dur": [0, 1, 4, 5, 6], "none": [0, 1, 3, 4, 5, 6, 10], "normal": [0, 1, 4, 5, 6, 10], "true": [0, 1, 4, 5, 6, 10], "f": [0, 1, 3, 4, 5, 6, 10], "22050": [0, 1, 3, 4, 5, 6, 10], "sourc": [0, 1, 3, 4, 5, 6, 8, 10], "sonifi": [0, 1, 4, 5, 6], "vector": 0, "us": [0, 1, 3, 4, 5, 6, 10], "sound": [0, 1, 3, 4, 6, 8], "synthesi": [0, 3, 4, 8], "base": [0, 1, 4, 10], "shepard": [0, 3], "tone": [0, 3, 10], "The": [0, 1, 3, 4], "can": [0, 1, 3, 4], "chang": [0, 3], "either": [0, 3], "option": [0, 3], "specifi": [0, 3], "pitch": [0, 3, 4, 6, 10], "rang": [0, 3], "both": [0, 3, 10], "also": [0, 3, 8], "combin": [0, 3], "shape": [0, 1, 3, 4, 5, 6, 10], "spectrum": [0, 3], "like": [0, 3], "bell": [0, 3], "curv": [0, 3], "center": [0, 3], "around": [0, 3], "frequenc": [0, 1, 3, 4, 5, 10], "while": [0, 1, 3, 4], "octav": [0, 3], "cutoff": [0, 3], "determin": [0, 1, 3, 4, 5, 6], "which": [0, 3], "amplitud": [0, 1, 3, 4, 6], "correspond": [0, 3, 4, 6, 10], "sinusoid": [0, 3, 5], "i": [0, 1, 3, 4, 5, 6, 8, 10], "5": [0, 1, 3, 4, 10], "paramet": [0, 1, 3, 4, 5, 6, 10], "np": [0, 1, 3, 4, 5, 6, 10], "float32": [0, 1, 3, 4, 5, 6, 10], "float64": [0, 1, 3, 4, 5, 6, 10], "n": [0, 1, 3, 4, 5, 6, 10], "12": [0, 10], "default": [0, 1, 3, 4, 5, 6, 10], "encount": [0, 3], "enabl": [0, 3, 8], "hertz": [0, 3, 4, 5, 10], "width": [0, 3], "tune": [0, 3, 4, 10], "durat": [0, 1, 3, 4, 5, 6, 10], "sonif": [0, 1, 3, 4, 5, 6, 8, 10], "sampl": [0, 1, 3, 4, 5, 6, 10], "fade": [0, 1, 3, 4, 5, 6, 10], "out": [0, 1, 3, 4, 5, 6, 10], "begin": [0, 1, 4, 5, 6], "end": [0, 1, 4, 5, 6, 10], "second": [0, 1, 3, 4, 5, 6, 10], "output": [0, 1, 4, 5, 6, 10], "signal": [0, 1, 3, 4, 5, 6, 10], "rate": [0, 1, 3, 4, 5, 6, 10], "per": [0, 1, 3, 4, 5, 6, 10], "return": [0, 1, 3, 4, 5, 6, 10], "chroma_sonif": 0, "m": [0, 1, 3, 4, 5, 6, 10], "sonify_chromagram": 0, "chromagram": 0, "h": 0, "hop": 0, "size": [0, 10], "stft": 0, "calcul": [0, 10], "For": [0, 4, 8, 10], "magnitud": 0, "reach": 0, "half": 0, "center_frequ": 0, "twice": [0, 1, 3, 4], "sonify_f0": 1, "time_f0": 1, "gain": [1, 3, 10], "partial": [1, 3, 4], "arrai": [1, 3, 4, 5, 6], "partials_amplitud": [1, 3, 4], "partials_phase_offset": [1, 3, 4], "trajectori": 1, "given": [1, 3, 4, 6, 10], "2d": 1, "numpi": [1, 4, 6], "must": 1, "contain": [1, 3, 4, 5, 10], "time": [1, 5, 6, 10], "posit": [1, 6], "associ": 1, "instantan": [1, 3], "phase": [1, 3, 4], "inform": [1, 4, 10], "summat": 1, "2": [1, 3, 4, 10], "valu": [1, 10], "desir": [1, 3, 4, 10], "fundament": [1, 3, 4], "an": [1, 3, 4, 8, 10], "lead": [1, 3, 4], "onli": [1, 3, 4, 8], "caus": [1, 3, 4], "first": [1, 3, 4], "have": [1, 3, 4], "ha": [1, 3, 4], "If": 1, "all": [1, 3, 4], "ar": [1, 3, 4], "set": [1, 3, 4, 10], "offset": [1, 3, 4, 6], "when": [1, 3, 4], "defin": [1, 3, 4], "f0_sonif": 1, "generate_click": 3, "69": [3, 4, 6, 10], "click_fading_dur": [3, 6], "gener": [3, 4, 8, 10], "click": [3, 4, 6, 10], "color": [3, 10], "generate_shepard_ton": 3, "pitch_class": 3, "class": 3, "01": [3, 4, 10], "shepard_ton": 3, "generate_sinusoid": 3, "generate_tone_additive_synthesi": 3, "addit": [3, 4], "custom": [3, 4, 6], "generated_ton": 3, "generate_tone_fm_synthesi": 3, "modulation_rate_rel": 3, "modulation_amplitud": 3, "modul": [3, 4], "synthes": 3, "multipl": [3, 4, 6], "fraction": [3, 4], "amount": [3, 4, 10], "generate_tone_instantaneous_phas": 3, "frequency_vector": 3, "gain_vector": 3, "wise": [3, 4], "generate_tone_wavet": 3, "wavet": 3, "depend": 3, "resampl": 3, "sonify_pianoroll_additive_synthesi": 4, "pianoroll_df": [4, 10], "datafram": [4, 10], "signal_fading_dur": 4, "note_fading_dur": 4, "represent": [4, 10], "assum": 4, "row": 4, "event": [4, 6, 8, 10], "describ": 4, "start": 4, "where": 4, "pd": [4, 10], "final": 4, "each": [4, 10], "note": 4, "pianoroll_sonif": 4, "sonify_pianoroll_click": 4, "colour": 4, "waveform": [4, 6, 10], "form": [4, 6], "1d": [4, 6], "sonify_pianoroll_fm_synthesi": 4, "mod_rate_rel": 4, "mod_amp": 4, "fm": 4, "sonify_pianoroll_sampl": 4, "reference_pitch": [4, 10], "audio": [4, 6, 10], "warp": [4, 6, 10], "version": [4, 6, 10], "k": [4, 5, 6, 10], "origin": [4, 10], "sonify_spectrogram": 5, "frequency_coeffici": 5, "time_coeffici": 5, "coeffici": [5, 6], "spectrogram_sonif": 5, "sonify_spectrogram_multi": 5, "num_process": 5, "multiprocess": 5, "effici": [5, 8], "number": [5, 10], "process": [5, 8], "sonify_tse_click": 6, "time_posit": 6, "click_pitch": 6, "25": 6, "click_amplitud": 6, "offset_rel": 6, "rel": 6, "indic": 6, "max": [6, 10], "tse_sonif": 6, "sonify_tse_multiple_click": 6, "times_pitch": 6, "list": 6, "thi": [6, 10], "function": [6, 8, 10], "creat": 6, "differ": 6, "compris": 6, "sonify_tse_multiple_sampl": 6, "times_sampl": 6, "sonify_tse_sampl": 6, "e": 6, "g": 6, "metronom": 6, "open": 8, "tailor": 8, "By": 8, "emploi": 8, "explicit": 8, "easi": 8, "understand": 8, "techniqu": 8, "offer": 8, "trigger": 8, "spectral": 8, "harmon": 8, "tonal": 8, "melod": 8, "rhythmic": 8, "aspect": 8, "unlik": 8, "exist": 8, "softwar": 8, "librari": 8, "focus": 8, "creativ": 8, "applic": 8, "design": 8, "meet": 8, "specif": 8, "need": 8, "mir": 8, "research": 8, "educ": 8, "It": 8, "aim": 8, "simplifi": 8, "explor": 8, "promot": 8, "more": 8, "intuit": 8, "approach": 8, "data": 8, "analysi": 8, "user": 8, "interact": 8, "acoust": 8, "meaning": 8, "wai": 8, "As": 8, "result": 8, "improv": 8, "analyt": 8, "capabl": 8, "scientist": 8, "up": 8, "new": 8, "avenu": 8, "innov": 8, "discoveri": 8, "fade_sign": 10, "normalized_sign": 10, "mix_sonification_and_origin": 10, "original_audio": 10, "gain_lin_sonif": 10, "gain_lin_original_audio": 10, "pan": 10, "take": 10, "mix": 10, "stereo": 10, "linear": 10, "control": 10, "mean": 10, "left": 10, "right": 10, "channel": 10, "same": 10, "stereo_audio": 10, "normalize_sign": 10, "pitch_to_frequ": 10, "refer": 10, "smooth_weight": 10, "weight": 10, "fading_sampl": 10, "smooth": 10, "input": 10, "weights_smooth": 10, "visualize_pianorol": 10, "xlabel": 10, "str": 10, "ylabel": 10, "titl": 10, "fmp_1": 10, "velocity_alpha": 10, "figsiz": 10, "4": 10, "ax": 10, "dpi": 10, "72": 10, "figur": 10, "visual": 10, "piano": 10, "roll": 10, "format": 10, "label": [4, 10], "text": 10, "x": 10, "axi": 10, "y": 10, "colormap": 10, "see": [8, 10], "http": 10, "github": [8, 10], "com": 10, "meinardmuel": 10, "libfmp": 10, "rectangular": 10, "region": 10, "veloc": [4, 10], "matplotlib": 10, "object": 10, "resolut": 10, "fig": 10, "instanc": 10, "warp_sampl": 10, "target_pitch": 10, "target_duration_sec": 10, "provid": 10, "get": 10, "shift": 10, "librosa": 10, "effect": 10, "pitch_shift": 10, "tempor": 10, "align": 10, "shorter": 10, "than": 10, "crop": 10, "els": 10, "longer": 10, "zero": 10, "pad": 10, "target": 10, "avoid": 10, "warped_sampl": 10, "column": 4, "instal": 8, "instruct": 8, "jupyt": 8, "notebook": 8, "repositori": 8, "groupmm": []}, "objects": {"libsoni.core": [[0, 0, 0, "-", "chroma"], [1, 0, 0, "-", "f0"], [3, 0, 0, "-", "methods"], [4, 0, 0, "-", "pianoroll"], [5, 0, 0, "-", "spectrogram"], [6, 0, 0, "-", "tse"]], "libsoni.core.chroma": [[0, 1, 1, "", "sonify_chroma_vector"], [0, 1, 1, "", "sonify_chromagram"]], "libsoni.core.f0": [[1, 1, 1, "", "sonify_f0"]], "libsoni.core.methods": [[3, 1, 1, "", "generate_click"], [3, 1, 1, "", "generate_shepard_tone"], [3, 1, 1, "", "generate_sinusoid"], [3, 1, 1, "", "generate_tone_additive_synthesis"], [3, 1, 1, "", "generate_tone_fm_synthesis"], [3, 1, 1, "", "generate_tone_instantaneous_phase"], [3, 1, 1, "", "generate_tone_wavetable"]], "libsoni.core.pianoroll": [[4, 1, 1, "", "sonify_pianoroll_additive_synthesis"], [4, 1, 1, "", "sonify_pianoroll_clicks"], [4, 1, 1, "", "sonify_pianoroll_fm_synthesis"], [4, 1, 1, "", "sonify_pianoroll_sample"]], "libsoni.core.spectrogram": [[5, 1, 1, "", "sonify_spectrogram"], [5, 1, 1, "", "sonify_spectrogram_multi"]], "libsoni.core.tse": [[6, 1, 1, "", "sonify_tse_clicks"], [6, 1, 1, "", "sonify_tse_multiple_clicks"], [6, 1, 1, "", "sonify_tse_multiple_samples"], [6, 1, 1, "", "sonify_tse_sample"]], "libsoni.util": [[10, 0, 0, "-", "utils"]], "libsoni.util.utils": [[10, 1, 1, "", "fade_signal"], [10, 1, 1, "", "mix_sonification_and_original"], [10, 1, 1, "", "normalize_signal"], [10, 1, 1, "", "pitch_to_frequency"], [10, 1, 1, "", "smooth_weights"], [10, 1, 1, "", "visualize_pianoroll"], [10, 1, 1, "", "warp_sample"]]}, "objtypes": {"0": "py:module", "1": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"]}, "titleterms": {"chroma": 0, "libsoni": [0, 1, 2, 3, 4, 5, 6, 8, 10], "core": [0, 1, 2, 3, 4, 5, 6], "f0": 1, "featur": [2, 8], "method": 3, "piano": 4, "roll": 4, "pianorol": 4, "spectrogram": 5, "tse": 6, "index": [7, 9], "A": 8, "python": 8, "toolbox": 8, "sonifi": 8, "music": 8, "annot": 8, "represent": 8, "modul": 9, "util": 10}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.intersphinx": 1, "sphinx": 58}, "alltitles": {"Core Features (libsoni.core)": [[2, "core-features-libsoni-core"]], "Index": [[7, "index"]], "Module Index": [[9, "module-index"]], "Chroma (libsoni.core.chroma)": [[0, "module-libsoni.core.chroma"]], "F0 (libsoni.core.f0)": [[1, "module-libsoni.core.f0"]], "Methods (libsoni.core.methods)": [[3, "module-libsoni.core.methods"]], "Piano-Roll (libsoni.core.pianoroll)": [[4, "module-libsoni.core.pianoroll"]], "Spectrogram (libsoni.core.spectrogram)": [[5, "module-libsoni.core.spectrogram"]], "TSE (libsoni.core.tse)": [[6, "module-libsoni.core.tse"]], "Utils (libsoni.util.utils)": [[10, "module-libsoni.util.utils"]], "libsoni: A Python Toolbox for Sonifying Music Annotations and Feature Representations": [[8, "libsoni-a-python-toolbox-for-sonifying-music-annotations-and-feature-representations"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index f6464b4..c69ebe8 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -18,6 +18,9 @@ by enabling users to interact with their data in acoustically meaningful ways. As a result, ``libsoni`` not only improves the analytical capabilities of music scientists but also opens up new avenues for innovative music analysis and discovery. +For installation instructions and educational Jupyter notebooks, see the `GitHub repository +`_. + .. toctree:: :maxdepth: 2 diff --git a/libsoni/core/__pycache__/__init__.cpython-38.pyc b/libsoni/core/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index c6c3a80..0000000 Binary files a/libsoni/core/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/libsoni/core/__pycache__/chroma.cpython-38.pyc b/libsoni/core/__pycache__/chroma.cpython-38.pyc deleted file mode 100644 index 2e1cbbd..0000000 Binary files a/libsoni/core/__pycache__/chroma.cpython-38.pyc and /dev/null differ diff --git a/libsoni/core/__pycache__/f0.cpython-38.pyc b/libsoni/core/__pycache__/f0.cpython-38.pyc deleted file mode 100644 index 5ae39ca..0000000 Binary files a/libsoni/core/__pycache__/f0.cpython-38.pyc and /dev/null differ diff --git a/libsoni/core/__pycache__/methods.cpython-38.pyc b/libsoni/core/__pycache__/methods.cpython-38.pyc deleted file mode 100644 index b3878a1..0000000 Binary files a/libsoni/core/__pycache__/methods.cpython-38.pyc and /dev/null differ diff --git a/libsoni/core/__pycache__/pianoroll.cpython-38.pyc b/libsoni/core/__pycache__/pianoroll.cpython-38.pyc deleted file mode 100644 index 7a1f189..0000000 Binary files a/libsoni/core/__pycache__/pianoroll.cpython-38.pyc and /dev/null differ diff --git a/libsoni/core/__pycache__/spectrogram.cpython-38.pyc b/libsoni/core/__pycache__/spectrogram.cpython-38.pyc deleted file mode 100644 index dfe12e9..0000000 Binary files a/libsoni/core/__pycache__/spectrogram.cpython-38.pyc and /dev/null differ diff --git a/libsoni/core/__pycache__/tse.cpython-38.pyc b/libsoni/core/__pycache__/tse.cpython-38.pyc deleted file mode 100644 index e19510e..0000000 Binary files a/libsoni/core/__pycache__/tse.cpython-38.pyc and /dev/null differ diff --git a/libsoni/util/__pycache__/__init__.cpython-38.pyc b/libsoni/util/__pycache__/__init__.cpython-38.pyc index 9a95619..c41c36f 100644 Binary files a/libsoni/util/__pycache__/__init__.cpython-38.pyc and b/libsoni/util/__pycache__/__init__.cpython-38.pyc differ diff --git a/libsoni/util/__pycache__/utils.cpython-38.pyc b/libsoni/util/__pycache__/utils.cpython-38.pyc index 1c44473..49d03d3 100644 Binary files a/libsoni/util/__pycache__/utils.cpython-38.pyc and b/libsoni/util/__pycache__/utils.cpython-38.pyc differ