{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import sys\n", "from sonipy.sonify import SonifyTool" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# % matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# The basics \n", "Find the soni-py code on github [here](github.com/lockepatton/sonipy), and an online interactive version [here](https://mybinder.org/v2/gh/lockepatton/sonipy/master?filepath=demos%2FTutorial.ipynb)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, let's create some x and y data to sonify." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "x = np.linspace(0,5,50)\n", "y = np.sin(x**2)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(4,2))\n", "plt.scatter(x,y);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is the simpliest way to sonify an audio file. The tone can then be played in a jupyter notebook." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "multitones created\n" ] }, { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Tone = SonifyTool(x, y)\n", "Tone.play(autoplay=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "SonifyTool takes a `bliplength` parameter to change the time length of each blip in seconds." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also save the tone as follows:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Writing .\\tones/multitone.wav\n", "Saved multitone as .\\tones/multitone.wav.\n" ] } ], "source": [ "Tone.save(path='.')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Saving the tone creates a folder called \"tones\" in the current directory.\n", "\n", "If you want your tones saved elsewhere, change path to your desired directory." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# The adjustments\n", "\n", "## duration\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are three inputs that help you change how x scales with time, which `SonifyTool` will take inside a `durations_args` dictionary.\n", "\n", "- `time_total` : Total time difference between first and last blip (in ms).\n", "- `dtime_min` : Minimum allowed time difference between blips (in ms).\n", "- `dtime_max` : Maximum allowed time difference between blips (in ms)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "multitones created\n" ] }, { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# choose 1 of 3\n", "duration_args = {\n", " \"time_total\": 1000, # 10 seconds or 10,000 ms\n", "# \"dtime_min\": 50, # .2 second or 200 ms\n", "# \"dtime_max\": 100, # .1 second or 500 ms\n", "}\n", "\n", "Tone = SonifyTool(x,y, duration_args=duration_args)\n", "Tone.play(autoplay=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alternately, you can simply pass a `duration_scale` (in units of x value per ms)." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "multitones created\n" ] }, { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "duration_scale = 1. / 200. # x value / time (ms)\n", "\n", "Tone = SonifyTool(x, y, duration_scale=duration_scale)\n", "Tone.play(autoplay=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## frequency\n", "\n", "Here's how to change how frequency scales with y. `SonifyTool` will take `frequency_args` with the following options for inputs:\n", "\n", "- `frequency_min` : the minimum frequency that the y values hit.\n", "- `frequency_max` : the maximum frequency that the y values hit.\n", "- `cents_per_value` : a y scale parameter, in units of \"pitch\" per y value (cents/y). \n", "\n", "[Cents](https://en.wikipedia.org/wiki/Cent_(music)) are a logarithmic unit of tone intervals." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "multitones created\n" ] }, { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C4 = 261.6 # Hz\n", "\n", "# choose 2 of 3\n", "frequency_args = {\n", "# \"frequency_min\": 2 * C4,\n", " \"frequency_max\": 10 * C4,\n", " \"cents_per_value\": 1400.,\n", "}\n", "\n", "Tone = SonifyTool(x, y, frequency_args=frequency_args)\n", "Tone.play(autoplay=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# The plots" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The same information that is contained inside the audio file can be visualized in the following plot formats. The beauty of the soundfile is not having to deal with these, hence why I've left them for last.\n", "\n", "As a plot, x and y would look like this." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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ioyMdHU4hvT1118rJiZGv/32m1q2bKk1a9YoIiLC1WEZzooVK/Tll1/qiy++cHUohjZgwAC9+eabuuyyy3T48GE9++yzio2N1TfffKN27dq5OrzzRrLkJUwmk9V9s9lcowxobJMmTdJXX32lTz75xNWhGFaPHj2Um5ur48ePa9WqVRo/frw2b95MwtQABw4c0COPPKIPP/xQzZo1c3U4hjZ8+HDL31FRUYqJiVG3bt20bNkyJScnuzCyC0Oy5OECAwPl6+tboxXpyJEjNVqbgMb00EMP6f3331dmZqY6derk6nAMy8/PT5deeqkkqV+/fvriiy/02muvacGCBS6OzDi2b9+uI0eOKDo62lJWUVGhzMxMzZ07V6WlpfL19XVhhMZ10UUXKSoqSrt373Z1KBeEMUsezs/PT9HR0crIyLAqz8jIUGxsrIuigjczm82aNGmSVq9erY8++khhYWGuDsmjmM1mlZaWujoMQ7n22mv19ddfKzc313Lr16+f7rjjDuXm5pIoXYDS0lLl5+crJCTE1aFcEFqWvEBycrISEhLUr18/xcTEaOHChSooKNDEiRNdHZqhnDx5Ut9//73l/t69e5Wbm6u2bduqS5cuLozMWB588EG98847Wrt2rVq1amVp9QwICFDz5s1dHJ2x/OUvf9Hw4cPVuXNnnThxQitWrNCmTZu0YcMGV4dmKK1ataoxZu6iiy5Su3btGEvXQFOmTNGoUaPUpUsXHTlyRM8++6xKSko0fvx4V4d2QUiWvMC4ceP0888/a8aMGSosLFRkZKTS09PVtWtXV4dmKNu2bdM111xjuV/d/z5+/HgtXbrURVEZT/USFldffbVV+ZIlSzRhwoTGD8jADh8+rISEBBUWFiogIECXX365NmzYoOuuu87VocFLHTx4ULfddpuOHj2q9u3ba+DAgdq6davhf29YZwkAAMAGxiwBAADYQLIEAABgA8kSAACADSRLAAAANpAsAQAA2ECyBAAAYAPJEgAAgA0kSwBgp9DQUM2ZM8fVYQBoZCRLAAyjoqJCsbGxGjNmjFV5cXGxOnfurKeffrrW7aKionTPPffU+ti7776rpk2b6vDhww6PF4BnIFkCYBi+vr5atmyZNmzYoLfffttS/tBDD6lt27Z65plnat0uMTFR//znP3X69Okajy1evFgjR45UUFCQ0+IGYGwkSwAMpXv37kpNTdVDDz2kH3/8UWvXrtWKFSu0bNky+fn51bpNQkKCSktL9X//939W5QUFBfroo4+UmJioH374QTfccIOCgoLUsmVLXXnlldq4cWOdcezbt08mk0m5ubmWsuPHj8tkMmnTpk2Wsry8PI0YMUItW7ZUUFCQEhISdPToUcvj//rXvxQVFaXmzZurXbt2GjJkiE6dOnV+Lw4ApyBZAmA4Dz30kHr37q0777xT9957r5555hldccUVddZv166dbrjhBi1ZssSqfMmSJQoKCtLw4cN18uRJjRgxQhs3blROTo6GDh2qUaNGqaCg4LzjLCws1FVXXaUrrrhC27Zt04YNG3T48GGNHTvW8vhtt92mu+++W/n5+dq0aZNuuukmcclOwL00cXUAANBQJpNJ8+fPV8+ePRUVFaUnn3yy3m3uvvtujRgxQnv27NEll1wis9mspUuXasKECfL19VXv3r3Vu3dvS/1nn31Wa9as0fvvv69JkyadV5zz589X3759NXv2bEvZ4sWL1blzZ3333Xc6efKkysvLddNNN1muyh4VFXVezwXAeWhZAmBIixcvVosWLbR3714dPHiw3vrx8fHq1KmTpXXpo48+0r59+3TXXXdJkk6dOqU///nPioiI0MUXX6yWLVvq22+/vaCWpe3bt+vjjz9Wy5YtLbfw8HBJ0g8//KDevXvr2muvVVRUlG655RYtWrRIx44dO+/nA+AcJEsADCc7O1uvvvqq1q5dq5iYGCUmJtbbdeXj46MJEyZo2bJlqqys1JIlSzR48GB1795dkvT4449r1apVmjVrlrKyspSbm6uoqCiVlZXVuT9JVs975swZqzqVlZUaNWqUcnNzrW67d+/W4MGD5evrq4yMDK1fv14RERH629/+ph49emjv3r0X8vIAcDCSJQCG8uuvv2r8+PG67777NGTIEP3jH//QF198oQULFtS77V133aWDBw9q9erVWr16tRITEy2PZWVlacKECbrxxhsVFRWl4OBg7du3r859tW/fXlLVuKNqZw/2lqS+ffvqm2++UWhoqC699FKr20UXXSSpqktx0KBBmj59unJycuTn56c1a9Y04BUB4GwkSwAM5cknn1RlZaWef/55SVKXLl308ssv6/HHH7eZ3EhSWFiY/vCHP+jee+9V06ZNdfPNN1seu/TSS7V69Wrl5uZqx44duv3221VZWVnnvpo3b66BAwfqueeeU15enjIzM2us8/Tggw/ql19+0W233abPP/9ce/bs0Ycffqi7775bFRUV+uyzzzR79mxt27ZNBQUFWr16tX766Sf17Nnz/F8gAA5HsgTAMDZv3qw33nhDS5cutbTMSFJSUpJiY2Pt6o5LTEzUsWPHdOutt6pFixaW8ldffVVt2rRRbGysRo0apaFDh6pv374297V48WKdOXNG/fr10yOPPKJnn33W6vGOHTvq008/VUVFhYYOHarIyEg98sgjCggIkI+Pj1q3bq3MzEyNGDFCl112mZ5++mm9/PLLGj58+Hm8OgCcxWRmjioAAECdaFkCAACwgWQJAADABpIlAAAAG0iWAAAAbCBZAgAAsIFkCQAAwAaSJQAAABtIlgAAAGwgWQIAALCBZAkAAMAGkiUAAAAbSJYAAABs+P/QWHHdRogNdAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sonipy.visualisation import plotData\n", "fig, axes = plotData(Tone)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Tone.plotTone()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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VniJZDiGioiIiChCbKEiorhgiwYlOrbCWgsrVEQUF+xSMjYe78ixCzwyZvsOssuPiIiIKEJsoSKiqGHahMTBFsTIsdUpMmb7DrJCRURRw0zpiYPHO3Ls8ouM2b6DrFARUVyY7WZpNazwUryZ7TvIMVREREREEWILFRERhYn32z6R2b6DrFARERHFmdkqDxSOXX5EREREEWILFRERUZyZbQB2LJjtmLBCRUREFGfxrgwYkdmOCStUREREcWa21phYMNsx4RgqIiIiogixhYqIiCjO4t26YkRmOyasUBEREcWZ2bq3KBwrVERERHHGCpL5cQwVERERUYRYoSIiIiKKECtURERERBFihYqIiIgoQqxQEREREUWIFSoiIiKiCLFCRURERBQhVqiIiIiIIsQKFREREVGEWKEiIiIiihArVEREREQRYoWKiIiIKEKsUBERERFFiBUqIiIiogixQkVEREQUIUtVqBYuXIg2bdogKSkJ3bt3x/vvvx/vTSIiIqIEYJkK1auvvopp06bhvvvuw9atW9GvXz8MGzYMe/fujfemERERkclZpkK1YMECTJ48Gb/85S/RsWNH/OEPf0DLli2xaNGieG8aERERmZwlKlTV1dUoKCjA4MGDa30+ePBgbNy4sc7f8fl8KCsrq/WHiIiIqC7OeG9ALBw+fBiBQABZWVm1Ps/KykJRUVGdvzN//nzMmTMn7PNTK1YBVERvQ4mIiCiqysoqAQCapun6/1iiQnWCzWar9bOmaWGfnTBr1ixMnz499POuXbtw/vnno2XLlrpuIxEREUXfkSNH4PV6dSvfEhWqZs2aweFwhLVGFRcXh7VaneDxeODxeEI/5+XlAQD27t2r6wkxmrKyMrRs2RL79u1DWlpavDcnZrjf3G8r4H5zv62gtLQUrVq1Qnp6uq7/jyUqVG63G927d8eaNWtw1VVXhT5fs2YNrrzySqUy7Pbjw828Xq+lvognpKWlcb8thPttLdxva7Hqfp94juvFEhUqAJg+fTrGjx+PHj16oE+fPnjuueewd+9e3HLLLfHeNCIiIjI5y1Soxo4diyNHjuB3v/sdCgsLkZ+fjzfffDPUlUdERETUUJapUAHArbfeiltvvbVBv+vxePDggw/WGldlBdxv7rcVcL+531bA/dZ3v22a3vMIiYiIiBKcJRJ7EhEREemJFSoiIiKiCLFC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K6+EldW8efM6/49mzZoBON71dyLG4XBgzZo12LhxI9555x089dRTuO+++7Bly5bQrL4ffvjhtOUSkXmxy4+ILK1bt27YuXMnMjMz0bZt21p/6ptFeM455yAtLQ1ffPFFrc9tNhsuvPBCzJkzB1u3boXb7cbrr78e+vft27fD5XKhc+fOuu4TEcUeK1REZGnXXXcdmjVrhiuvvBLvv/8+du3ahfXr1+POO+/E/v376/wdu92OgQMH4oMPPgh9tmXLFsybNw8ff/wx9u7di5UrV+LQoUPo2LFjKOb9999Hv379Ql1/RJQ4WKEiIktr1KgRNmzYgFatWmHUqFHo2LEjbrzxRlRWViItLa3e37v55puxYsWKUNdhWloaNmzYgMsvvxzt27fH/fffj8cffxzDhg0L/c7y5ctx00036b5PRBR7TOxJRNQAmqahd+/emDZtGq699tozxr/xxhu46667sG3bNjidHL5KlGjYQkVE1AA2mw3PPfcc/H6/Unx5eTmWLFnCyhRRgmILFREREVGE2EJFREREFCFWqIiIiIgixAoVERERUYRYoSIiIiKKECtURERERBFihYqIiIgoQqxQEREREUWIFSoiIiKiCLFCRURERBSh/w9vv5iVPAOq+gAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Tone.plotSpectrogram();" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABRTklEQVR4nO3dfXwU1b0/8M/m+YEkkABZIgGjBhUDiEERtILyYKlIvd5fsUKt/ZX+qlWpucLPivTW2KsJ5V6BCpVbLRWES2n7U6ytT4QqUQwIRNEQkAeB8JQQgbBJSNhNds/vj5DNzuzM7MzubHY2+bxfr7zcnTkzc3YSOd8953vO2IQQAkREREQWEhPpChARERHJMUAhIiIiy2GAQkRERJbDAIWIiIgshwEKERERWQ4DFCIiIrIcBihERERkOQxQiIiIyHLiIl2BYHg8Hpw6dQppaWmw2WyRrg4RERHpIIRAU1MTcnJyEBOj3UcSlQHKqVOnkJubG+lqEBERURCOHz+OwYMHa5aJygAlLS0NQMcHTE9Pj3BtiIiISI/Gxkbk5uZ623EtURmgdA7rpKenM0AhIiKKMnrSM5gkS0RERJbDAIWIiIgshwEKERERWQ4DFCIiIrIcBihERERkOQxQiIiIyHIYoBAREZHlMEAhIiIiy2GAQkRERJbDAIWIiIgshwEKERERWQ4DFCIiIrIcBihR7utvmvHyR1/jYps70lUhIiIyTVQ+zZi6THqhHABw7kIbnpp2TYRrQ0REZA72oPQQn9U0RLoKREREpjEcoJw8eRI/+MEPkJWVhZSUFFx//fWorKz07hdCoLi4GDk5OUhOTsbEiRNRXV0tOYfT6cTcuXPRv39/pKamYsaMGThx4kTon6YX23+6KdJVICIiMo2hAKWhoQG33HIL4uPj8e6772Lv3r144YUX0LdvX2+ZxYsXY8mSJVixYgV27twJu92OKVOmoKmpqwEtKirCxo0bsWHDBmzduhXNzc2YPn063G7mUQTL0doW6SoQERGZxiaEEHoLP/XUU/jkk0/w8ccfK+4XQiAnJwdFRUX4xS9+AaCjtyQ7Oxu/+c1v8NBDD8HhcGDAgAFYu3Yt7rvvPgDAqVOnkJubi3feeQd33nlnwHo0NjYiIyMDDocD6enpeqvfI13+1Nve10cX3RXBmhAREWkz0n4b6kF56623MGbMGHzve9/DwIEDMXr0aLzyyive/UeOHEFdXR2mTp3q3ZaYmIgJEyagoqICAFBZWYm2tjZJmZycHBQUFHjLEBERUe9mKEA5fPgwVq5cifz8fLz//vt4+OGH8fOf/xyvvfYaAKCurg4AkJ2dLTkuOzvbu6+urg4JCQno16+fahk5p9OJxsZGyQ8RERH1XIamGXs8HowZMwYlJSUAgNGjR6O6uhorV67ED3/4Q285m80mOU4I4bdNTqtMaWkpnn32WSNVJSIioihmqAdl0KBBGD58uGTbtddei2PHjgEA7HY7APj1hNTX13t7Vex2O1wuFxoaGlTLyC1YsAAOh8P7c/z4cSPVJiIioihjKEC55ZZbsH//fsm2AwcOYOjQoQCAvLw82O12lJWVefe7XC6Ul5dj/PjxAIDCwkLEx8dLytTW1mLPnj3eMnKJiYlIT0+X/BAREVHPZWiI59/+7d8wfvx4lJSUYObMmdixYwdefvllvPzyywA6hnaKiopQUlKC/Px85Ofno6SkBCkpKZg1axYAICMjA3PmzMG8efOQlZWFzMxMzJ8/HyNGjMDkyZPN/4REREQUdQwFKDfeeCM2btyIBQsW4Ne//jXy8vKwbNkyzJ4921vmySefRGtrKx555BE0NDRg7Nix2LRpE9LS0rxlli5diri4OMycOROtra2YNGkSVq9ejdjYWPM+GREREUUtQ+ugWAXXQenCdVCIiChahG0dFCIiIqLuwACFiIiILIcBChEREVkOAxQiIiKyHAYoREREZDkMUIiIiMhyGKAQERGR5TBAISIiIsthgEJERESWwwCFiIiILIcBChEREVkOAxQiIiKyHAYoREREZDkMUIiIiMhyGKAQERGR5TBAISIiIsthgEJERESWwwCFiIiILIcBChEREVkOAxQiIiKyHAYoREREZDkMUIiIiMhyGKAQERGR5TBAISIiIsthgEJERESWwwCFiIiILIcBChEREVkOAxQiIiKyHAYoREREZDkMUIgsoNnZDiFEpKtBRGQZDFCIIqyypgEFz7yPX7z+ZaSrQkRkGQxQiCLsxX8eBAD8ZdeJCNeEiMg6GKAQERGR5TBAISIiIsthgEJERESWwwCFKMLKD3wT6SoQEVkOAxQiIiKyHAYoREREZDkMUIiIiMhyGKAQERGR5TBAISIiIsthgEJERESWwwCFiIiILIcBChEREVmOoQCl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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Tone.plotSpectrum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note the blip plot below is not supported in python 3.7:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'3.11.5'" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pythonversion = (sys.version.split(' ')[0])\n", "pythonversion" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "if pythonversion[:3] != \"3.7\":\n", " Tone.plotBlips()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# For the extra curious" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Hidden information\n", "The details of the sonification can be found inside Tone. These include details like the y frequency scale (cent / y value), the x durations scale (x value / ms), total time (ms), or any of the following:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['bliplength',\n", " 'multitone',\n", " 'multitones',\n", " 'x',\n", " 'x_dtime_max',\n", " 'x_dtime_min',\n", " 'x_durations',\n", " 'x_dx',\n", " 'x_dx_max',\n", " 'x_dx_min',\n", " 'x_scale',\n", " 'x_starttimes',\n", " 'x_time_total',\n", " 'y',\n", " 'y_cents_per_value',\n", " 'y_freq_translate_to_range',\n", " 'y_frequencies',\n", " 'y_frequency_max',\n", " 'y_frequency_min',\n", " 'y_input_frequency_args',\n", " 'y_inputs',\n", " 'y_n_inputs',\n", " 'y_value_max',\n", " 'y_value_min',\n", " 'y_values']" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Tone.keys" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Can I play with the actual soundfile?\n", "\n", "If you'd like to mess with the soundfile once created, you should play with `Tone.multitone`, which is an instance of `thinkdsp.Wave`. For all the details on how to use it, see [ThinkDSP](https://github.com/AllenDowney/ThinkDSP/tree/9ae1b562742358e25a82b5f3e870f614faf001a1).\n", "\n", "For the extra curious, each individual tone is placed within `Tone.multitones`." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'3.11.5'" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from platform import python_version\n", "python_version()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n" ] } ], "source": [ "print(sum(Tone.multitones))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Tone.play(autoplay=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### A note on comparing data\n", "##### Would you like your pitch to scale the same way across plots/tones? \n", "\n", "If you'd like to compare multiple soundfiles consistently, I'd recommend passing the same `cents_per_value` for each soundfile. You will also pass a `frequency_min` or `frequency_max`. If you'd like the maximum frequencies or minimum frequencies to match to values that aren't the maximum or minimum in your input data, you may pass a `value_min` or `value_max` to force the corresponding minimum/maximum frequency to the same y value, grounding the scale across differnt Tones.\n", "\n", "To save you the calculation, you can find a cent_per_value function inside `sonipy.scales.frequency`.\n", "\n", "Here's some basic code to do just that." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "C4 = 261.6 # Hz\n", "frequency_min = 2 * C4\n", "frequency_max = 10 * C4\n", "value_min = min(y)\n", "value_max = max(y)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "from sonipy.scales.frequency import cent_per_value\n", "myscale = cent_per_value(f_min = frequency_min, f_max = frequency_max,\n", " v_min = value_min, v_max = value_max)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "multitones created\n" ] }, { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "frequency_args = {\n", " \"frequency_min\": frequency_min,\n", " \"cents_per_value\" : myscale/2,\n", " \"value_min\" : min(y),\n", "}\n", "\n", "Tone = SonifyTool(x,y, frequency_args=frequency_args)\n", "Tone.play(autoplay=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Want to contribute? Have feedback?\n", "\n", "Contributions and collaborations are welcomed and awesome! [Here](https://github.com/lockepatton/sonipy/blob/master/contributing.md) is a great place to start. This project is perfect to people learning to work with packages so give it a try. Feel free to open an issue/pull request here on github, send us a tweet at @Astro_Locke or email locke.patton@cfa.harvard.edu if you have questions or would like to brainstorm your ideas." ] } ], "metadata": { "anaconda-cloud": {}, "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.5" } }, "nbformat": 4, "nbformat_minor": 2 }