You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PaddleSpeech/.notebook/python_test.ipynb

1681 lines
1.3 MiB

E2E/Streaming Transformer/Conformer ASR (#578) * add cmvn and label smoothing loss layer * add layer for transformer * add glu and conformer conv * add torch compatiable hack, mask funcs * not hack size since it exists * add test; attention * add attention, common utils, hack paddle * add audio utils * conformer batch padding mask bug fix #223 * fix typo, python infer fix rnn mem opt name error and batchnorm1d, will be available at 2.0.2 * fix ci * fix ci * add encoder * refactor egs * add decoder * refactor ctc, add ctc align, refactor ckpt, add warmup lr scheduler, cmvn utils * refactor docs * add fix * fix readme * fix bugs, refactor collator, add pad_sequence, fix ckpt bugs * fix docstring * refactor data feed order * add u2 model * refactor cmvn, test * add utils * add u2 config * fix bugs * fix bugs * fix autograd maybe has problem when using inplace operation * refactor data, build vocab; add format data * fix text featurizer * refactor build vocab * add fbank, refactor feature of speech * refactor audio feat * refactor data preprare * refactor data * model init from config * add u2 bins * flake8 * can train * fix bugs, add coverage, add scripts * test can run * fix data * speed perturb with sox * add spec aug * fix for train * fix train logitc * fix logger * log valid loss, time dataset process * using np for speed perturb, remove some debug log of grad clip * fix logger * fix build vocab * fix logger name * using module logger as default * fix * fix install * reorder imports * fix board logger * fix logger * kaldi fbank and mfcc * fix cmvn and print prarams * fix add_eos_sos and cmvn * fix cmvn compute * fix logger and cmvn * fix subsampling, label smoothing loss, remove useless * add notebook test * fix log * fix tb logger * multi gpu valid * fix log * fix log * fix config * fix compute cmvn, need paddle 2.1 * add cmvn notebook * fix layer tools * fix compute cmvn * add rtf * fix decoding * fix layer tools * fix log, add avg script * more avg and test info * fix dataset pickle problem; using 2.1 paddle; num_workers can > 0; ckpt save in exp dir;fix setup.sh; * add vimrc * refactor tiny script, add transformer and stream conf * spm demo; librisppech scripts and confs * fix log * add librispeech scripts * refactor data pipe; fix conf; fix u2 default params * fix bugs * refactor aishell scripts * fix test * fix cmvn * fix s0 scripts * fix ds2 scripts and bugs * fix dev & test dataset filter * fix dataset filter * filter dev * fix ckpt path * filter test, since librispeech will cause OOM, but all test wer will be worse, since mismatch train with test * add comment * add syllable doc * fix ds2 configs * add doc * add pypinyin tools * fix decoder using blank_id=0 * mmseg with pybind11 * format code
3 years ago
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "choice-lender",
"metadata": {},
"outputs": [],
"source": [
"eng=\"one minute a voice said and the time buzzer sounded\"\n",
"chn=\"可控是病毒武器最基本的要求\""
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "ruled-kuwait",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"o\n",
"n\n",
"e\n",
" \n",
"m\n",
"i\n",
"n\n",
"u\n",
"t\n",
"e\n",
" \n",
"a\n",
" \n",
"v\n",
"o\n",
"i\n",
"c\n",
"e\n",
" \n",
"s\n",
"a\n",
"i\n",
"d\n",
" \n",
"a\n",
"n\n",
"d\n",
" \n",
"t\n",
"h\n",
"e\n",
" \n",
"t\n",
"i\n",
"m\n",
"e\n",
" \n",
"b\n",
"u\n",
"z\n",
"z\n",
"e\n",
"r\n",
" \n",
"s\n",
"o\n",
"u\n",
"n\n",
"d\n",
"e\n",
"d\n"
]
}
],
"source": [
"for char in eng:\n",
" print(char)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "passive-petite",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"可\n",
"控\n",
"是\n",
"病\n",
"毒\n",
"武\n",
"器\n",
"最\n",
"基\n",
"本\n",
"的\n",
"要\n",
"求\n"
]
}
],
"source": [
"for char in chn:\n",
" print(char)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "olympic-realtor",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"one\n",
"minute\n",
"a\n",
"voice\n",
"said\n",
"and\n",
"the\n",
"time\n",
"buzzer\n",
"sounded\n"
]
}
],
"source": [
"for word in eng.split():\n",
" print(word)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "induced-enhancement",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"可控是病毒武器最基本的要求\n"
]
}
],
"source": [
"for word in chn.split():\n",
" print(word)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "lovely-bottle",
"metadata": {},
"outputs": [
{
"ename": "ModuleNotFoundError",
"evalue": "No module named 'StringIO'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-9-3e4825b8299f>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mStringIO\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'StringIO'"
]
}
],
"source": [
"import StringIO"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "interested-cardiff",
"metadata": {},
"outputs": [],
"source": [
"from io import StringIO"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "portable-ivory",
"metadata": {},
"outputs": [],
"source": [
"inputs = StringIO()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "compatible-destination",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"64"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"inputs.write(\"nor is mister quilter's manner less interesting than his matter\" + '\\n')"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "federal-margin",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"nor is mister quilter's manner less interesting than his matternor is mister quilter's manner less interesting than his matter\n",
"\n"
]
}
],
"source": [
"print(inputs.getvalue())"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "consecutive-entity",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"64"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"inputs.write(\"nor is mister quilter's manner less interesting than his matter\" + '\\n')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "desirable-anxiety",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"nor is mister quilter's manner less interesting than his matternor is mister quilter's manner less interesting than his matter\n",
"nor is mister quilter's manner less interesting than his matter\n",
"\n"
]
}
],
"source": [
"print(inputs.getvalue())"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "employed-schedule",
"metadata": {},
"outputs": [],
"source": [
"import tempfile"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "unlikely-honduras",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', '_dealloc_warn', '_finalizing', 'close', 'closed', 'detach', 'fileno', 'flush', 'isatty', 'mode', 'name', 'peek', 'raw', 'read', 'read1', 'readable', 'readinto', 'readinto1', 'readline', 'readlines', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write', 'writelines']\n",
"57\n"
]
}
],
"source": [
"with tempfile.TemporaryFile() as fp:\n",
" print(dir(fp))\n",
" print(fp.name)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "needed-trail",
"metadata": {},
"outputs": [],
"source": [
"a = tempfile.mkstemp(suffix=None, prefix='test', dir=None, text=False)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "hazardous-choir",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']\n"
]
}
],
"source": [
"print(dir(a))"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "front-sauce",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(57, '/tmp/test27smzbzc')\n"
]
}
],
"source": [
"print(a)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "shared-wages",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<built-in method index of tuple object at 0x7f999b525648>\n"
]
}
],
"source": [
"print(a.index)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "charged-carnival",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_closer', 'close', 'delete', 'file', 'name']\n",
"/tmp/tmpfjn7mygy\n"
]
}
],
"source": [
"fp= tempfile.NamedTemporaryFile(mode='w', delete=False)\n",
"print(dir(fp))\n",
"print(fp.name)\n",
"fp.close()"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "religious-terror",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/tmp/tmpfjn7mygy\n"
]
}
],
"source": [
"import os\n",
"os.path.exists(fp.name)\n",
"print(fp.name)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "communist-gospel",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<function BufferedRandom.write(buffer, /)>"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fp.write"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "simplified-clarity",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'example'"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"s='/home/ubuntu/python/example.py'\n",
"os.path.splitext(os.path.basename(s))[0]"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "popular-genius",
"metadata": {},
"outputs": [],
"source": [
"from collections import Counter"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "studied-burner",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dict_items([('hello', 1), ('world', 1)])\n"
]
}
],
"source": [
"counter = Counter()\n",
"counter.update([\"hello\"])\n",
"counter.update([\"world\"])\n",
"print(counter.items())"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "mineral-ceremony",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dict_items([('h', 1), ('e', 1), ('l', 3), ('o', 2), ('w', 1), ('r', 1), ('d', 1)])\n"
]
}
],
"source": [
"counter = Counter()\n",
"counter.update(\"hello\")\n",
"counter.update(\"world\")\n",
"print(counter.items())"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "nonprofit-freedom",
"metadata": {},
"outputs": [],
"source": [
"counter.update(list(\"hello\"))"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "extended-methodology",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dict_items([('h', 2), ('e', 2), ('l', 5), ('o', 3), ('w', 1), ('r', 1), ('d', 1)])\n"
]
}
],
"source": [
"print(counter.items())"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "grand-benjamin",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['h', 'e', 'l', 'l', 'o']"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list(\"hello\")"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "marine-fundamentals",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{}\n"
]
}
],
"source": [
"from io import StringIO\n",
"a = StringIO(initial_value='{}', newline='')\n",
"print(a.read())"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "suitable-charlotte",
"metadata": {},
"outputs": [
{
"ename": "TypeError",
"evalue": "expected str, bytes or os.PathLike object, not _io.StringIO",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-56-4323a912120d>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mwith\u001b[0m \u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mTypeError\u001b[0m: expected str, bytes or os.PathLike object, not _io.StringIO"
]
}
],
"source": [
"with io.open(a) as f:\n",
" print(f.read())"
]
},
{
"cell_type": "code",
"execution_count": 57,
"id": "institutional-configuration",
"metadata": {},
"outputs": [],
"source": [
"io.open?"
]
},
{
"cell_type": "code",
"execution_count": 58,
"id": "pregnant-modem",
"metadata": {},
"outputs": [],
"source": [
"def get_default_args(fn):\n",
" if fn is None:\n",
" return {}\n",
"\n",
" signature = inspect.signature(fn)\n",
" return {\n",
" k: v.default\n",
" for k, v in signature.parameters.items()\n",
" if v.default is not inspect.Parameter.empty\n",
" }"
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "first-release",
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'inspect' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-59-8f782d06097f>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mget_default_args\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-58-cb5a8794f39f>\u001b[0m in \u001b[0;36mget_default_args\u001b[0;34m(fn)\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0msignature\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minspect\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msignature\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m return {\n\u001b[1;32m 7\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mv\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdefault\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mNameError\u001b[0m: name 'inspect' is not defined"
]
}
],
"source": [
"get_default_args(io.open)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "convertible-roulette",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: sox in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (1.4.1)\n",
"Requirement already satisfied: numpy>=1.9.0 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from sox) (1.20.1)\n",
"Requirement already satisfied: librosa in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (0.8.0)\n",
"Requirement already satisfied: scikit-learn!=0.19.0,>=0.14.0 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from librosa) (0.24.1)\n",
"Requirement already satisfied: numba>=0.43.0 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from librosa) (0.52.0)\n",
"Requirement already satisfied: pooch>=1.0 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from librosa) (1.3.0)\n",
"Requirement already satisfied: scipy>=1.0.0 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from librosa) (1.2.1)\n",
"Requirement already satisfied: numpy>=1.15.0 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from librosa) (1.20.1)\n",
"Requirement already satisfied: decorator>=3.0.0 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from librosa) (4.4.2)\n",
"Requirement already satisfied: resampy>=0.2.2 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from librosa) (0.2.2)\n",
"Requirement already satisfied: audioread>=2.0.0 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from librosa) (2.1.9)\n",
"Requirement already satisfied: soundfile>=0.9.0 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from librosa) (0.9.0.post1)\n",
"Requirement already satisfied: joblib>=0.14 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from librosa) (1.0.1)\n",
"Requirement already satisfied: setuptools in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from numba>=0.43.0->librosa) (51.0.0)\n",
"Requirement already satisfied: llvmlite<0.36,>=0.35.0 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from numba>=0.43.0->librosa) (0.35.0)\n",
"Requirement already satisfied: appdirs in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from pooch>=1.0->librosa) (1.4.4)\n",
"Requirement already satisfied: packaging in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from pooch>=1.0->librosa) (20.9)\n",
"Requirement already satisfied: requests in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from pooch>=1.0->librosa) (2.25.1)\n",
"Requirement already satisfied: six>=1.3 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from resampy>=0.2.2->librosa) (1.15.0)\n",
"Requirement already satisfied: threadpoolctl>=2.0.0 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from scikit-learn!=0.19.0,>=0.14.0->librosa) (2.1.0)\n",
"Requirement already satisfied: cffi>=0.6 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from soundfile>=0.9.0->librosa) (1.14.4)\n",
"Requirement already satisfied: pycparser in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from cffi>=0.6->soundfile>=0.9.0->librosa) (2.20)\n",
"Requirement already satisfied: pyparsing>=2.0.2 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from packaging->pooch>=1.0->librosa) (2.4.7)\n",
"Requirement already satisfied: idna<3,>=2.5 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from requests->pooch>=1.0->librosa) (2.10)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from requests->pooch>=1.0->librosa) (2020.12.5)\n",
"Requirement already satisfied: chardet<5,>=3.0.2 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from requests->pooch>=1.0->librosa) (4.0.0)\n",
"Requirement already satisfied: urllib3<1.27,>=1.21.1 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from requests->pooch>=1.0->librosa) (1.26.3)\n"
]
}
],
"source": [
"!pip install sox\n",
"!pip install librosa"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "cutting-fleece",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'numpy.float64'>\n"
]
}
],
"source": [
"import numpy as np\n",
"import sox\n",
"tfm = sox.Transformer()\n",
"sample_rate = 44100\n",
"y = np.sin(2 * np.pi * 440.0 * np.arange(sample_rate * 1.0) / sample_rate)\n",
"print(y.dtype.type)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "historical-diving",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0. 0.06264832 0.12505052 ... -0.18696144 -0.12505052\n",
" -0.06264832]\n"
]
}
],
"source": [
"output_array = tfm.build_array(input_array=y, sample_rate_in=sample_rate)\n",
"print(output_array)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "similar-spice",
"metadata": {},
"outputs": [],
"source": [
"tfm.build_array?"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "grand-influence",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['8svx', 'aif', 'aifc', 'aiff', 'aiffc', 'al', 'amb', 'amr-nb', 'amr-wb', 'anb', 'au', 'avr', 'awb', 'caf', 'cdda', 'cdr', 'cvs', 'cvsd', 'cvu', 'dat', 'dvms', 'f32', 'f4', 'f64', 'f8', 'fap', 'flac', 'fssd', 'gsm', 'gsrt', 'hcom', 'htk', 'ima', 'ircam', 'la', 'lpc', 'lpc10', 'lu', 'mat', 'mat4', 'mat5', 'maud', 'nist', 'ogg', 'paf', 'prc', 'pvf', 'raw', 's1', 's16', 's2', 's24', 's3', 's32', 's4', 's8', 'sb', 'sd2', 'sds', 'sf', 'sl', 'sln', 'smp', 'snd', 'sndfile', 'sndr', 'sndt', 'sou', 'sox', 'sph', 'sw', 'txw', 'u1', 'u16', 'u2', 'u24', 'u3', 'u32', 'u4', 'u8', 'ub', 'ul', 'uw', 'vms', 'voc', 'vorbis', 'vox', 'w64', 'wav', 'wavpcm', 'wv', 'wve', 'xa', 'xi']\n"
]
}
],
"source": [
"print(sox.core._get_valid_formats())"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "wireless-hypothetical",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"float64\n",
"(59471,)\n",
"16000\n",
"(54065,)\n",
"1.0999907518727459\n"
]
}
],
"source": [
"import soundfile as sf\n",
"wav='/workspace/DeepSpeech-2.x/examples/aishell/s1/../../..//examples/dataset/aishell/data_aishell/wav/dev/S0724/BAC009S0724W0190.wav'\n",
"samples, sr = sf.read(wav)\n",
"print(samples.dtype)\n",
"print(samples.shape)\n",
"print(sr)\n",
"tfm = sox.Transformer()\n",
"tfm.speed(1.1)\n",
"output_array = tfm.build_array(input_array=samples, sample_rate_in=sr)\n",
"output_array.dtype\n",
"print(output_array.shape)\n",
"print(len(samples)/len(output_array))"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "designed-fluid",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <audio controls=\"controls\" >\n",
" <source src=\"data:audio/x-wav;base64,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dgB1AHcAcwB0AGsAbABuAGwAawBmAGoAaQBrAGUAaABoAF4AYABhAF4AXQBfAF4AXgBbAFkAXQBdAGAAXgBeAGAAYQBeAF4AYABcAGAAXwBiAF8AYwBkAGQAYwBjAGkAZABnAGQAbQBnAGEAaABjAGMAYgBlAGUAZgBlAGMAYgBhAGIAXgBbAFYAWABVAFIAUwBSAFEAUABQAE4ATABKAEYARABCAEEAQAA/AD4AOgA5ADcANgA3ADYANwA6ADUANwA1ADIAMQAvADMAMAAvACoALgAvAC0ANAAzADYAMwAzADQAMQAzAC8ALQAtACoAJgAnACgAKQApACYAJgAmACMAIAAhACAAHgAaABkAGgAYABYAEwAWABMAEAAOAAsACgAHAAQAAgADAAEAAQD8//r//v/6//n/+f/6//X/8f/y/+//8P/y//L/8P/t/+v/5//n/+j/6f/k/+L/3//g/9z/2f/Y/9r/3P/W/9n/1f/T/9T/0v/V/9H/0f/O/9H/0f/U/9L/y//Q/9D/0P/P/87/0P/T/9b/1P/Z/9f/1//Z/9X/1//Z/9z/1//b/9z/3v/h/9z/2//d/9v/3f/g/9z/3f/e/+D/3//d/93/3f/e/9z/3f/f/+D/3v/W/9n/2v/T/9n/2P/Z/9n/3//i/+X/3v/Z/9n/3P/g/+T/5P/h/9//3f/f/93/4P/f/97/4P/j/+T/4f/h/+H/5P/h/+T/4//j/+b/5f/o/+j/6//p/+j/5v/h/+X/5f/j/+X/6P/n/+L/5//r/+r/6//l/+j/6P/k/+X/5P/m/+j/6v/n/+X/5//l/+P/5P/l/+T/4v/j/+H/4P/j/+H/3P/d/9//4P/j/+L/3//j/+H/4P/d/9//3//e/93/3f/e/9n/2f/c/9z/3f/d/+L/4f/e/+D/3//e/9v/4P/g/9//4f/h/+P/5v/m/+P/4//l/+P/5f/n/+b/5//m/+n/6P/q/+z/8P/u//D/8f/x//D/8P/z//H/+P/2//j/9v/6//z/AAD8//3////9////+v/+/wAAAAACAAIAAQACAAIA/f8BAAIABAAAAAIABQAAAAUAAwAEAAYAAQAHAAgABAACAAYABgAHAAcABQADAAYACAABAAoACQAFAAMAAgD//wAA///8/wAA/P///wAA/f/6//f/+P/3//b/9v/0//L/9v/y//P/8P/z//b/8f/y//P/9P/1//L/8//z//P/9f/1//H/8//v//D/8f/t/+7/6f/t/+z/7v/t/+7/6v/q/+r/5v/q/+P/4v/f/+L/4P/e/9//3//g/9n/3v/c/97/2f/b/9v/1v/Z/9j/2P/Y/9j/1P/U/9X/0//V/9v/1v/Z/9j/2f/c/9r/2//a/93/3P/d/97/1//a/9v/2//i/9z/4P/c/+D/3//e/+H/3//k/+P/5//j/+P/4v/j/+H/4P/i/+D/4P/d/+H/4v/k/+L/5f/m/+X/4P/m/+j/5f/q/+f/5//n/+j/5f/m/+f/6f/p/+v/6v/q/+z/7//v/+7/8f/v/+3/6v/u/+7/7v/w/+//8v/y//L/8f/z//T/7//t/+//8P/w//P/7v/v//H/8v/y//L/7f/t//L/7v/v//P/7v/w/
" Your browser does not support the audio element.\n",
" </audio>\n",
" "
],
"text/plain": [
"<IPython.lib.display.Audio object>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import IPython.display as ipd\n",
"ipd.Audio(wav) # load a local WAV file"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "cultural-friendship",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <audio controls=\"controls\" >\n",
" <source src=\"data:audio/wav;base64,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eQJ0An4CaQJuAj4CQwJOAkMCPgIjAjkCMwI+Ah4CLgIuAvgBAwIIAvgB8wH9AfgB+AHoAd0B8wHzAQMC+AH4AQMCCAL4AfgBAwLtAQMC/QEOAv0BEwIYAhgCEwITAjMCGAIoAhgCSQIoAggCLgITAhMCDgIeAh4CIwIeAhMCDgIIAg4C+AHoAc0B2AHIAbgBvQG4AbIBrQGtAaIBlwGNAXcBbQFiAVwBVwFSAUwBNwExAScBIQEnASEBJwE3ARwBJwEcAQwBBwH8ABEBAQH8AOEA9gD8APEAFwERASEBEQERARcBBwERAfwA8QDxAOEAywDRANYA3ADcAMsAywDLALsAqwCxAKsAoQCLAIYAiwCAAHYAZQB2AGUAVQBLADsANQAlABUACgAQAAUABQDr/+D/9v/g/9v/2//g/8X/sP+1/6X/q/+1/7X/q/+b/5D/ev96/4D/hf9q/1//T/9V/z//L/8q/zX/P/8f/y//Gv8P/xT/Cv8a/wT/BP/0/gT/BP8U/wr/5P7//v/+//75/vT+//4P/x//FP8v/yT/JP8v/xr/JP8v/z//JP86/z//Sv9a/z//Ov9F/zr/Rf9V/z//Rf9K/1X/T/9F/0X/Rf9K/z//Rf9P/1X/Sv8f/y//Nf8P/y//Kv8v/y//T/9f/3D/Sv8v/y//P/9V/2r/av9a/0//Rf9P/0X/Vf9P/0r/Vf9l/2r/Wv9a/1r/av9a/2r/Zf9l/3X/cP+A/4D/kP+F/4D/df9a/3D/cP9l/3D/gP96/1//ev+Q/4r/kP9w/4D/gP9q/3D/av91/4D/iv96/3D/ev9w/2X/av9w/2r/X/9l/1r/Vf9l/1r/P/9F/0//Vf9l/1//T/9l/1r/Vf9F/0//T/9K/0X/Rf9K/y//L/8//z//Rf9F/1//Wv9K/1X/T/9K/zr/Vf9V/0//Wv9a/2X/df91/2X/Zf9w/2X/cP96/3X/ev91/4X/gP+K/5X/q/+g/6v/sP+w/6v/q/+7/7D/1v/L/9b/y//g/+v/AADr//D/+//w//v/4P/2/wAAAAAKAAoABQAKAAoA8P8FAAoAFQAAAAoAGgAAABoAEAAVACAABQAlACoAFQAKACAAIAAlACUAGgAQACAAKgAFADUAMAAaABAACgD7/wAA+//r/wAA6//7/wAA8P/g/9D/1v/Q/8v/y//A/7X/y/+1/7v/q/+7/8v/sP+1/7v/wP/F/7X/u/+7/7v/xf/F/7D/u/+l/6v/sP+b/6D/hf+b/5X/oP+b/6D/iv+K/4r/df+K/2X/X/9P/1//Vf9K/0//T/9V/y//Sv8//0r/L/86/zr/H/8v/yr/Kv8q/yr/FP8U/xr/D/8a/zr/H/8v/yr/L/8//zX/Ov81/0X/P/9F/0r/JP81/zr/Ov9f/z//Vf8//1X/T/9K/1r/T/9q/2X/ev9l/2X/X/9l/1r/Vf9f/1X/Vf9F/1r/X/9q/1//cP91/3D/Vf91/4D/cP+K/3r/ev96/4D/cP91/3r/hf+F/5D/iv+K/5X/pf+l/6D/sP+l/5v/iv+g/6D/oP+r/6X/tf+1/7X/sP+7/8D/pf+b/6X/q/+r/7v/oP+l/7D/tf+1/7X/m/+b/7X/oP+l/7v/oP+r/7D
" Your browser does not support the audio element.\n",
" </audio>\n",
" "
],
"text/plain": [
"<IPython.lib.display.Audio object>"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tfm = sox.Transformer()\n",
"tfm.speed(1.0)\n",
"output_array = tfm.build_array(input_array=samples, sample_rate_in=sr)\n",
"ipd.Audio(output_array, rate=sr) # load a NumPy array"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "fossil-lotus",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <audio controls=\"controls\" >\n",
" <source src=\"data:audio/wav;base64,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
" Your browser does not support the audio element.\n",
" </audio>\n",
" "
],
"text/plain": [
"<IPython.lib.display.Audio object>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tfm = sox.Transformer()\n",
"tfm.speed(1.1)\n",
"output_array = tfm.build_array(input_array=samples, sample_rate_in=sr)\n",
"ipd.Audio(output_array, rate=sr) # load a NumPy array"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "constitutional-poker",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <audio controls=\"controls\" >\n",
" <source src=\"data:audio/wav;base64,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fQKGAoQCjwKUApACfwJ3AnUCfwJ8AncCjwJ9An4CjQJ4ApUCmAKCAosCcgJwAnsCfAKPAocCiwKMAn4CjwKhAq8CpwKiAqwCoQKjAqICowK5Ar8CtQKqArMCsgKqApoCjgKYApQCogKkAqcCvwKuArECqgKKAo4CjgKEAoACewJ1AoICkwKHAowCpwKoAp8CmwKGAosClQJ/An8ChAJ/An8CiAKUApYCmQKXApkCowKaAoECdgJ/AoECiAKJAoACkwKHAmQCcwJwAmECZQI6AjQCSQI7Aj4CJwIgAjECLAI1AhoCHQIyAgEC8AECAvwB7gHsAfcB8QHwAekB1AHjAewB7wH8Ae8B8QH7AQAC+AHqAf0B8AHrAfwB9wEGAvgBAwIVAgsCFQICAhoCJwIRAiACEQI1AjgC/AEaAh4CCAILAgYCFgIWAhkCGwINAgsCAAIFAgIC8AHgAcgBzgHLAbMBtQG1AbABqwGnAacBngGTAYwBegFrAWQBWgFXAVEBTQFJATYBLgEoAR4BHwEjARsBJQEyARoBHgEhAQkBCgH6AP8ADQH8APgA4ADqAP8A6QADARMBEAEeAQsBDQEUAQMBDAEDAe8A7wDrANkAyADOANMA1gDbAM4AxwDKAMYAtACpAK4AqgChAJAAgQCJAIUAfQBvAGUAdABnAFUATwA+ADgALgAgABEACgAQAAYABQD3/93/7//w/9z/2//c/+D/y/+x/7f/rf+l/7L/tv+3/6n/nf+T/4D/e/9+/4j/ff9o/17/Uv9W/0b/Mv8w/y7/RP81/yL/Nf8Y/xP/Gf8M/xz/EP8H/wL/+f4K/wj/F/8S/+r++f4H/wD/BP/5/vr+A/8S/yP/F/8p/zL/H/8y/yr/Hv8o/zP/Qv8s/zL/Rv9B/1n/Vv8+/z7/R/8//0H/WP9K/0L/S/9O/1n/UP9I/0f/R/9M/0f/Qv9M/1T/V/9K/yH/L/8+/xb/Jf8z/y7/Mf83/1P/Y/9w/1j/NP8y/zf/S/9d/2//a/9c/1T/Rv9R/0v/TP9b/0z/UP9Y/2f/bv9e/13/Wf9n/2f/Xf9w/2X/Z/93/3H/fv+B/4n/kv+C/4P/c/9d/2//df9o/2z/ev+E/3P/Yv+B/5H/i/+U/3r/df+K/3X/bv9x/23/d/+B/4v/hP9x/3j/e/9t/2j/bf9y/23/Y/9l/2P/Vv9d/2n/Vf9C/0b/Uv9V/2L/av9U/1v/Zv9b/1X/SP9P/1X/TP9L/0T/TP9H/y7/Nf9C/0L/R/9G/1b/Z/9R/1D/V/9S/03/Pf9R/1z/UP9Z/1z/Xv9q/3j/d/9o/2X/cP9t/2f/e/95/3n/e/93/4b/gv+I/5L/ov+r/5//sf+v/7L/rf+o/73/r//F/9X/zf/V/83/3//s//z/9//l//7/8//2//j/3//3/wAA//8IAAoACQACABAAAwDy/wQACgATAAgA/v8bAA0AAwAeAA0AFQAiAAYAGQAuACAADQAPACIAHgAlACYAGwATABIALwAWAA0AOwAsABkAEQAKAAEA+f8FAO//8v///+n//P8AAPP/5//U/9T/1P/Q/8r/zf/A/7b/yv+9/7f/t/+r/8b/yP+v/7f/u/+//8j/vP+3/73/u/+9/8j
" Your browser does not support the audio element.\n",
" </audio>\n",
" "
],
"text/plain": [
"<IPython.lib.display.Audio object>"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tfm = sox.Transformer()\n",
"tfm.speed(0.9)\n",
"output_array = tfm.build_array(input_array=samples, sample_rate_in=sr)\n",
"ipd.Audio(output_array, rate=sr) # load a NumPy array"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "threaded-strap",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"66078\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"librosa.display.waveplot(samples_out, sr=sr)\n",
"print(len(samples_out))"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "infectious-welcome",
"metadata": {},
"outputs": [],
"source": [
"import librosa\n",
"x, sr = librosa.load(wav, sr=16000)"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "musical-anatomy",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"float32\n",
"float64\n"
]
}
],
"source": [
"print(x.dtype)\n",
"print(samples.dtype)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "lucky-paraguay",
"metadata": {},
"outputs": [],
"source": [
"sf.read?"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "annual-christmas",
"metadata": {},
"outputs": [],
"source": [
"librosa.load?"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "infectious-seeker",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.allclose(x, samples)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "pregnant-conditioning",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import random"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "logical-happiness",
"metadata": {},
"outputs": [],
"source": [
"np.random.uniform?"
]
},
{
"cell_type": "code",
"execution_count": 58,
"id": "rocky-plastic",
"metadata": {},
"outputs": [],
"source": [
"random.uniform?"
]
},
{
"cell_type": "code",
"execution_count": 60,
"id": "focused-compensation",
"metadata": {},
"outputs": [],
"source": [
"np.random.RandomState?"
]
},
{
"cell_type": "code",
"execution_count": 66,
"id": "centered-repository",
"metadata": {},
"outputs": [],
"source": [
"random.sample?"
]
},
{
"cell_type": "code",
"execution_count": 95,
"id": "inner-invite",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['3', '5'], dtype='<U1')"
]
},
"execution_count": 95,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.random.choice(['5','4', '3'], 2, replace=False)"
]
},
{
"cell_type": "code",
"execution_count": 81,
"id": "russian-chosen",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['3', '4']"
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"random.sample(['5','4', '3'], 2)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "equal-particle",
"metadata": {},
"outputs": [],
"source": [
"def change_speed(samples, speed_rate):\n",
" \"\"\"Change the audio speed by linear interpolation.\n",
"\n",
" Note that this is an in-place transformation.\n",
"\n",
" :param speed_rate: Rate of speed change:\n",
" speed_rate > 1.0, speed up the audio;\n",
" speed_rate = 1.0, unchanged;\n",
" speed_rate < 1.0, slow down the audio;\n",
" speed_rate <= 0.0, not allowed, raise ValueError.\n",
" :type speed_rate: float\n",
" :raises ValueError: If speed_rate <= 0.0.\n",
" \"\"\"\n",
" if speed_rate <= 0:\n",
" raise ValueError(\"speed_rate should be greater than zero.\")\n",
" old_length = samples.shape[0]\n",
" new_length = int(old_length / speed_rate)\n",
" old_indices = np.arange(old_length)\n",
" new_indices = np.linspace(start=0, stop=old_length, num=new_length)\n",
" samples = np.interp(new_indices, old_indices, samples)\n",
" return samples"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "tracked-purse",
"metadata": {},
"outputs": [],
"source": [
"samples, sr = sf.read(wav)\n",
"samples_out = change_speed(samples, 1.0)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "steady-mileage",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <audio controls=\"controls\" >\n",
" <source src=\"data:audio/wav;base64,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eQJ0An4CaQJuAj4CQwJOAkMCPgIjAjkCMwI+Ah4CLgIuAvgBAwIIAvgB8wH9AfgB+AHoAd0B8wHzAQMC+AH4AQMCCAL4AfgBAwLtAQMC/QEOAv0BEwIYAhgCEwITAjMCGAIoAhgCSQIoAggCLgITAhMCDgIeAh4CIwIeAhMCDgIIAg4C+AHoAc0B2AHIAbgBvQG4AbIBrQGtAaIBlwGNAXcBbQFiAVwBVwFSAUwBNwExAScBIQEnASEBJwE3ARwBJwEcAQwBBwH8ABEBAQH8AOEA9gD8APEAFwERASEBEQERARcBBwERAfwA8QDxAOEAywDRANYA3ADcAMsAywDLALsAqwCxAKsAoQCLAIYAiwCAAHYAZQB2AGUAVQBLADsANQAlABUACgAQAAUABQDr/+D/9v/g/9v/2//g/8X/sP+1/6X/q/+1/7X/q/+b/5D/ev96/4D/hf9q/1//T/9V/z//L/8q/zX/P/8f/y//Gv8P/xT/Cv8a/wT/BP/0/gT/BP8U/wr/5P7//v/+//75/vT+//4P/x//FP8v/yT/JP8v/xr/JP8v/z//JP86/z//Sv9a/z//Ov9F/zr/Rf9V/z//Rf9K/1X/T/9F/0X/Rf9K/z//Rf9P/1X/Sv8f/y//Nf8P/y//Kv8v/y//T/9f/3D/Sv8v/y//P/9V/2r/av9a/0//Rf9P/0X/Vf9P/0r/Vf9l/2r/Wv9a/1r/av9a/2r/Zf9l/3X/cP+A/4D/kP+F/4D/df9a/3D/cP9l/3D/gP96/1//ev+Q/4r/kP9w/4D/gP9q/3D/av91/4D/iv96/3D/ev9w/2X/av9w/2r/X/9l/1r/Vf9l/1r/P/9F/0//Vf9l/1//T/9l/1r/Vf9F/0//T/9K/0X/Rf9K/y//L/8//z//Rf9F/1//Wv9K/1X/T/9K/zr/Vf9V/0//Wv9a/2X/df91/2X/Zf9w/2X/cP96/3X/ev91/4X/gP+K/5X/q/+g/6v/sP+w/6v/q/+7/7D/1v/L/9b/y//g/+v/AADr//D/+//w//v/4P/2/wAAAAAKAAoABQAKAAoA8P8FAAoAFQAAAAoAGgAAABoAEAAVACAABQAlACoAFQAKACAAIAAlACUAGgAQACAAKgAFADUAMAAaABAACgD7/wAA+//r/wAA6//7/wAA8P/g/9D/1v/Q/8v/y//A/7X/y/+1/7v/q/+7/8v/sP+1/7v/wP/F/7X/u/+7/7v/xf/F/7D/u/+l/6v/sP+b/6D/hf+b/5X/oP+b/6D/iv+K/4r/df+K/2X/X/9P/1//Vf9K/0//T/9V/y//Sv8//0r/L/86/zr/H/8v/yr/Kv8q/yr/FP8U/xr/D/8a/zr/H/8v/yr/L/8//zX/Ov81/0X/P/9F/0r/JP81/zr/Ov9f/z//Vf8//1X/T/9K/1r/T/9q/2X/ev9l/2X/X/9l/1r/Vf9f/1X/Vf9F/1r/X/9q/1//cP91/3D/Vf91/4D/cP+K/3r/ev96/4D/cP91/3r/hf+F/5D/iv+K/5X/pf+l/6D/sP+l/5v/iv+g/6D/oP+r/6X/tf+1/7X/sP+7/8D/pf+b/6X/q/+r/7v/oP+l/7D/tf+1/7X/m/+b/7X/oP+l/7v/oP+r/7D
" Your browser does not support the audio element.\n",
" </audio>\n",
" "
],
"text/plain": [
"<IPython.lib.display.Audio object>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ipd.Audio(samples, rate=sr) # load a NumPy array"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "regulated-google",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <audio controls=\"controls\" >\n",
" <source src=\"data:audio/wav;base64,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lAKOApkCgwKIAlYCXAJnAlwCVgI6AlACSwJWAjUCRQJEAg4CGQIeAg0CCAITAg0CDQL8AfIBCAIIAhgCDQIOAhkCHgINAg4CGAICAhgCEwIjAhMCKQIvAi8CKQIqAkoCLwI/AjACYQI/Ah8CRQIpAikCJAI1AjUCOgI0AikCJAIeAiMCDQL8AeEB7AHbAcoB0AHKAcUBvwG/AbQBqAGdAYcBfAFxAWsBZQFgAVoBRAE+ATMBLgEzAS4BMwFDASgBMwEoARcBEQEHAR0BDAEGAesAAQEGAfwAIgEdAS0BHQEdASIBEgEcAQYB+wD7AOoA1ADaAN8A5QDlANQA1ADUAMMAswC4ALIApwCRAIsAkQCGAHoAagB6AGkAWQBOAD0ANwAmABYACwAQAAUABQDq/9//9f/f/9n/2f/e/8P/rf+y/6H/p/+y/7L/p/+W/4v/df91/3r/f/9k/1j/SP9N/zf/Jv8h/yz/N/8W/yb/EP8F/wr///4Q//r++f7p/vr++v4K//7+2f70/vT+9P7u/un+9P4F/xX/C/8m/xv/G/8m/xD/G/8n/zf/HP8y/zf/Q/9T/zf/Mv89/zL/Pf9N/zf/Pf9D/03/SP89/z3/Pf9C/zf/Pf9I/03/Qf8W/yb/K/8F/yb/If8m/yf/SP9Z/2n/Qv8m/yf/OP9O/2T/ZP9T/0j/Pf9I/z3/Tf9I/0P/Tv9e/2T/U/9T/1P/ZP9T/2T/Xv9f/2//av96/3v/i/+A/3r/b/9U/2n/af9e/2r/ev90/1n/df+L/4b/iv9q/3r/ev9k/2n/ZP9v/3r/hf90/2r/dP9p/17/ZP9p/2T/Wf9e/1P/Tv9e/1P/N/89/0j/Tv9e/1j/SP9e/1P/Tf89/0j/SP9C/z3/Pf9C/yb/J/83/zf/Pf89/1n/U/9D/03/SP9C/zL/Tf9N/0j/U/9T/1//b/9v/17/X/9p/1//av91/2//df9v/4D/ev+G/5H/p/+c/6f/rf+s/6f/p/+4/63/1P/J/9T/yf/f/+v/AADq//D/+//w//r/3//2/wAAAAALAAsABQALAAoA8P8FAAsAFQAAAAsAGwAAABsAEAAWACAABgAnACwAFgALACEAIQAnACYAGwARACEAKwAGADcAMQAbABAACgD7/wAA+//r/wAA6v/7/wAA7//f/87/1P/O/8n/yP+9/7P/yP+y/7f/p/+4/8j/rf+y/7j/vf/D/7L/uP+4/7j/w//C/63/t/+i/6f/rP+W/5v/gP+W/5H/nP+W/5v/hf+F/4X/cP+F/17/WP9I/1j/Tf9C/0j/SP9N/yf/Qv83/0L/J/8y/zH/Fv8m/yH/If8h/yD/Cv8K/xD/Bf8R/zH/Fv8m/yH/J/83/yz/Mf8s/z3/N/89/0H/HP8s/zL/Mv9Y/zj/Tf84/03/SP9D/1P/Sf9k/1//dP9e/17/Wf9e/1P/Tv9Y/03/Tf89/1P/Wf9k/1n/av9v/2n/Tv9v/3r/av+F/3X/df91/3r/av9v/3X/gP+A/4v/hf+G/5H/of+h/5z/rP+h/5b/hv+c/5z/nP+n/6L/sv+y/7L/rf+4/73/of+W/6L/p/+n/7f/nP+i/63/sv+y/7H/lv+X/7L/nP+i/7f/nP+n/6z
" Your browser does not support the audio element.\n",
" </audio>\n",
" "
],
"text/plain": [
"<IPython.lib.display.Audio object>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ipd.Audio(samples_out, rate=sr) # load a NumPy array"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "homeless-forge",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <audio controls=\"controls\" >\n",
" <source src=\"data:audio/wav;base64,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
" Your browser does not support the audio element.\n",
" </audio>\n",
" "
],
"text/plain": [
"<IPython.lib.display.Audio object>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"samples_out = change_speed(samples, 1.1)\n",
"ipd.Audio(samples_out, rate=sr) # load a NumPy array"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "exciting-blocking",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <audio controls=\"controls\" >\n",
" <source src=\"data:audio/wav;base64,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kgKaApsCpQKqAqMClgKNAowCkQKTAo0CpQKRApkCmgKXAqYCqgKcApsCiQKFAo8ClAKhAp8CoAKeApkCpQK4AsYCvAK7Ar8CugK5ArkCvQLOAtUCywLCAsoCyAK/ArACqAKrAq0CtgK7AsAC0wLHAsgCugKmAqICowKaApUCkAKLApoCowKgAqYCuQK+ArUCsAKcAqMCpQKYApUCmAKVApYCnQKrAqsCrwKsArICtgKtApkCjQKVApUCnwKbApoCpQKXAoICgwKFAnUCeAJMAk0CVgJSAksCPQI0AkICPwJIAioCNQI4AhYCBwIPAgwCAAL9AQcCAgIBAvUB6gHyAfwBAQIKAgECAgIMAhECBgIBAgcCAwL+AQsCCQIXAggCGQIhAiICHwIdAicCNwIkAjICIwJLAjwCHgImAiwCHQIbAhkCKAIoAiwCKQIhAhoCFQIUAhIC/wHwAdgB3wHVAcYBwwHDAb4BuQG1AbUBqwGhAZcBhgF4AW8BZwFiAV0BWAFTAUABOQEwASkBKQEqASgBLgE8ASMBKgEkARcBDgEHAQgBEwEFAQAB5wD3AP8A+gAKARkBHAEjARYBFgEbAQ4BEwEJAfsA9gDwAOAA0ADVANoA3wDgANUAzwDPAMoAuwCvALQArwClAJQAigCLAIkAfwB0AGkAdwBpAFoATwBCADkALwAgABMACwAQAAYABQDy/+T/6//s/97/2v/b/9//xv+y/7L/qv+m/67/tP+x/6f/mP+O/3z/eP97/4D/d/9k/1n/Tf9R/z3/Lv8n/y3/N/8u/yD/Jv8U/wv/EP8H/xH/CP8A//j+9f4A/wL/EP8G/+X+8/76/vr++P7z/vL+/P4L/xr/Ev8k/yT/IP8l/yT/GP8i/yz/O/8l/zD/Ov9C/07/Tv86/zj/Qf83/z//Tf9E/z//RP9K/1D/S/9B/0H/Qf9F/0D/P/9G/07/T/9B/xv/Kv8w/xX/H/8o/yj/K/8z/07/Xf9s/03/M/8r/zT/Rf9Z/2f/Zf9X/03/Q/9J/0X/Sv9P/0r/Sf9U/2L/Z/9a/1f/V/9g/2D/XP9m/2L/Y/9x/27/ef99/4b/if+B/3v/b/9Y/2v/bf9l/2n/dv97/2//Y/97/47/if+N/3b/d/99/3T/af9s/2n/c/99/4b/fP9x/3P/c/9p/2P/aP9t/2j/Xv9h/1v/VP9Z/17/Uf88/0L/S/9R/17/Xv9U/1b/Xv9W/0//Qv9L/0z/SP9D/0H/RP89/yv/Lv88/zz/QP9B/1P/Wv9Q/0r/UP9L/0b/N/9N/1L/Tv9S/1f/W/9m/3L/cv9j/2L/av9m/2j/cv92/3T/d/9z/4L/fv+F/4//n/+k/6L/qv+u/67/qf+p/7X/sv/D/9D/zv/S/83/4P/q//3/8P/u//b/9v/0//X/4//2/wAAAAAIAAoACAAHAAoABADz/wUACgAUAAUABgATAA8ACQAYABEAFgAgAAkAHQApAB8AEQASACAAIQAmACYAHQATABoAJgAbABYANQAuABoAEQALAP/////+//T/8v/7/+3/+/8AAPP/5P/V/9L/0v/N/8r/yP++/7X/xv+6/7f/sf+w/7//w/+v/7T/uf++/8P/uv+3/7n/uf+8/8T
" Your browser does not support the audio element.\n",
" </audio>\n",
" "
],
"text/plain": [
"<IPython.lib.display.Audio object>"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"samples_out = change_speed(samples, 0.9)\n",
"ipd.Audio(samples_out, rate=sr) # load a NumPy array"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "through-botswana",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"66078\n"
]
}
],
"source": [
"print(len(samples_out))"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "cellular-violence",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting matplotlib\n",
" Downloading matplotlib-3.4.1-cp37-cp37m-manylinux1_x86_64.whl (10.3 MB)\n",
"\u001b[K |████████████████████████████████| 10.3 MB 691 kB/s eta 0:00:01\n",
"\u001b[?25hRequirement already satisfied: pillow>=6.2.0 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from matplotlib) (8.1.0)\n",
"Requirement already satisfied: numpy>=1.16 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from matplotlib) (1.20.1)\n",
"Requirement already satisfied: python-dateutil>=2.7 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from matplotlib) (2.8.1)\n",
"Collecting kiwisolver>=1.0.1\n",
" Downloading kiwisolver-1.3.1-cp37-cp37m-manylinux1_x86_64.whl (1.1 MB)\n",
"\u001b[K |████████████████████████████████| 1.1 MB 45.9 MB/s eta 0:00:01\n",
"\u001b[?25hRequirement already satisfied: pyparsing>=2.2.1 in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from matplotlib) (2.4.7)\n",
"Collecting cycler>=0.10\n",
" Downloading cycler-0.10.0-py2.py3-none-any.whl (6.5 kB)\n",
"Requirement already satisfied: six in /workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages (from cycler>=0.10->matplotlib) (1.15.0)\n",
"Installing collected packages: kiwisolver, cycler, matplotlib\n",
"Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.4.1\n"
]
}
],
"source": [
"!pip install matplotlib\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import librosa.display"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "undefined-parade",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PolyCollection at 0x7f6a2594afd0>"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEKCAYAAAAfGVI8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Z1A+gAAAACXBIWXMAAAsTAAALEwEAmpwYAAA8K0lEQVR4nO2dd3hUZfbHvycdQoAEQpEWmlQVJICoKApqABdcF8u6KlbUXX+77rqrIFZs7Lr2si5WXHXtrigI0myoSFB67xDpoYQEUs/vj7kTJpM7M/fO7XPP53nmye33ZObe97zveU8hZoYgCILgX5KcFkAQBEFwFlEEgiAIPkcUgSAIgs8RRSAIguBzRBEIgiD4HFEEgiAIPscURUBEBUS0log2ENF4lf1/IaJVRLSMiOYSUYeQfWOJaL3yGWuGPIIgCIJ2yGgcARElA1gH4DwAOwAsAvBbZl4Vcsw5ABYycxkR3QJgCDNfRkQ5AAoB5ANgAIsB9GPmA4aEEgRBEDRjxohgAIANzLyJmSsAvANgdOgBzDyfmcuU1R8AtFWWLwAwm5mLlcZ/NoACE2QSBEEQNJJiwjXaANgesr4DwMAox18P4PMo57aJdcPmzZtzXl6ePikFQRB8zuLFi/cxc274djMUgWaI6EoEzEBnx3HuOADjAKB9+/YoLCw0WTpBEITEhoi2qm03wzRUBKBdyHpbZVu4AMMATAQwipnL9ZwLAMw8hZnzmTk/N7eeQhMEQRDixAxFsAhAVyLqSERpAC4HMC30ACLqC+DfCCiBPSG7ZgE4n4iyiSgbwPnKNkEQBMEmDJuGmLmKiG5FoAFPBvAqM68kokkACpl5GoDHADQC8D4RAcA2Zh7FzMVE9CACygQAJjFzsVGZBEEQBO0Ydh91gvz8fJY5AkEQBH0Q0WJmzg/fLpHFgiAIPkcUgSAIgs8RRSAIguBzRBEIgiD4HFEEgif42/tLsXirpKASBCuwNbJYEOLl/cU7kJ6ahH4dsp0WRRASDhkRCIKQcKwoOoSZK3Y5LYZnEEUgCELCMeGj5bj5zcVOi+EZRBEInsGDsY+CQzDkYdGDKALBM8irLWhFOg36EEUgCELCIYpAH6IIBEFIOEQP6EMUgeAZ3l64zWkRBI/gxWSaTiKKQBAEweeIIhAEIaGorK7Bml0lTovhKUQRCIKQUBworXBaBM8hikAQhISiRqYHdCOKQPAUFVU1OPHuz50WQ3AxNTJRrBtTFAERFRDRWiLaQETjVfafRUQ/EVEVEY0J21dNREuUz7TwcwUhlKMV1aioqnFaDMHFiCLQj+Hso0SUDOB5AOcB2AFgERFNY+ZVIYdtA3ANgL+qXOIoM/cxKofgE8hpAQS3UyP9BN2YMSIYAGADM29i5goA7wAYHXoAM29h5mUA5CcSdDFj+U7kjZ/utBiCh5ARgX7MUARtAGwPWd+hbNNKBhEVEtEPRHSRCfIkNHnjp2P/kXKnxbCNtWFugEkyIhBiMPKZb5wWwXO4YbK4AzPnA7gCwFNE1FntICIapyiMwr1799orocvYU+IfRRDetyMSTSBEp7SiunZ5n486TUYwQxEUAWgXst5W2aYJZi5S/m4C8CWAvhGOm8LM+cycn5ubG7+0HmD+mj1Ysv1gve3HKgMPeLWf/ONkmC8YYM9hUQRaMEMRLALQlYg6ElEagMsBaPL+IaJsIkpXlpsDOAPAquhnJT7Xvr4If3jrp3rb/zFzLQB/KYLw/3Tu6t2OyCF4E5kv0IZhRcDMVQBuBTALwGoA7zHzSiKaRESjAICI+hPRDgCXAPg3Ea1UTu8BoJCIlgKYD2BymLeRr8kbP73OROn+0kDv5kCZfyMn//TOEgCSVEzQhjwm2jCleD0zzwAwI2zbvSHLixAwGYWf9x2Ak8yQIdFQM4UHH+oHPl2FId1a2CuQQ0R6kcurapCRmmyvMB6kpoZRw4yUZDdMB9qPjAi04c+nw8UcVHr7as9vsZJDZfO+UjtFcpRIJQeHPfGVzZJ4k7/PWoPu98x0WgzH+GHTfqdF8ASiCFzG8qJDqts37DmCbzfss1ka54nUodtx4Ki9gniUVb8cRpWP5pQ+WVLXT0UUgTZEEXiEV77d7LQIjuCfJsxanGgQDx+rxLIdB2295+qddeNOkpOkidOCfEseoVri5gUDXD7lB9vv+cQX6zDquQW23zcUn06N6Ea+Jo/gp+F9KDLXZ4yFm4odu3eVCzovBb1bOS2CJxBF4BFq/KoIxDhkiIpq5xrjJAeiwMOfl7Rk8SzTgigCl1J0sO5kaLWG9rDkWCXKKqosksghRA94FicUgRAfoghcRiRTiJYRwbAnvnLEFmwloge8i+gB72BKQJlgPdOX74x5zO7D5ThyLMFGBIJnkRGBd5ARgcsw+u5UJ9jsqqSS8C4rIsTEWMl7i7bHPkiohygCB2FmVJk8mZdoCelED3iTWSt3YeFm+z2WDpRV1lkXZwNtiCJwkBe+3IguE80txJ5oikDwJou3HqhdPmPyPAclEbQgisBBPltW3+4f+gLFQ6LpgQT7d3xDqIUz3ANOcB8yWewgq3cerrftqTnrHZBEEMzjdy//gAUb3JHjp0hyUmlCRgSCq5E5Am9xoLTCNUoAAB79fA0A4L8/bkNpuXjURUIUgUuoqq7Bawu0J5Yrr6qus/7yN5vMFsn1/PX9pfhmvb/rVwPA7sPHsOvQMafFAAAcrayOfZADTPhoOeau2eO0GK5FFIFL2LK/FA98qr0427pdR+qsPzR9tdkiuZ4PFu/AB4t3OC2G4/z6+QU4+7H5TosRFSkx6m5EEbgE0hlA8Kvnvq1dTuSc6+L+F5tjVTUor6rvhjxzxS7bZYn0GF8/tdBeQQRdmKIIiKiAiNYS0QYiGq+y/ywi+omIqohoTNi+sUS0XvmMNUMerzH6uW9hJI7s2tcWmSaL23htwZaYx0xfthMb9hyJeZzfePyLtbbfkww9yYJTGFYERJQM4HkAwwH0BPBbIuoZdtg2ANcAeDvs3BwA9wEYCGAAgPuIKNuoTF5j6Y5DukcEwPGo20oHM0y6gT+8/RMeneE/01iQSHmoJMODoBUzRgQDAGxg5k3MXAHgHQCjQw9g5i3MvAxAeIt1AYDZzFzMzAcAzAZQYIJMniPaOxvpRT+s5BXya60C4Pj35tdGr7i0AgePVsY+UBCiYIYiaAMgNMHHDmWb1ecmFNESdHW6a4b6DpZcPMf/e/9ogsv+/T0qlDmBaC6RTjwaTipkv9bsMAPPTBYT0TgiKiSiwr17ve8yOPbVH+usx/MCMRiLthiLRE4U9h4pd1oES7lhaiEOllUAABZuLsbhY4FRQFKSuxSgk9IcijAyyhs/3WZJvIcZiqAIQLuQ9bbKNlPPZeYpzJzPzPm5ublxCeomvlpnXJkxu6McoJN8suQXAMDS7QedFcRi5qzejeUh2TyDvX09De/KXw4ldKMo44H4MUMRLALQlYg6ElEagMsBTNN47iwA5xNRtjJJfL6yzXfENyIQL40gLusYW8LRiuPBWkG3Wj05/x/6rO6E+okTP8cvCZQH6JVvowdV+t2MGg3DioCZqwDcikADvhrAe8y8kogmEdEoACCi/kS0A8AlAP5NRCuVc4sBPIiAMlkEYJKyzXfE6zXk10nScOL5/rwGA9hbUn58BdE7EOH7UlPqvu4V1TXYsr/UPAEd5sWv/BddbxamzBEw8wxmPpGZOzPzw8q2e5l5mrK8iJnbMnMmMzdj5l4h577KzF2Uz2tmyONF4mnGGJKLx2/0f3gOAODCZwMBhXqem68Vc+ScVbstm1j9YlXkCGIr3ZwPllVICnYDeGayONFRy0QaC2ZgW3H9Hp0f4wqqaxj7E3zCOJQ9JeXIGz8dO+PIMXTDG4VY8Ysy32By23n3/1ZE3Ldwk3WD/QofPvNmIorAJcQTgs9g3Pnh8nrbS3xat7jfQ3NwJIEzTKqN/lbF0YEArIk9eXZu9BTqKckWmu9kMGAIUQQeJpJZyM+eREcSUAlGGy2GNq16TCMXv/CdAYnUeXz2uqj7Uy1UBFpqdYsZNTKiCDxMpBffz7bSRExSN/zpbwA
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"librosa.display.waveplot(samples_out, sr=sr)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "special-delicious",
"metadata": {},
"outputs": [],
"source": [
"import getpass"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "seasonal-consensus",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['GetPassWarning',\n",
" '__all__',\n",
" '__builtins__',\n",
" '__cached__',\n",
" '__doc__',\n",
" '__file__',\n",
" '__loader__',\n",
" '__name__',\n",
" '__package__',\n",
" '__spec__',\n",
" '_raw_input',\n",
" 'contextlib',\n",
" 'fallback_getpass',\n",
" 'getpass',\n",
" 'getuser',\n",
" 'io',\n",
" 'os',\n",
" 'sys',\n",
" 'termios',\n",
" 'unix_getpass',\n",
" 'warnings',\n",
" 'win_getpass']"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dir(getpass)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "dress-distinction",
"metadata": {},
"outputs": [],
"source": [
"getpass?"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "rental-anthony",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Worker:"
]
}
],
"source": [
"import multiprocessing\n",
"import cProfile\n",
"import time\n",
"\n",
"def worker(num):\n",
" time.sleep(3)\n",
" print('Worker:', num)\n",
"\n",
"def profile_worker(num):\n",
" cProfile.runctx('worker(num)', globals(), locals(), 'profile-%d.out' %num)\n",
"\n",
"\n",
"\n",
"for i in range(5):\n",
" p = multiprocessing.Process(target=profile_worker, args=(i,))\n",
" p.start()"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "separated-restriction",
"metadata": {},
"outputs": [],
"source": [
"!ls"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "painted-variable",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(2, 2)\n",
"[ 1 20]\n"
]
}
],
"source": [
"import numpy as np\n",
"l = [(1, 20), (2, 30)]\n",
"scores = np.array(l)\n",
"print(scores.shape)\n",
"print(scores[0])"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "satellite-insider",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0 1]\n"
]
}
],
"source": [
"sort_idx = np.argsort(scores[:, -1])\n",
"print(sort_idx)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "developed-thirty",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 1 20]\n",
" [ 2 30]]\n"
]
}
],
"source": [
"sorted_val_scores = scores[sort_idx][::1]\n",
"print(sorted_val_scores)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "official-bench",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 1 20]\n",
" [ 2 30]]\n"
]
}
],
"source": [
"sorted_val_scores = scores[sort_idx]\n",
"print(sorted_val_scores)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "ranking-camera",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"b'\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x14\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x1e\\x00\\x00\\x00\\x00\\x00\\x00\\x00'\n",
"[ 1 20 2 30]\n",
"[[ 1 20]\n",
" [ 2 30]]\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages/ipykernel_launcher.py:1: DeprecationWarning: tostring() is deprecated. Use tobytes() instead.\n",
" \"\"\"Entry point for launching an IPython kernel.\n",
"/workspace/DeepSpeech-2.x/tools/venv/lib/python3.7/site-packages/ipykernel_launcher.py:3: DeprecationWarning: The binary mode of fromstring is deprecated, as it behaves surprisingly on unicode inputs. Use frombuffer instead\n",
" This is separate from the ipykernel package so we can avoid doing imports until\n"
]
}
],
"source": [
"a = scores.tostring()\n",
"print(a)\n",
"b = np.fromstring(a, scores.dtype)\n",
"print(b)\n",
"print(scores)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "breeding-proxy",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"numpy.int16"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.int16"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "coordinate-hungary",
"metadata": {},
"outputs": [],
"source": [
"dtype = np.dtype('int16')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "specified-jackson",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"int16\n",
"16\n"
]
}
],
"source": [
"print(dtype)\n",
"dtype is np.int16\n",
"print(np.iinfo(dtype).bits)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "activated-insight",
"metadata": {},
"outputs": [],
"source": []
}
],
"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.0"
}
},
"nbformat": 4,
"nbformat_minor": 5
}