{ "cells": [ { "cell_type": "markdown", "id": "349872df-bc22-471b-b079-a5f76a227a5d", "metadata": {}, "source": [ "## Click-track\n", "\n", "**maelzel** has a dedicated module for generating click tracks. A click track can be extracted from any score structure. It generated a `Score` with notes for each click, allowing to differentiate between strong, weak and compound beats. " ] }, { "cell_type": "code", "execution_count": 1, "id": "fd883318-4518-4e05-8215-ddd1bd01f32f", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": { "image/png": { "width": 916.5 } }, "output_type": "display_data" } ], "source": [ "from maelzel.core import *\n", "from maelzel.core import clicktrack\n", "\n", "scorestruct = ScoreStruct(r'''\n", "4/4, 72\n", ".\n", "3/8+2/8\n", "3/8\n", "2/4, 96\n", ".\n", "5/4\n", "3/4\n", "''')\n", "clicktrack = clicktrack.makeClickTrack(scorestruct)\n", "clicktrack.show()\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "7e2d0b48-7eef-4dc3-812d-12ed2d1534b6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "OfflineRenderer(outfile=\"clicktrack.flac\", 1 channels, 17.60 secs, 44100 Hz)
\n", "
\n", " \n", " " ], "text/plain": [ "OfflineRenderer(sr=44100)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clicktrack.rec('clicktrack.flac', nchnls=1)" ] }, { "cell_type": "markdown", "id": "9099f320-9501-4a72-b7e2-98d17476c189", "metadata": {}, "source": [ "A clicktrack can be exported as MIDI and imported in any DAW to use for rehearsal / performance. " ] }, { "cell_type": "code", "execution_count": 4, "id": "60890a17-1354-41b7-b22b-2ffa1a59c150", "metadata": {}, "outputs": [], "source": [ "clicktrack.write('~/tmp/clicktrack.mid')" ] }, { "cell_type": "markdown", "id": "80c70cf5-df9f-4630-9f98-9168be0b9f32", "metadata": {}, "source": [ "This is, for example, the result in Reaper:\n", "\n", "![](assets/clicktrack-export-midi.jpg)" ] }, { "cell_type": "code", "execution_count": null, "id": "4fcd7808-25ae-4291-aef1-913d4208b6bb", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.6" } }, "nbformat": 4, "nbformat_minor": 5 }