{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import seaborn\n",
"import numpy, scipy, matplotlib.pyplot as plt, IPython.display as ipd\n",
"import librosa, librosa.display\n",
"plt.rcParams['figure.figsize'] = (11, 5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[← Back to Index](index.html)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Segmentation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In audio processing, it is common to operate on one frame at a time using a constant frame size and hop size (i.e. increment). Frames are typically chosen to be 10 to 100 ms in duration."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's create an audio signal consisting of a pure tone that gradually gets louder. Then, we will segment the signal and compute the **root mean square (RMS) energy** for each frame.\n",
"\n",
"First, set our parameters:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.001 0.999895579824\n"
]
}
],
"source": [
"T = 3.0 # duration in seconds\n",
"sr = 22050 # sampling rate in Hertz\n",
"amplitude = numpy.logspace(-3, 0, int(T*sr), endpoint=False, base=10.0) # time-varying amplitude\n",
"print(amplitude.min(), amplitude.max()) # starts at 110 Hz, ends at 880 Hz"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create the signal:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"t = numpy.linspace(0, T, int(T*sr), endpoint=False)\n",
"x = amplitude*numpy.sin(2*numpy.pi*440*t)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Listen to the signal:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ipd.Audio(x, rate=sr)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot the signal:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"librosa.display.waveplot(x, sr=sr)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Segmentation Using Python List Comprehensions"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In Python, you can use a standard [list comprehension](https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions) to perform segmentation of a signal and compute RMSE at the same time."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Initialize segmentation parameters:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"frame_length = 1024\n",
"hop_length = 512"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Define a helper function:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def rmse(x):\n",
" return numpy.sqrt(numpy.mean(x**2))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using a list comprehension, plot the RMSE for each frame on a log-y axis:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nxfjGN75hcqLo9qtf/cp4+umnDcMwjL6+PmP79u3GgQMHjNOnTxuGYRjf+973jNraWjMjRq2JiQnj\nT/7kT4zq6mrj3XffZa4z5PTp08aBAweMYDBo+Hw+48c//jGznSF1dXXGo48+ahiGYZw8edL40z/9\nU2Z7G372s58Z999/v7F//37DMIxPnOX58+eNr371q0YoFDI8Ho/x4IMPmhk5anx8tg8//LBx8eJF\nwzAM4xe/+IXx7LPPGj09Pcb9999vjI+PG4ODg1P/DcOI+X8ONjU16e6775YkrV+/XufPnzc5UXTb\nu3ev/uzP/mzqbZvNpgsXLqiqqkqStG3bNr355ptmxYtqzz33nP7gD/5A+fn5ksRcZ8jJkye1fPly\nfetb39I3vvEN3XPPPcx2hixatEjBYFChUEg+n09xcXHM9jY4nU795Cc/mXr7k2bZ1NSkrVu3ymKx\nqKioSMFgUH19fWZFjhofn+3zzz+vlStXSpKCwaASExPV2tqqDRs2KCEhQWlpaXI6nbp8+bJZkSNK\nzJdJn8+n1NTUqbdtNpsCgYCJiaLbggULlJqaKp/Pp0cffVR//ud/LsMwZLFYpn59aGjI5JTR53//\n93+VnZ099Q8fScx1hvT39+v8+fP653/+Z/393/+9/uqv/orZzpCUlBR5PB7de++9+t73vqevfvWr\nzPY21NTUKC7uw+20T5rlx69pzHh6Pj7bD/7R3tzcrJ///Of6oz/6I/l8PqWlpU39ngULFsjn8815\n1kgU8zuTqampGh4enno7FAp95AWFW9fZ2alvfetb+vKXv6wHHnhA//iP/zj1a8PDw0pPTzcxXXT6\nn//5H1ksFp06dUqXLl3S448//pGvNjDX8GVmZmrx4sVKSEjQ4sWLlZiYqK6urqlfZ7bh+/d//3dt\n3bpVf/mXf6nOzk794R/+ofx+/9SvM9vb89u7ph/M8uPXtOHh4Y8UIEzfK6+8op/+9Kf62c9+puzs\nbGb7GWL+K5NlZWU6ceKEJOns2bNavny5yYmi240bN/THf/zH+uu//ms99NBDkqRVq1bpzJkzkqQT\nJ06ooqLCzIhR6T//8z/185//XC+99JJWrlyp5557Ttu2bWOuM6C8vFyvv/66DMNQd3e3RkdHtXnz\nZmY7A9LT06cuthkZGQoEAnw+mEGfNMuysjKdPHlSoVBIHR0dCoVCys7ONjlp9Pn1r3899TnX4XBI\nktauXaumpiaNj49raGhIV69epTO8z2IYhmF2CDN98NPcV65ckWEYevbZZ7VkyRKzY0Wtp59+Wq++\n+qoWL1489djf/M3f6Omnn5bf79fixYv19NNPy2azmZgyun31q1/V97//fVmtVn3ve99jrjPgH/7h\nH3TmzBkZhqG/+Iu/UElJCbOdAcPDw/rud78rr9crv9+vr33ta7rzzjuZ7W1wu9167LHH9Mtf/lLX\nrl37xFn+5Cc/0YkTJxQKhfTEE09Q2Kfpg9n+4he/0ObNm1VYWDj1lfPKyko9+uij+uUvf6n//u//\nlmEYOnDggGpqakxOHRlivkwCAAAgfDH/bW4AAACEjzIJAACAsFEmAQAAEDbKJAAAAMJGmQQAAEDY\nKJMAAAAIG2USAAAAYaNMAgAAIGz/PyoMyXaDo3xhAAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.semilogy([rmse(x[i:i+frame_length])\n",
" for i in range(0, len(x), hop_length)])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## `librosa.util.frame`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Given a signal, [`librosa.util.frame`](https://librosa.github.io/librosa/generated/librosa.util.frame.html#librosa.util.frame) will produce a list of uniformly sized frames:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n577uVu369eu1fv36W7pGd/fQLdd1OzIyktTR0T/h3x8MGjpzpVNlVa7xecjstHgVF9q1aUWOYmNs\nkt9/W9cIZ7fbX3w1eju16O/Uor9Ti/5OrUjq71eF5gmHyezsbLW2to4/bmtrU2Zm5kRfLqwNe/06\nUd+iQzUudfSMSJKWz09TcaFDKxakyco8JAAAmKEmHCZXrlypa9euyeVyKSsrS++8845eeeWVyawt\n5HX0DKuixq3j9c0a9gYUHWXV1tVzVVxoV24G52UDAICZ76bC5NNPP63Kykp1d3dr69atevLJJ7V3\n7149//zzevzxxxUIBPTggw9q8eLFU11vSLji6VVZZZNqLnfIMKSUxBjtWZ+vbWvmKime87IBAEDk\nuKkw+flVP5/atm3bTf9nmnAXDBqqvdyhg5VNutrcJ0nKz0pSidMh59JM9kMCAICIxHGK3+DTecjy\napc6e8fmIdcsmqPSIgf7IQEAQMQjTH6Frr4RHapx673TzRr2+hUdZdXda3NVXGhXTnqC2eUBAACE\nBMLk7zEMQxeudelwrUd1H3UqaBhKjo9W6Zb52r42l3lIAACAzyFM3nCivkXlNS652saOOszLStTO\nArs2LM9S9DQvTgcAAAgXhElJA8M+vfHuBdlsFm1YlqUd6+xaODeZeUgAAIBvQJiUlDgrWs//kVML\n89Pk9/rMLgcAACBssM/mhvzsJKUmx5ldBgAAQFghTAIAAGDCCJMAAACYMMIkAAAAJowwCQAAgAkj\nTAIAAGDCCJMAAACYMMIkAAAAJowwCQAAgAkjTAIAAGDCCJMAAACYMIthGIbZRQAAACA88ZNJAAAA\nTBhhEgAAABNGmAQAAMCEESYBAAAwYYRJAAAATBhhEgAAABMWZXYBZgsGg/rxj3+sS5cuKSYmRi++\n+KLy8/PNLius+Xw+Pffcc/J4PBodHdX3v/99LVq0SD/84Q9lsVi0ePFi/d3f/Z2sVr6XuR3Xr1/X\nAw88oH/7t39TVFQU/Z1Er7/+ug4fPiyfz6fvfOc7Kioqor+TxOfz6Yc//KE8Ho+sVqt+8pOf8PE7\nSc6cOaOf/vSnevPNN9XY2PilPf2Xf/kXHT16VFFRUXruuee0atUqs8sOG7/f3wsXLugnP/mJbDab\nYmJi9PLLL2vOnDl666239F//9V+KiorS97//fW3fvt3ssqeHEeEOHjxoPPPMM4ZhGEZdXZ3xve99\nz+SKwt9///d/Gy+++KJhGIbR1dVlbNu2zdi3b59x8uRJwzAM40c/+pFRVlZmZolhb3R01PiTP/kT\no6SkxLhy5Qr9nUQnT5409u3bZwQCAWNgYMD42c9+Rn8nUXl5ufHUU08ZhmEYJ06cMP70T/+U/k6C\nX/ziF8Z9991n7N271zAM40t72tDQYDz66KNGMBg0PB6P8cADD5hZclj5fH8ffvhh4/z584ZhGMav\nfvUrY//+/UZ7e7tx3333GV6v1+jr6xv/dSSI+G/9ampqtGXLFknSmjVr1NDQYHJF4W/37t36sz/7\ns/HHNptN586dU1FRkSRp69at+uCDD8wqb0Z4+eWX9Qd/8AfKzMyUJPo7iU6cOKElS5boBz/4gb73\nve/p7rvvpr+TaP78+QoEAgoGgxoYGFBUVBT9nQR5eXn6+c9/Pv74y3paU1OjzZs3y2KxaO7cuQoE\nAurq6jKr5LDy+f6++uqrWrp0qSQpEAgoNjZW9fX1Wrt2rWJiYpSUlKS8vDxdvHjRrJKnVcSHyYGB\nASUmJo4/ttls8vv9JlYU/hISEpSYmKiBgQE99dRT+vM//3MZhiGLxTL+9v7+fpOrDF//+7//q7S0\ntPFvgiTR30nU3d2thoYG/fM//7P+/u//Xn/1V39FfydRfHy8PB6P9uzZox/96Ed69NFH6e8kKC0t\nVVTU7ybXvqynn/96R69v3uf7++k38rW1tfrlL3+pP/qjP9LAwICSkpLG3ychIUEDAwPTXqsZIn5m\nMjExUYODg+OPg8HgZz5gMDEtLS36wQ9+oO9+97u6//779Y//+I/jbxscHFRycrKJ1YW3//mf/5HF\nYtGHH36oCxcu6JlnnvnMTxfo7+2ZPXu2FixYoJiYGC1YsECxsbFqbW0dfzv9vT3//u//rs2bN+sv\n//Iv1dLSoj/8wz+Uz+cbfzv9nRy/P3P6aU8///VucHDwM+EHt+bdd9/Va6+9pl/84hdKS0uL6P5G\n/E8mCwoKdOzYMUnS6dOntWTJEpMrCn+dnZ364z/+Y/31X/+1HnroIUnSsmXLdOrUKUnSsWPHVFhY\naGaJYe0///M/9ctf/lJvvvmmli5dqpdffllbt26lv5Nk3bp1On78uAzDUFtbm4aHh7Vx40b6O0mS\nk5PHv8CmpKTI7/fz+WEKfFlPCwoKdOLECQWDQTU3NysYDCotLc3kSsPTb37zm/HPww6HQ5K0atUq\n1dTUyOv1qr+/X1evXo2YTGExDMMwuwgzffq/uS9fvizDMLR//34tXLjQ7LLC2osvvqgDBw5owYIF\n48/9zd/8jV588UX5fD4tWLBAL774omw2m4lVzgyPPvqofvzjH8tqtepHP/oR/Z0k//AP/6BTp07J\nMAz9xV/8hex2O/2dJIODg3ruuefU0dEhn8+nxx57TCtWrKC/k8Dtduvpp5/WW2+9pU8++eRLe/rz\nn/9cx44dUzAY1LPPPktwvwWf9vdXv/qVNm7cqJycnPGfojudTj311FN666239Otf/1qGYWjfvn0q\nLS01uerpEfFhEgAAABMX8be5AQAAMHGESQAAAEwYYRIAAAATRpgEAADAhBEmAQAAMGGESQAAAEwY\nYRIAAAATRpgEAADAhP0/9WnA3rFNCZAAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"frames = librosa.util.frame(x, frame_length=frame_length, hop_length=hop_length)\n",
"plt.semilogy([rmse(frame) for frame in frames.T])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"That being said, in `librosa`, manual segmentation of a signal is often unnecessary, because the feature extraction methods themselves do segmentation for you."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[← Back to Index](index.html)"
]
}
],
"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.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
}