"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(14, 4))\n",
"spectrum, freqs, time, im = ax.specgram(audio_data.mean(axis=1), NFFT=NFFT, pad_to=4096, Fs=sample_rate, \n",
" noverlap=512, mode='magnitude', cmap='plasma')\n",
"fig.colorbar(im)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is quite interesting. I guess that the upper frequencies show up as noice. This makes me wonder whether the original sound was recorded at a sample rate of 20 kHz rather than 44.1 kHz. \n",
"\n",
"Can we use that data and render it on top of the original videoclip?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Rendering the sound on top of the original video"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What we need to do is to layout a matplotlib figure, extract as an image and fuse it with the original video frames. \n",
"Let's start with the [standard moviepy matplotlib example](http://zulko.github.io/moviepy/getting_started/working_with_matplotlib.html) and adjust it to our needs."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First, I define my dpi values (this depends on my screen, I used to determine this value)."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"my_dpi = 226.98"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, let's use the same pixel sizes as those of the original clip:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(320, 240)"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"width, height = clip.size\n",
"width, height"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can now generate a short animation, that we will try to superpose with the existing movie:"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 98%|█████████▊| 40/41 [00:02<00:00, 15.43it/s]\n"
]
},
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from moviepy.editor import VideoClip\n",
"from moviepy.video.io.bindings import mplfig_to_npimage\n",
"\n",
"x = np.linspace(-2, 2, 200)\n",
"\n",
"duration = 2\n",
"\n",
"fig, ax = plt.subplots(figsize=(width/my_dpi, height/my_dpi), dpi=my_dpi)\n",
"def make_frame(t):\n",
" ax.clear()\n",
" ax.plot(x, np.sinc(x**2) + np.sin(x + 2*np.pi/duration * t), lw=3)\n",
" ax.set_ylim(-1.5, 2.5)\n",
" return mplfig_to_npimage(fig)\n",
"\n",
"animation = VideoClip(make_frame, duration=duration)\n",
"plt.close(fig)\n",
"animation.ipython_display(fps=20, loop=True, autoplay=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's check the sizes of the generated images:"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(240, 320, 3)"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"make_frame(0).shape"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(make_frame(0))"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(240, 320, 3)"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clip.get_frame(0).shape"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\ncNsAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(clip.get_frame(0))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Okay, everything matches, let's try to merge the two clips together."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"mask_array = np.ones(clip.size[::-1]) * 0.6"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"mask = mpy.ImageClip(img=mask_array,ismask=True)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"stack = mpy.CompositeVideoClip([clip.subclip(t_start=0, t_end=2), animation.set_mask(mask)], use_bgclip=True)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 98%|█████████▊| 50/51 [00:02<00:00, 17.60it/s]\n"
]
},
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mpy.ipython_display(stack, loop=True, autoplay=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that this works, let's do the final video: "
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[MoviePy] >>>> Building video output.mp4\n",
"[MoviePy] Writing audio in outputTEMP_MPY_wvf_snd.mp3\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1323/1323 [00:01<00:00, 995.20it/s] "
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[MoviePy] Done.\n",
"[MoviePy] Writing video output.mp4\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n",
"100%|█████████▉| 1500/1501 [02:47<00:00, 9.31it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[MoviePy] Done.\n",
"[MoviePy] >>>> Video ready: output.mp4 \n",
"\n"
]
}
],
"source": [
"fig, ax = plt.subplots(figsize=(width/my_dpi, height/my_dpi), dpi=my_dpi, )\n",
"selection = np.abs(0 - time) < 1.\n",
"freq_selection = freqs < 10000\n",
"ax.pcolorfast(time[selection], freqs, 20 * np.log10(spectrum[:, selection]))\n",
"ax.set_xticklabels([])\n",
"ax.set_yticklabels([])\n",
"plt.tight_layout(pad=0)\n",
"def make_specgram(t):\n",
" ax.clear()\n",
" selection = np.abs(t - time) < 1.\n",
" ax.pcolorfast(time[selection], freqs[freq_selection], 20 * np.log10(spectrum[freq_selection, :][:, selection]))\n",
" ax.axis('off')\n",
" ax.set_frame_on(False)\n",
" ax.get_xaxis().set_visible(False)\n",
" ax.get_yaxis().set_visible(False)\n",
"\n",
" return mplfig_to_npimage(fig)\n",
"\n",
"specgram_animation = VideoClip(make_specgram).set_duration(clip.duration).set_audio(clip.audio)\n",
"plt.close(fig)\n",
"\n",
"stack = mpy.CompositeVideoClip([clip, specgram_animation.set_mask(mask)], use_bgclip=True)\n",
"stack.subclip(t_start=30, t_end=90).write_videofile('output.mp4')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I've uploaded the output to YouTube, which you can see below:"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"image/jpeg": "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\nin0fTf5jpo0+qpKEXdIALjjENRjEdP/Z\n",
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"YouTubeVideo('VSgafsbA6Wg')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Conclusions "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this blog post, we managed to plot a spectrogram on top of an existing clip of vocal folds. This opens interesting perspectives for trying to understand this complex part of the singing process. To achieve that, we leveraged the power of the matplotlib and moviepy libraries in a relatively straightforward fashion and finally used YouTube to broadcast the result.\n",
"It could be fun to program a YouTube bot that could do this automatically and annotate existing vocal folds videos like these."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.1"
},
"toc": {
"colors": {
"hover_highlight": "#DAA520",
"navigate_num": "#000000",
"navigate_text": "#333333",
"running_highlight": "#FF0000",
"selected_highlight": "#FFD700",
"sidebar_border": "#EEEEEE",
"wrapper_background": "#FFFFFF"
},
"moveMenuLeft": true,
"nav_menu": {
"height": "101px",
"width": "253px"
},
"navigate_menu": true,
"number_sections": true,
"sideBar": true,
"threshold": 4,
"toc_cell": false,
"toc_section_display": "block",
"toc_window_display": false,
"widenNotebook": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}