Skip to content

Instantly share code, notes, and snippets.

@wakusei-meron-
Last active March 31, 2019 12:27
Show Gist options
  • Save wakusei-meron-/66786a94d57ab92ec22258556e22c43e to your computer and use it in GitHub Desktop.
Save wakusei-meron-/66786a94d57ab92ec22258556e22c43e to your computer and use it in GitHub Desktop.
Desktop/PPP/python/audio/envelop_detector.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# 共通定数\nSR = 44100 # サンプリング周波数\nBASE_FREQ = 440. # 伝搬波周波数\nBASE_AMP = 0.5 # 伝搬波振幅(0 ~ 1)\nPERIOD = 0.5 # 変調間隔\nBIN_DATA = np.array([0,1,1,0,0,0,0,1]) # 情報として表すバイナリデータ\nT = PERIOD * len(BIN_DATA) # 情報を表すのに要する時間\n\n# ASK: 振幅シフトキーイング\namp_on = 0.8\namp_off = 0.1\n\n## サンプリング時間(最後のフレームは含まない)\nt = np.linspace(0, T, int(SR * T))[:-1] \n\n## 各フレームにおける0, 1の判定条件\nt_on = np.vectorize(lambda _t: BIN_DATA[int(_t // PERIOD)] == 1 )(t)\nt_off = np.invert(t_on)\n\n## 0, 1の時の各関数\nfunc_on = lambda _t: amp_on * np.sin(2 * np.pi * BASE_FREQ * _t)\nfunc_off = lambda _t: amp_off * np.sin(2 * np.pi * BASE_FREQ * _t)\n\n## 波の生成\ny = np.piecewise(t, [t_on, t_off], [func_on, func_off])\n\n## 波の描画\nplt.plot(t, y)",
"execution_count": 15,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 15,
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x1200af278>]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x11fe9cb38>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# 包絡線の検出\nfrom scipy import signal\n\nenvelope = abs(signal.hilbert(y))\nplt.plot(t, y)\nplt.plot(t, envelope)",
"execution_count": 8,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 8,
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x1206de588>]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x120513e10>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# 振幅が変化するタイミングの包絡線\nenvelope = abs(signal.hilbert(y[21000:23000]))\nplt.plot(t[21000:23000], y[21000:23000])\nplt.plot(t[21000:23000], envelope)",
"execution_count": 9,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 9,
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x120764470>]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x1202ae9e8>",
"image/png": "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\n"
},
"metadata": {}
}
]
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.6.3",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "66786a94d57ab92ec22258556e22c43e",
"data": {
"description": "Desktop/PPP/python/audio/envelop_detector.ipynb",
"public": true
}
},
"_draft": {
"nbviewer_url": "https://gist.github.com/66786a94d57ab92ec22258556e22c43e"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment