{ "cells": [ { "cell_type": "markdown", "id": "handy-democrat", "metadata": {}, "source": [ "# Quick demo\n", "\n", "Github: https://github.com/r9y9/pyopenjtalk" ] }, { "cell_type": "code", "execution_count": 1, "id": "radical-portland", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab inline\n", "import IPython\n", "from IPython.display import Audio\n", "import librosa\n", "import librosa.display" ] }, { "cell_type": "code", "execution_count": 2, "id": "important-pillow", "metadata": {}, "outputs": [], "source": [ "import pyopenjtalk" ] }, { "cell_type": "markdown", "id": "corporate-madonna", "metadata": {}, "source": [ "## Text-to-speech (TTS)" ] }, { "cell_type": "code", "execution_count": 3, "id": "aggregate-governor", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x, sr = pyopenjtalk.tts(\"プリプリに脂の乗った寒ブリのお寿司が食べたい\")\n", "plt.figure(figsize=(16,4))\n", "librosa.display.waveplot(x, sr, x_axis=\"time\")\n", "Audio(x, rate=sr)" ] }, { "cell_type": "markdown", "id": "charitable-determination", "metadata": {}, "source": [ "## Run text processing frontend only" ] }, { "cell_type": "code", "execution_count": 4, "id": "ready-cooper", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['xx^xx-sil+k=o/A:xx+xx+xx/B:xx-xx_xx/C:xx_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:xx_xx#xx_xx@xx_xx|xx_xx/G:5_5%0_xx_xx/H:xx_xx/I:xx-xx@xx+xx&xx-xx|xx+xx/J:1_5/K:1+1-5',\n", " 'xx^sil-k+o=N/A:-4+1+5/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',\n", " 'sil^k-o+N=n/A:-4+1+5/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',\n", " 'k^o-N+n=i/A:-3+2+4/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',\n", " 'o^N-n+i=ch/A:-2+3+3/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',\n", " 'N^n-i+ch=i/A:-2+3+3/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',\n", " 'n^i-ch+i=w/A:-1+4+2/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',\n", " 'i^ch-i+w=a/A:-1+4+2/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',\n", " 'ch^i-w+a=sil/A:0+5+1/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',\n", " 'i^w-a+sil=xx/A:0+5+1/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',\n", " 'w^a-sil+xx=xx/A:xx+xx+xx/B:xx-xx_xx/C:xx_xx+xx/D:xx+xx_xx/E:5_5!0_xx-xx/F:xx_xx#xx_xx@xx_xx|xx_xx/G:xx_xx%xx_xx_xx/H:1_5/I:xx-xx@xx+xx&xx-xx|xx+xx/J:xx_xx/K:1+1-5']" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pyopenjtalk.extract_fullcontext(\"こんにちわ\")" ] }, { "cell_type": "markdown", "id": "opening-circle", "metadata": {}, "source": [ "## Grapheme-to-phoneme (G2P)" ] }, { "cell_type": "code", "execution_count": 5, "id": "olympic-appreciation", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'k o N n i ch i w a'" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pyopenjtalk.g2p(\"こんにちは\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "single-policy", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'コンニチワ'" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pyopenjtalk.g2p(\"こんにちは\", kana=True)" ] } ], "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.8.6" } }, "nbformat": 4, "nbformat_minor": 5 }