From cf7ded409ea6a60920db468cc69267367fc488bf Mon Sep 17 00:00:00 2001 From: Ming Date: Mon, 11 Mar 2019 15:45:38 +0800 Subject: [PATCH] Add files via upload --- layerNormedGRU.py | 78 + model901.py | 87 + model902.py | 89 + model903.py | 89 + subtitle_demo.ipynb | 4363 +++++++++++++++++++++++++++++++++++++++++++ subtitle_demo.py | 57 + test_audio.wav | Bin 0 -> 244748 bytes test_audio2.wav | Bin 0 -> 102508 bytes train901.py | 74 + train902.py | 74 + train903.py | 74 + 11 files changed, 4985 insertions(+) create mode 100644 layerNormedGRU.py create mode 100644 model901.py create mode 100644 model902.py create mode 100644 model903.py create mode 100644 subtitle_demo.ipynb create mode 100644 subtitle_demo.py create mode 100644 test_audio.wav create mode 100644 test_audio2.wav create mode 100644 train901.py create mode 100644 train902.py create mode 100644 train903.py diff --git a/layerNormedGRU.py b/layerNormedGRU.py new file mode 100644 index 0000000..1010836 --- /dev/null +++ b/layerNormedGRU.py @@ -0,0 +1,78 @@ +import numpy as np +import tensorflow as tf + + +class layerNormedGRU(tf.contrib.rnn.RNNCell): + + def __init__( + self, size, activation=tf.tanh, reuse=None, + normalizer=tf.contrib.layers.layer_norm, + initializer=tf.contrib.layers.xavier_initializer()): + super(layerNormedGRU, self).__init__(_reuse=reuse) + self._size = size + self._activation = activation + self._normalizer = normalizer + self._initializer = initializer + + @property + def state_size(self): + return self._size + + @property + def output_size(self): + return self._size + + def call(self, input_, state): + update, reset = tf.split(self._forward( + 'update_reset', [state, input_], 2 * self._size, tf.nn.sigmoid, + bias_initializer=tf.constant_initializer(-1.)), 2, 1) + candidate = self._forward( + 'candidate', [reset * state, input_], self._size, self._activation) + state = (1 - update) * state + update * candidate + return state, state + + def _forward(self, name, inputs, size, activation, **kwargs): + with tf.variable_scope(name): + return _forward( + inputs, size, activation, normalizer=self._normalizer, + weight_initializer=self._initializer, **kwargs) + + +def _forward( + inputs, size, activation, normalizer=tf.contrib.layers.layer_norm, + weight_initializer=tf.contrib.layers.xavier_initializer(), + bias_initializer=tf.zeros_initializer()): + if not isinstance(inputs, (tuple, list)): + inputs = (inputs,) + shapes = [] + outputs = [] + # Map each input to individually normalize their outputs. + for index, input_ in enumerate(inputs): + shapes.append(input_.shape[1: -1].as_list()) + input_ = tf.contrib.layers.flatten(input_) + weight = tf.get_variable( + 'weight_{}'.format(index + 1), (int(input_.shape[1]), size), + tf.float32, weight_initializer) + output = tf.matmul(input_, weight) + if normalizer: + output = normalizer(output) + outputs.append(output) + output = tf.reduce_mean(outputs, 0) + # Add bias after normalization. + bias = tf.get_variable( + 'weight', (size,), tf.float32, bias_initializer) + output += bias + # Activation function. + if activation: + output = activation(output) + # Restore shape dimensions that are consistent among inputs. + min_dim = min(len(shape[1:]) for shape in shapes) + dim_shapes = [[shape[dim] for shape in shapes] for dim in range(min_dim)] + matching_dims = ''.join('NY'[len(set(x)) == 1] for x in dim_shapes) + 'N' + agreement = matching_dims.index('N') + remaining = sum(np.prod(shape[agreement:]) for shape in shapes) + if agreement: + batch_size = output.shape[0].value or -1 + shape = [batch_size] + shapes[:agreement] + [remaining] + output = tf.reshape(output, shape) + return output diff --git a/model901.py b/model901.py new file mode 100644 index 0000000..9467734 --- /dev/null +++ b/model901.py @@ -0,0 +1,87 @@ +import tensorflow as tf +import numpy as np +from layerNormedGRU import layerNormedGRU + +class model: + + def __init__(self, num_class, topk_paths = 10): + self.xs = tf.placeholder(tf.float32, [None, 1000, 161]) + self.ys = tf.sparse_placeholder(tf.int32) + self.learning_rate = tf.placeholder(tf.float32) + self.seq_len = tf.placeholder(tf.int32, [None]) + self.isTrain = tf.placeholder(tf.bool, name='phase') + + xs_input = tf.expand_dims(self.xs, 3) + + conv1 = self._nn_conv_bn_layer(xs_input, 'conv_1', [11, 41, 1, 32], [3, 2]) + conv2 = self._nn_conv_bn_layer(conv1, 'conv_2', [11, 21, 32, 32], [1, 2]) + conv_out = tf.reshape(conv2, [-1, 334, 41*32]) + biRNN1 = self._biRNN_bn_layer(conv_out, 'biRNN_1', 256) + biRNN2 = self._biRNN_bn_layer(biRNN1, 'biRNN_2', 256) + biRNN3 = self._biRNN_bn_layer(biRNN2, 'biRNN_3', 256) + + self.phonemes = tf.layers.dense(biRNN3, num_class) + + # Notes: tf.nn.ctc_loss performs the softmax operation for you, so + # inputs should be e.g. linear projections of outputs by an LSTM. + self.loss = tf.reduce_mean(tf.nn.ctc_loss(labels=self.ys, inputs=self.phonemes, sequence_length=self.seq_len, + ignore_longer_outputs_than_inputs=True, time_major=False)) + + optimizer = tf.train.AdamOptimizer(self.learning_rate, beta1 = 0.6, beta2 = 0.8) + update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) + with tf.control_dependencies(update_ops): + gvs = optimizer.compute_gradients(self.loss) + capped_gvs = [(tf.clip_by_value(grad, -400., 400.), var) for grad, var in gvs if grad is not None] + self.train_op = optimizer.apply_gradients(capped_gvs) + + self.prediction, log_prob = tf.nn.ctc_beam_search_decoder(tf.transpose(self.phonemes,[1,0,2]), self.seq_len, top_paths=topk_paths, merge_repeated=False) + + self.loss_summary = tf.summary.scalar("loss", self.loss) + self.merged = tf.summary.merge_all() + + def _nn_conv_bn_layer(self, inputs, scope, shape, strides): + with tf.variable_scope(scope): + W_conv = tf.get_variable("W", shape=shape, initializer=tf.contrib.layers.xavier_initializer()) + h_conv = tf.nn.conv2d(inputs, W_conv, strides=[1, strides[0], strides[1], 1], padding='SAME', name="conv2d") + b = tf.get_variable("bias" , shape=[shape[3]], initializer=tf.contrib.layers.xavier_initializer()) + h_bn = tf.layers.batch_normalization(h_conv+b, training = self.isTrain) + h_relu = tf.nn.relu6(h_bn, name="relu6") + return h_relu + + def _biRNN_bn_layer(self, input, scope, hidden_units, cell = "LayerNormedGRU"): + with tf.variable_scope(scope): + if cell == 'GRU': + fw_cell = tf.nn.rnn_cell.GRUCell(hidden_units, activation=tf.nn.relu, name = 'fw_cell') + bw_cell = tf.nn.rnn_cell.GRUCell(hidden_units, activation=tf.nn.relu, name = 'bw_cell') + elif cell == 'LSTM': + fw_cell = tf.nn.rnn_cell.BasicLSTMCell(hidden_units, activation=tf.nn.relu, name = 'fw_cell') + bw_cell = tf.nn.rnn_cell.BasicLSTMCell(hidden_units, activation=tf.nn.relu, name = 'bw_cell') + elif cell == 'vanila': + fw_cell = tf.nn.rnn_cell.BasicRNNCell(hidden_units, activation=tf.nn.relu, name = 'fw_cell') + bw_cell = tf.nn.rnn_cell.BasicRNNCell(hidden_units, activation=tf.nn.relu, name = 'bw_cell') + elif cell == 'LayerNormedGRU': + with tf.variable_scope('fw_cell'): + fw_cell = layerNormedGRU(hidden_units, activation=tf.nn.relu) + with tf.variable_scope('bw_cell'): + bw_cell = layerNormedGRU(hidden_units, activation=tf.nn.relu) + else: + raise ValueError("Invalid cell type: "+str(cell)) + + (output_fw, output_bw), _ = tf.nn.bidirectional_dynamic_rnn(fw_cell, bw_cell, input, dtype=tf.float32, scope="bi_dynamic_rnn") + # output_fw_bn = tf.layers.batch_normalization(output_fw, training = self.isTrain, name = 'output_fw_bn') + # output_bw_bn = tf.layers.batch_normalization(output_bw, training = self.isTrain, name = 'output_bw_bn') + # bilstm_outputs_concat_1 = tf.concat([output_fw_bn, output_bw_bn], 2) + bilstm_outputs_concat_1 = tf.concat([output_fw, output_bw], 2) + return bilstm_outputs_concat_1 + + def train(self, sess, learning_rate, xs, ys): + _, loss, summary = sess.run([self.train_op, self.loss, self.merged], feed_dict = {self.isTrain: True, self.learning_rate: learning_rate, self.seq_len: np.ones(xs.shape[0])*334, self.xs: xs, self.ys: ys}) + return loss, summary + + def get_loss(self, sess, xs, ys): + loss = sess.run(self.loss, feed_dict = {self.isTrain: False, self.seq_len: np.ones(xs.shape[0])*334, self.xs: xs, self.ys: ys}) + return loss + + def predict(self, sess, xs): + prediction = sess.run(self.prediction, feed_dict = {self.isTrain: False, self.seq_len: np.ones(xs.shape[0])*334, self.xs: xs}) + return prediction diff --git a/model902.py b/model902.py new file mode 100644 index 0000000..a903206 --- /dev/null +++ b/model902.py @@ -0,0 +1,89 @@ +import tensorflow as tf +import numpy as np +from layerNormedGRU import layerNormedGRU + +class model: + + def __init__(self, num_class, topk_paths = 10): + self.xs = tf.placeholder(tf.float32, [None, 1000, 161]) + self.ys = tf.sparse_placeholder(tf.int32) + self.learning_rate = tf.placeholder(tf.float32) + self.seq_len = tf.placeholder(tf.int32, [None]) + self.isTrain = tf.placeholder(tf.bool, name='phase') + + xs_input = tf.expand_dims(self.xs, 3) + + conv1 = self._nn_conv_bn_layer(xs_input, 'conv_1', [11, 41, 1, 32], [3, 2]) + conv2 = self._nn_conv_bn_layer(conv1, 'conv_2', [11, 21, 32, 64], [1, 2]) + conv_out = tf.reshape(conv2, [-1, 334, 41*64]) + biRNN1 = self._biRNN_bn_layer(conv_out, 'biRNN_1', 256) + biRNN2 = self._biRNN_bn_layer(biRNN1, 'biRNN_2', 256) + biRNN3 = self._biRNN_bn_layer(biRNN2, 'biRNN_3', 256) + biRNN4 = self._biRNN_bn_layer(biRNN3, 'biRNN_4', 256) + biRNN5 = self._biRNN_bn_layer(biRNN4, 'biRNN_5', 256) + + self.phonemes = tf.layers.dense(biRNN5, num_class) + + # Notes: tf.nn.ctc_loss performs the softmax operation for you, so + # inputs should be e.g. linear projections of outputs by an LSTM. + self.loss = tf.reduce_mean(tf.nn.ctc_loss(labels=self.ys, inputs=self.phonemes, sequence_length=self.seq_len, + ignore_longer_outputs_than_inputs=True, time_major=False)) + + optimizer = tf.train.AdamOptimizer(self.learning_rate, beta1=0.7, beta2=0.9) + update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) + with tf.control_dependencies(update_ops): + gvs = optimizer.compute_gradients(self.loss) + capped_gvs = [(tf.clip_by_value(grad, -400., 400.), var) for grad, var in gvs if grad is not None] + self.train_op = optimizer.apply_gradients(capped_gvs) + + self.prediction, log_prob = tf.nn.ctc_beam_search_decoder(tf.transpose(self.phonemes,[1,0,2]), self.seq_len, top_paths=topk_paths, merge_repeated=False) + + self.loss_summary = tf.summary.scalar("loss", self.loss) + self.merged = tf.summary.merge_all() + + def _nn_conv_bn_layer(self, inputs, scope, shape, strides): + with tf.variable_scope(scope): + W_conv = tf.get_variable("W", shape=shape, initializer=tf.contrib.layers.xavier_initializer()) + h_conv = tf.nn.conv2d(inputs, W_conv, strides=[1, strides[0], strides[1], 1], padding='SAME', name="conv2d") + b = tf.get_variable("bias" , shape=[shape[3]], initializer=tf.contrib.layers.xavier_initializer()) + h_bn = tf.layers.batch_normalization(h_conv+b, training = self.isTrain) + h_relu = tf.nn.relu6(h_bn, name="relu6") + return h_relu + + def _biRNN_bn_layer(self, input, scope, hidden_units, cell = "LayerNormedGRU"): + with tf.variable_scope(scope): + if cell == 'GRU': + fw_cell = tf.nn.rnn_cell.GRUCell(hidden_units, activation=tf.nn.relu, name = 'fw_cell') + bw_cell = tf.nn.rnn_cell.GRUCell(hidden_units, activation=tf.nn.relu, name = 'bw_cell') + elif cell == 'LSTM': + fw_cell = tf.nn.rnn_cell.BasicLSTMCell(hidden_units, activation=tf.nn.relu, name = 'fw_cell') + bw_cell = tf.nn.rnn_cell.BasicLSTMCell(hidden_units, activation=tf.nn.relu, name = 'bw_cell') + elif cell == 'vanila': + fw_cell = tf.nn.rnn_cell.BasicRNNCell(hidden_units, activation=tf.nn.relu, name = 'fw_cell') + bw_cell = tf.nn.rnn_cell.BasicRNNCell(hidden_units, activation=tf.nn.relu, name = 'bw_cell') + elif cell == 'LayerNormedGRU': + with tf.variable_scope('fw_cell'): + fw_cell = layerNormedGRU(hidden_units, activation=tf.nn.relu) + with tf.variable_scope('bw_cell'): + bw_cell = layerNormedGRU(hidden_units, activation=tf.nn.relu) + else: + raise ValueError("Invalid cell type: "+str(cell)) + + (output_fw, output_bw), _ = tf.nn.bidirectional_dynamic_rnn(fw_cell, bw_cell, input, dtype=tf.float32, scope="bi_dynamic_rnn") + # output_fw_bn = tf.layers.batch_normalization(output_fw, training = self.isTrain, name = 'output_fw_bn') + # output_bw_bn = tf.layers.batch_normalization(output_bw, training = self.isTrain, name = 'output_bw_bn') + # bilstm_outputs_concat_1 = tf.concat([output_fw_bn, output_bw_bn], 2) + bilstm_outputs_concat_1 = tf.concat([output_fw, output_bw], 2) + return bilstm_outputs_concat_1 + + def train(self, sess, learning_rate, xs, ys): + _, loss, summary = sess.run([self.train_op, self.loss, self.merged], feed_dict = {self.isTrain: True, self.learning_rate: learning_rate, self.seq_len: np.ones(xs.shape[0])*334, self.xs: xs, self.ys: ys}) + return loss, summary + + def get_loss(self, sess, xs, ys): + loss = sess.run(self.loss, feed_dict = {self.isTrain: False, self.seq_len: np.ones(xs.shape[0])*334, self.xs: xs, self.ys: ys}) + return loss + + def predict(self, sess, xs): + prediction = sess.run(self.prediction, feed_dict = {self.isTrain: False, self.seq_len: np.ones(xs.shape[0])*334, self.xs: xs}) + return prediction diff --git a/model903.py b/model903.py new file mode 100644 index 0000000..435975a --- /dev/null +++ b/model903.py @@ -0,0 +1,89 @@ +import tensorflow as tf +import numpy as np +from layerNormedGRU import layerNormedGRU + +class model: + + def __init__(self, num_class, topk_paths = 10): + self.xs = tf.placeholder(tf.float32, [None, 1000, 161]) + self.ys = tf.sparse_placeholder(tf.int32) + self.learning_rate = tf.placeholder(tf.float32) + self.seq_len = tf.placeholder(tf.int32, [None]) + self.isTrain = tf.placeholder(tf.bool, name='phase') + + xs_input = tf.expand_dims(self.xs, 3) + + conv1 = self._nn_conv_bn_layer(xs_input, 'conv_1', [11, 41, 1, 32], [3, 2]) + conv2 = self._nn_conv_bn_layer(conv1, 'conv_2', [11, 21, 32, 64], [1, 2]) + conv_out = tf.reshape(conv2, [-1, 334, 41*64]) + biRNN1 = self._biRNN_bn_layer(conv_out, 'biRNN_1', 1024) + biRNN2 = self._biRNN_bn_layer(biRNN1, 'biRNN_2', 1024) + biRNN3 = self._biRNN_bn_layer(biRNN2, 'biRNN_3', 1024) + biRNN4 = self._biRNN_bn_layer(biRNN3, 'biRNN_4', 1024) + biRNN5 = self._biRNN_bn_layer(biRNN4, 'biRNN_5', 1024) + + self.phonemes = tf.layers.dense(biRNN5, num_class) + + # Notes: tf.nn.ctc_loss performs the softmax operation for you, so + # inputs should be e.g. linear projections of outputs by an LSTM. + self.loss = tf.reduce_mean(tf.nn.ctc_loss(labels=self.ys, inputs=self.phonemes, sequence_length=self.seq_len, + ignore_longer_outputs_than_inputs=True, time_major=False)) + + optimizer = tf.train.AdamOptimizer(self.learning_rate, beta1=0.7, beta2=0.9) + update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) + with tf.control_dependencies(update_ops): + gvs = optimizer.compute_gradients(self.loss) + capped_gvs = [(tf.clip_by_value(grad, -400., 400.), var) for grad, var in gvs if grad is not None] + self.train_op = optimizer.apply_gradients(capped_gvs) + + self.prediction, log_prob = tf.nn.ctc_beam_search_decoder(tf.transpose(self.phonemes,[1,0,2]), self.seq_len, top_paths=topk_paths, merge_repeated=False) + + self.loss_summary = tf.summary.scalar("loss", self.loss) + self.merged = tf.summary.merge_all() + + def _nn_conv_bn_layer(self, inputs, scope, shape, strides): + with tf.variable_scope(scope): + W_conv = tf.get_variable("W", shape=shape, initializer=tf.contrib.layers.xavier_initializer()) + h_conv = tf.nn.conv2d(inputs, W_conv, strides=[1, strides[0], strides[1], 1], padding='SAME', name="conv2d") + b = tf.get_variable("bias" , shape=[shape[3]], initializer=tf.contrib.layers.xavier_initializer()) + h_bn = tf.layers.batch_normalization(h_conv+b, training = self.isTrain) + h_relu = tf.nn.relu6(h_bn, name="relu6") + return h_relu + + def _biRNN_bn_layer(self, input, scope, hidden_units, cell = "LayerNormedGRU"): + with tf.variable_scope(scope): + if cell == 'GRU': + fw_cell = tf.nn.rnn_cell.GRUCell(hidden_units, activation=tf.nn.relu, name = 'fw_cell') + bw_cell = tf.nn.rnn_cell.GRUCell(hidden_units, activation=tf.nn.relu, name = 'bw_cell') + elif cell == 'LSTM': + fw_cell = tf.nn.rnn_cell.BasicLSTMCell(hidden_units, activation=tf.nn.relu, name = 'fw_cell') + bw_cell = tf.nn.rnn_cell.BasicLSTMCell(hidden_units, activation=tf.nn.relu, name = 'bw_cell') + elif cell == 'vanila': + fw_cell = tf.nn.rnn_cell.BasicRNNCell(hidden_units, activation=tf.nn.relu, name = 'fw_cell') + bw_cell = tf.nn.rnn_cell.BasicRNNCell(hidden_units, activation=tf.nn.relu, name = 'bw_cell') + elif cell == 'LayerNormedGRU': + with tf.variable_scope('fw_cell'): + fw_cell = layerNormedGRU(hidden_units, activation=tf.nn.relu) + with tf.variable_scope('bw_cell'): + bw_cell = layerNormedGRU(hidden_units, activation=tf.nn.relu) + else: + raise ValueError("Invalid cell type: "+str(cell)) + + (output_fw, output_bw), _ = tf.nn.bidirectional_dynamic_rnn(fw_cell, bw_cell, input, dtype=tf.float32, scope="bi_dynamic_rnn") + # output_fw_bn = tf.layers.batch_normalization(output_fw, training = self.isTrain, name = 'output_fw_bn') + # output_bw_bn = tf.layers.batch_normalization(output_bw, training = self.isTrain, name = 'output_bw_bn') + # bilstm_outputs_concat_1 = tf.concat([output_fw_bn, output_bw_bn], 2) + bilstm_outputs_concat_1 = tf.concat([output_fw, output_bw], 2) + return bilstm_outputs_concat_1 + + def train(self, sess, learning_rate, xs, ys): + _, loss, summary = sess.run([self.train_op, self.loss, self.merged], feed_dict = {self.isTrain: True, self.learning_rate: learning_rate, self.seq_len: np.ones(xs.shape[0])*334, self.xs: xs, self.ys: ys}) + return loss, summary + + def get_loss(self, sess, xs, ys): + loss = sess.run(self.loss, feed_dict = {self.isTrain: False, self.seq_len: np.ones(xs.shape[0])*334, self.xs: xs, self.ys: ys}) + return loss + + def predict(self, sess, xs): + prediction = sess.run(self.prediction, feed_dict = {self.isTrain: False, self.seq_len: np.ones(xs.shape[0])*334, self.xs: xs}) + return prediction diff --git a/subtitle_demo.ipynb b/subtitle_demo.ipynb new file mode 100644 index 0000000..592f07e --- /dev/null +++ b/subtitle_demo.ipynb @@ -0,0 +1,4363 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import time\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\", message=\"numpy.dtype size changed\")\n", + "warnings.filterwarnings(\"ignore\", message=\"numpy.ufunc size changed\")\n", + "with warnings.catch_warnings():\n", + " warnings.simplefilter(\"ignore\")\n", + " import tensorflow as tf\n", + "import numpy as np\n", + "from urllib.request import urlopen\n", + "\n", + "from lib.tools_batch import *\n", + "from lib.tools_math import *\n", + "from lib.tools_sparse import *\n", + "from lib.tools_audio import *\n", + "from lib.contrib.audio_featurizer import AudioFeaturizer\n", + "from lib.contrib.audio import AudioSegment\n", + "from model903 import *\n", + "model_name = \"v903\"\n", + "\n", + "def timeStamp2Num(timeStamp, rate):\n", + " \"\"\"\n", + " timeStamp str: 00:00:01,879\n", + " rate int: the sampling rate\n", + " return int\n", + " \"\"\"\n", + " secs, millisec = timeStamp.split(\",\")\n", + " hour, minute, sec = secs.split(\":\")\n", + " millisec = float(millisec)*0.001\n", + " sec = float(hour)*3600+float(minute)*60+float(sec)\n", + " num = int(rate*(sec+millisec))\n", + " return num\n", + "\n", + "pyParser = pinyinParser(\"lib/pinyinDictNoTone.pickle\")\n", + "model = model(409)\n", + "af = AudioFeaturizer()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "sess = tf.Session()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:tensorflow:Restoring parameters from models/v903/v903_0.ckpt\n" + ] + } + ], + "source": [ + "saver = tf.train.Saver()\n", + "saver.restore(sess, \"models/\"+model_name+\"/\"+model_name+\"_0.ckpt\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tamenxiangmusuodingdezhuyaokehuqunjiushiyouhaiwaizhiyexuqiudehuaren\n", + "他们项目锁定的主要客户群就是有海外置业需求的华人\n" + ] + } + ], + "source": [ + "rate, data = read_wav(\"data/test.wav\")\n", + "data = mergeChannels(data)\n", + "data = zero_padding_1d(data, 160240)\n", + "a_seg = AudioSegment(data, rate)\n", + "xs = np.transpose(np.array([af.featurize(a_seg)]), [0,2,1])\n", + "\n", + "pred = model.predict(sess, xs)[0]\n", + "pred_dense = sparseTuples2dense(pred)\n", + "detected_line = []\n", + "for stuff in pred_dense[0]:\n", + " if stuff!=-1:\n", + " detected_line.append(stuff)\n", + "pinyin = pyParser.decodeIndices(detected_line, useUnderline = False)\n", + "print(pinyin)\n", + "response = urlopen(\"https://www.google.com/inputtools/request?ime=pinyin&ie=utf-8&oe=utf-8&app=translate&num=10&text=\"+pinyin)\n", + "html = response.read()\n", + "result = (html.decode('utf8')).split(\",\")[2][2:-1]\n", + "print(result)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0/2707\n", + "1/2707\n", + "Audio time = 3.0 sec.\n", + "2/2707\n", + "3/2707\n", + "4/2707\n", + "5/2707\n", + "6/2707\n", + "Audio time = 1.93 sec.\n", + "Recognition time = 8.552099704742432 sec.\n", + "大家好\n", + "大家好\n", + "7/2707\n", + "8/2707\n", + "9/2707\n", + "10/2707\n", + "Audio time = 3.5 sec.\n", + "Recognition time = 11.099024057388306 sec.\n", + "或持来自华中科学大学的章洛伊\n", + "我是来自华中科技大学的张珞颖\n", + "11/2707\n", + "12/2707\n", + "13/2707\n", + "14/2707\n", + "Audio time = 2.7 sec.\n", + "Recognition time = 11.181823015213013 sec.\n", + "我今天给伊达家呆了一个官\n", + "我今天给大家带来一个\n", + "15/2707\n", + "16/2707\n", + "17/2707\n", + "18/2707\n", + "Audio time = 3.85 sec.\n", + "Recognition time = 11.755331039428711 sec.\n", + "在一个关于我们为什么要睡觉的演讲\n", + "关于我们为什么要睡觉的演讲\n", + "19/2707\n", + "20/2707\n", + "21/2707\n", + "22/2707\n", + "Audio time = 3.6 sec.\n", + "Recognition time = 9.625288963317871 sec.\n", + "我们已身中带来有三分之一的时间\n", + "我们一生中大概有三分之一的时间\n", + "23/2707\n", + "24/2707\n", + "25/2707\n", + "26/2707\n", + "Audio time = 2.7 sec.\n", + "Recognition time = 9.863281965255737 sec.\n", + "是在睡眠中度过的\n", + "是在睡眠中度过的\n", + "27/2707\n", + "28/2707\n", + "29/2707\n", + "30/2707\n", + "31/2707\n", + "Audio time = 2.87 sec.\n", + "Recognition time = 8.321897983551025 sec.\n", + "你从出生到现在\n", + "那么你从出生到现在\n", + "32/2707\n", + "33/2707\n", + "34/2707\n", + "35/2707\n", + "Audio time = 2.83 sec.\n", + "Recognition time = 8.540001153945923 sec.\n", + "先大概睡了能有十年的叫了\n", + "大概睡了能有10年的觉了\n", + "36/2707\n", + "37/2707\n", + "38/2707\n", + "39/2707\n", + "Audio time = 5.9 sec.\n", + "Recognition time = 8.908971071243286 sec.\n", + "如果从一个跟宏大的岩画的背景上面来看的话\n", + "如果从一个更宏大的演化的背景上面来看的话\n", + "40/2707\n", + "41/2707\n", + "42/2707\n", + "43/2707\n", + "Audio time = 2.65 sec.\n", + "Recognition time = 9.589301109313965 sec.\n", + "其实睡眠这个现象\n", + "其实睡眠这个现象\n", + "44/2707\n", + "45/2707\n", + "46/2707\n", + "47/2707\n", + "Audio time = 3.85 sec.\n", + "Recognition time = 9.76643681526184 sec.\n", + "在地球上出现了已经有数亿年了\n", + "在地球上出现了已经有数亿年了\n", + "48/2707\n", + "49/2707\n", + "50/2707\n", + "51/2707\n", + "Audio time = 3.85 sec.\n", + "Recognition time = 10.031269073486328 sec.\n", + "就是地球上的动物均水了基因链的角恶\n", + "就是地球上的动物已经睡了几亿年的觉了\n", + "52/2707\n", + "53/2707\n", + "54/2707\n", + "55/2707\n", + "Audio time = 5.18 sec.\n", + "Recognition time = 9.635947942733765 sec.\n", + "从一个最简单的蠕虫类的东贤重\n", + "从一个最简单的蠕虫类的动物 线虫\n", + "56/2707\n", + "57/2707\n", + "58/2707\n", + "59/2707\n", + "Audio time = 3.0 sec.\n", + "Recognition time = 9.9219069480896 sec.\n", + "老根复杂的生物\n", + "到更复杂的生物\n", + "60/2707\n", + "61/2707\n", + "62/2707\n", + "63/2707\n", + "Audio time = 2.35 sec.\n", + "Recognition time = 10.111473798751831 sec.\n", + "比如说昆虫\n", + "比如说昆虫\n", + "64/2707\n", + "65/2707\n", + "66/2707\n", + "67/2707\n", + "Audio time = 2.9 sec.\n", + "Recognition time = 9.876278162002563 sec.\n", + "然后还有一些鱼类\n", + "然后还有一些鱼类\n", + "68/2707\n", + "69/2707\n", + "70/2707\n", + "71/2707\n", + "Audio time = 3.3 sec.\n", + "Recognition time = 9.803333759307861 sec.\n", + "还有一些哺乳动物\n", + "还有一些哺乳动物\n", + "72/2707\n", + "73/2707\n", + "74/2707\n", + "75/2707\n", + "Audio time = 5.3 sec.\n", + "Recognition time = 9.907963037490845 sec.\n", + "就又跟我们人类跟接近的这种类似睡眠的状态\n", + "就有跟我们人类更接近的这种类似睡眠的状态\n", + "76/2707\n", + "77/2707\n", + "78/2707\n", + "79/2707\n", + "Audio time = 3.08 sec.\n", + "Recognition time = 9.725907802581787 sec.\n", + "所以试了很多年的交\n", + "所以睡了很多年的觉\n", + "80/2707\n", + "81/2707\n", + "82/2707\n", + "83/2707\n", + "Audio time = 3.92 sec.\n", + "Recognition time = 9.657794713973999 sec.\n", + "其实我们并不是特别清楚\n", + "其实我们并不是特别清楚\n", + "84/2707\n", + "85/2707\n", + "86/2707\n", + "87/2707\n", + "Audio time = 3.1 sec.\n", + "Recognition time = 9.42478609085083 sec.\n", + "我们到底是怎么睡觉或者说\n", + "我们到底是怎么睡觉的\n", + "88/2707\n", + "89/2707\n", + "90/2707\n", + "91/2707\n", + "Audio time = 2.53 sec.\n", + "Recognition time = 8.29967713356018 sec.\n", + "睡眠是怎么发生的\n", + "或者说睡眠是怎么发生的\n", + "92/2707\n", + "93/2707\n", + "94/2707\n", + "95/2707\n", + "Audio time = 4.42 sec.\n", + "Recognition time = 10.434919118881226 sec.\n", + "要研究这个问题的话\n", + "要研究这个问题的话\n", + "96/2707\n", + "97/2707\n", + "98/2707\n", + "99/2707\n", + "Audio time = 4.67 sec.\n", + "Recognition time = 11.414813995361328 sec.\n", + "我们首先要搞清楚到底什么是睡眠\n", + "我们首先要搞清楚到底什么是睡眠\n", + "100/2707\n", + "101/2707\n", + "102/2707\n", + "103/2707\n", + "Audio time = 3.3 sec.\n", + "Recognition time = 10.734432935714722 sec.\n", + "我们睡眠从第一章来说\n", + "睡眠从定义上来说\n", + "104/2707\n", + "105/2707\n", + "106/2707\n", + "107/2707\n", + "Audio time = 6.05 sec.\n", + "Recognition time = 10.924272060394287 sec.\n", + "它是一种行为上禁止而且觉醒阈值身高的状态\n", + "它是一种行为上静止而且觉醒阈值升高的状态\n", + "108/2707\n", + "109/2707\n", + "110/2707\n", + "111/2707\n", + "Audio time = 3.18 sec.\n", + "Recognition time = 11.025686979293823 sec.\n", + "这个觉醒阈值是什么意思呢\n", + "那这个觉醒阈值是什么意思呢\n", + "112/2707\n", + "113/2707\n", + "114/2707\n", + "115/2707\n", + "Audio time = 4.77 sec.\n", + "Recognition time = 10.317650079727173 sec.\n", + "就是说当动物或者我们人进入到睡眠的状态以后\n", + "就是说当动物或者我们人进入到睡眠的状态以后\n", + "116/2707\n", + "117/2707\n", + "118/2707\n", + "119/2707\n", + "Audio time = 5.55 sec.\n", + "Recognition time = 9.628606081008911 sec.\n", + "需要更强的刺激才能让我们或者让动物做出反应\n", + "需要更强的刺激才能让我们或者让动物作出反应\n", + "120/2707\n", + "121/2707\n", + "122/2707\n", + "123/2707\n", + "Audio time = 4.1 sec.\n", + "Recognition time = 9.798579216003418 sec.\n", + "这个是一个周边邻的老电影的学段\n", + "这个是一个卓别林的老电影的选段\n", + "124/2707\n", + "125/2707\n", + "126/2707\n", + "127/2707\n", + "Audio time = 3.32 sec.\n", + "Recognition time = 10.634912014007568 sec.\n", + "那从这个里面我们可以看到\n", + "从这个里面我们可以看到\n", + "128/2707\n", + "129/2707\n", + "130/2707\n", + "131/2707\n", + "Audio time = 3.05 sec.\n", + "Recognition time = 10.852342128753662 sec.\n", + "一只狗在他醒酒的时候\n", + "一只狗在它醒着的时候\n", + "132/2707\n", + "133/2707\n", + "134/2707\n", + "135/2707\n", + "Audio time = 3.7 sec.\n", + "Recognition time = 10.997154235839844 sec.\n", + "我们只要接近他他就会有反映\n", + "我们只要接近它 它就会有反应\n", + "136/2707\n", + "137/2707\n", + "138/2707\n", + "139/2707\n", + "Audio time = 2.78 sec.\n", + "Recognition time = 10.418154001235962 sec.\n", + "但是当这个狗睡觉了\n", + "但是当这个狗睡着了\n", + "140/2707\n", + "141/2707\n", + "142/2707\n", + "143/2707\n", + "Audio time = 4.15 sec.\n", + "Recognition time = 11.395659923553467 sec.\n", + "我们临他到耳朵根他的一把\n", + "我们拎它的耳朵 拎它的尾巴\n", + "144/2707\n", + "145/2707\n", + "146/2707\n", + "147/2707\n", + "Audio time = 1.88 sec.\n", + "Recognition time = 9.629563093185425 sec.\n", + "他都没有反应\n", + "它都没有反应\n", + "148/2707\n", + "149/2707\n", + "150/2707\n", + "151/2707\n", + "Audio time = 3.15 sec.\n", + "Recognition time = 10.90805196762085 sec.\n", + "这就是决心与纸的身高\n", + "这就是觉醒阈值的升高\n", + "152/2707\n", + "153/2707\n", + "154/2707\n", + "155/2707\n", + "Audio time = 3.18 sec.\n", + "Recognition time = 11.129576921463013 sec.\n", + "如果要研究睡眠的话\n", + "如果要研究睡眠的话\n", + "156/2707\n", + "157/2707\n", + "158/2707\n", + "159/2707\n", + "Audio time = 3.42 sec.\n", + "Recognition time = 11.296210050582886 sec.\n", + "我是边还有两个基本的特就\n", + "睡眠还有两个基本的特征\n", + "160/2707\n", + "161/2707\n", + "162/2707\n", + "163/2707\n", + "Audio time = 3.98 sec.\n", + "Recognition time = 10.546897888183594 sec.\n", + "一个就是睡眠再会积累\n", + "一个就是睡眠债会积累\n", + "164/2707\n", + "165/2707\n", + "166/2707\n", + "167/2707\n", + "Audio time = 2.37 sec.\n", + "Recognition time = 9.545593023300171 sec.\n", + "去了较北部\n", + "缺了觉得补\n", + "168/2707\n", + "169/2707\n", + "170/2707\n", + "171/2707\n", + "Audio time = 3.5 sec.\n", + "Recognition time = 10.384339809417725 sec.\n", + "这个再生非常有一个专有的名称\n", + "这个在生物学上有一个专有的名称\n", + "172/2707\n", + "173/2707\n", + "174/2707\n", + "175/2707\n", + "Audio time = 3.47 sec.\n", + "Recognition time = 9.970831871032715 sec.\n", + "我们把它叫做睡眠的稳态平衡\n", + "我们把它叫做睡眠的稳态平衡\n", + "176/2707\n", + "177/2707\n", + "178/2707\n", + "179/2707\n", + "Audio time = 2.45 sec.\n", + "Recognition time = 9.712466955184937 sec.\n", + "然后另外一点就是水\n", + "另外一点就是\n", + "180/2707\n", + "181/2707\n", + "182/2707\n", + "183/2707\n", + "Audio time = 4.12 sec.\n", + "Recognition time = 10.458830118179321 sec.\n", + "就是睡眠一般发生在一天中相对固定的时段\n", + "睡眠一般发生在一天中相对固定的时段\n", + "184/2707\n", + "185/2707\n", + "186/2707\n", + "187/2707\n", + "Audio time = 3.98 sec.\n", + "Recognition time = 9.82994270324707 sec.\n", + "对宇宙性动物就是白天活动的动物\n", + "对于昼行动物 就是白天活动的动物\n", + "188/2707\n", + "189/2707\n", + "190/2707\n", + "191/2707\n", + "Audio time = 2.02 sec.\n", + "Recognition time = 10.913809061050415 sec.\n", + "比如说我们人类\n", + "比如说我们人类\n", + "192/2707\n", + "193/2707\n", + "194/2707\n", + "195/2707\n", + "Audio time = 3.02 sec.\n", + "Recognition time = 11.307654857635498 sec.\n", + "睡眠通常发生在夜间\n", + "睡眠通常发生在夜间\n", + "196/2707\n", + "197/2707\n", + "198/2707\n", + "199/2707\n", + "Audio time = 3.27 sec.\n", + "Recognition time = 10.648503065109253 sec.\n", + "而对于夜行动物比如说小数\n", + "而对于夜行动物 比如说小鼠\n", + "200/2707\n", + "201/2707\n", + "202/2707\n", + "203/2707\n", + "Audio time = 2.88 sec.\n", + "Recognition time = 9.821253776550293 sec.\n", + "那睡眠通常法人在白天\n", + "睡眠通常发生在白天\n", + "204/2707\n", + "205/2707\n", + "206/2707\n", + "207/2707\n", + "Audio time = 4.77 sec.\n", + "Recognition time = 11.648120880126953 sec.\n", + "能么要验证睡眠的话我们首先要能够测量睡眠\n", + "要研究睡眠的话我们首先要能够测量睡眠\n", + "208/2707\n", + "209/2707\n", + "210/2707\n", + "211/2707\n", + "Audio time = 3.53 sec.\n", + "Recognition time = 10.890952825546265 sec.\n", + "最标准的测量睡眠的方法\n", + "最标准的测量睡眠的方法\n", + "212/2707\n", + "213/2707\n", + "214/2707\n", + "215/2707\n", + "Audio time = 2.65 sec.\n", + "Recognition time = 10.134207010269165 sec.\n", + "就是通过监测腦電波\n", + "就是通过检测脑电波\n", + "216/2707\n", + "217/2707\n", + "218/2707\n", + "219/2707\n", + "Audio time = 4.45 sec.\n", + "Recognition time = 10.546654224395752 sec.\n", + "老电波是由我们脑内的神经元产生的\n", + "脑电波是由我们脑内的神经元产生的\n", + "220/2707\n", + "221/2707\n", + "222/2707\n", + "223/2707\n", + "Audio time = 5.67 sec.\n", + "Recognition time = 10.137505769729614 sec.\n", + "然后神经元是我们脑内最重要的一种神经细胞\n", + "神经元是我们脑内最重要的一种神经细胞\n", + "224/2707\n", + "225/2707\n", + "226/2707\n", + "227/2707\n", + "Audio time = 5.3 sec.\n", + "Recognition time = 10.029753684997559 sec.\n", + "他他在齿形它的功能的时候\n", + "它在执行它的功能的时候\n", + "228/2707\n", + "229/2707\n", + "230/2707\n", + "231/2707\n", + "232/2707\n", + "Audio time = 5.05 sec.\n", + "Recognition time = 10.653613805770874 sec.\n", + "这种方便体现在整个脑的层面竟是脑电波\n", + "这种放电体现在整个脑的层面就是脑电波\n", + "233/2707\n", + "234/2707\n", + "235/2707\n", + "236/2707\n", + "Audio time = 3.22 sec.\n", + "Recognition time = 9.727614879608154 sec.\n", + "在我们醒着和睡着的时候\n", + "在我们醒着和睡着的时候\n", + "237/2707\n", + "238/2707\n", + "239/2707\n", + "240/2707\n", + "Audio time = 4.25 sec.\n", + "Recognition time = 11.570410966873169 sec.\n", + "脑电波发放的平率和模式是不一样的\n", + "脑电波发放的频率和模式是不一样的\n", + "241/2707\n", + "242/2707\n", + "243/2707\n", + "244/2707\n", + "Audio time = 3.07 sec.\n", + "Recognition time = 11.969449996948242 sec.\n", + "所以通过这种方式\n", + "所以通过这种方式\n", + "245/2707\n", + "246/2707\n", + "247/2707\n", + "248/2707\n", + "Audio time = 3.35 sec.\n", + "Recognition time = 10.143391370773315 sec.\n", + "就可以判断这个人或者这个动物\n", + "就可以判断这个人或者这个动物\n", + "249/2707\n", + "250/2707\n", + "251/2707\n", + "252/2707\n", + "Audio time = 4.03 sec.\n", + "Recognition time = 11.102733850479126 sec.\n", + "动物是处于清醒的状态还是睡眠的状态\n", + "是处于清醒的状态还是睡眠的状态\n", + "253/2707\n", + "254/2707\n", + "255/2707\n", + "256/2707\n", + "Audio time = 4.78 sec.\n", + "Recognition time = 11.26534104347229 sec.\n", + "们这边又变得就有一些典型的脑电波的代表土\n", + "右边就有一些典型的脑电波的代表图\n", + "257/2707\n", + "258/2707\n", + "259/2707\n", + "260/2707\n", + "Audio time = 4.0 sec.\n", + "Recognition time = 11.73793888092041 sec.\n", + "对对于色地使我们清醒的时候的闹过\n", + "绿色是我们清醒时候的脑波\n", + "261/2707\n", + "262/2707\n", + "263/2707\n", + "264/2707\n", + "Audio time = 4.4 sec.\n", + "Recognition time = 11.047256231307983 sec.\n", + "根据睡眠状态的时候我们的眼球是否转动\n", + "根据睡眠状态的时候我们的眼球是否转动\n", + "265/2707\n", + "266/2707\n", + "267/2707\n", + "268/2707\n", + "Audio time = 5.1 sec.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Recognition time = 10.043828964233398 sec.\n", + "睡眠又会被分为动眼睡眠和不动眼睡眠\n", + "睡眠又会被分为动眼睡眠和不动眼睡眠\n", + "269/2707\n", + "270/2707\n", + "271/2707\n", + "272/2707\n", + "Audio time = 3.13 sec.\n", + "Recognition time = 9.584776163101196 sec.\n", + "动睡眠不说我们人类可有的\n", + "动眼睡眠不光是我们人类特有的\n", + "273/2707\n", + "274/2707\n", + "275/2707\n", + "276/2707\n", + "Audio time = 3.05 sec.\n", + "Recognition time = 10.095137119293213 sec.\n", + "我们通常我所说的几个做梦\n", + "我们通常所说的做梦\n", + "277/2707\n", + "278/2707\n", + "279/2707\n", + "280/2707\n", + "281/2707\n", + "Audio time = 4.1 sec.\n", + "Recognition time = 9.666446208953857 sec.\n", + "大家可能觉得做工很高阶的中线向\n", + "大家可能觉得做梦是很高级的一种现象\n", + "282/2707\n", + "283/2707\n", + "284/2707\n", + "285/2707\n", + "Audio time = 3.43 sec.\n", + "Recognition time = 9.769724130630493 sec.\n", + "但是在骑士东野的水里面这个阶段\n", + "但是其实动眼睡眠这个阶段\n", + "286/2707\n", + "287/2707\n", + "288/2707\n", + "289/2707\n", + "Audio time = 4.15 sec.\n", + "Recognition time = 10.027660131454468 sec.\n", + "在一些爬行类动物在一些鱼类究竟\n", + "在一些爬行类动物 在一些鱼类\n", + "290/2707\n", + "291/2707\n", + "292/2707\n", + "293/2707\n", + "Audio time = 2.18 sec.\n", + "Recognition time = 11.577821254730225 sec.\n", + "就已经拍时出现了\n", + "就已经开始出现了\n", + "294/2707\n", + "295/2707\n", + "296/2707\n", + "297/2707\n", + "Audio time = 2.95 sec.\n", + "Recognition time = 11.365415811538696 sec.\n", + "所以可能不止我们人会做梦\n", + "所以可能不只我们人会做梦\n", + "298/2707\n", + "299/2707\n", + "300/2707\n", + "301/2707\n", + "Audio time = 2.43 sec.\n", + "Recognition time = 10.037224054336548 sec.\n", + "包括小刷\n", + "包括小鼠\n", + "302/2707\n", + "303/2707\n", + "304/2707\n", + "305/2707\n", + "Audio time = 5.47 sec.\n", + "Recognition time = 10.851239204406738 sec.\n", + "然后写鱼鸟可能都可以做梦\n", + "然后一些鱼 鸟可能都可以做梦\n", + "306/2707\n", + "307/2707\n", + "308/2707\n", + "309/2707\n", + "Audio time = 4.53 sec.\n", + "Recognition time = 11.36710786819458 sec.\n", + "我动员睡眠的根据台的脑电波发放模式的不同\n", + "不动眼睡眠根据它的脑电波发放模式的不同\n", + "310/2707\n", + "311/2707\n", + "312/2707\n", + "313/2707\n", + "Audio time = 4.32 sec.\n", + "Recognition time = 10.881148099899292 sec.\n", + "不会被分为一根儿和恩善散的阶段\n", + "会被分为N1 N2和N3三个阶段\n", + "314/2707\n", + "315/2707\n", + "316/2707\n", + "317/2707\n", + "Audio time = 4.62 sec.\n", + "Recognition time = 10.397065877914429 sec.\n", + "这个红色就是跟完阶段的脑电波\n", + "这个红色的就是N2阶段的脑电波\n", + "318/2707\n", + "319/2707\n", + "320/2707\n", + "321/2707\n", + "Audio time = 3.2 sec.\n", + "Recognition time = 10.470474004745483 sec.\n", + "一阶段因为跟清醒的时候比较像\n", + "N1阶段因为跟清醒的时候比较像\n", + "322/2707\n", + "323/2707\n", + "324/2707\n", + "325/2707\n", + "Audio time = 2.3499375 sec.\n", + "Recognition time = 10.86468243598938 sec.\n", + "这里没有展示出来\n", + "这里没有展示出来\n", + "326/2707\n", + "327/2707\n", + "328/2707\n", + "329/2707\n", + "Audio time = 4.6699375 sec.\n", + "Recognition time = 10.574501991271973 sec.\n", + "然后下面这个蓝色的呢是本三结对\n", + "然后下面这个蓝色的是N3阶段\n", + "330/2707\n", + "331/2707\n", + "332/2707\n", + "333/2707\n", + "334/2707\n", + "Audio time = 7.1 sec.\n", + "Recognition time = 11.44644021987915 sec.\n", + "这个是一个健康的成年人一晚上的睡眠分布图\n", + "这个是一个健康的成年人一晚上的睡眠分布图\n", + "335/2707\n", + "336/2707\n", + "337/2707\n", + "338/2707\n", + "Audio time = 4.38 sec.\n", + "Recognition time = 9.783345222473145 sec.\n", + "我可以看到首先会来到这个另一阶段\n", + "我们可以看到首先会来到这个N1阶段\n", + "339/2707\n", + "340/2707\n", + "341/2707\n", + "342/2707\n", + "Audio time = 5.48 sec.\n", + "Recognition time = 9.822526931762695 sec.\n", + "然后一阶段大概很多只有两三分钟就结束了\n", + "N1阶段大概很短 只有两三分钟就结束了\n", + "343/2707\n", + "344/2707\n", + "345/2707\n", + "346/2707\n", + "Audio time = 5.18 sec.\n", + "Recognition time = 9.965109825134277 sec.\n", + "然后之后会进入到不动员睡眠的恶骂二阶段\n", + "之后会进入到不动眼睡眠的N2阶段\n", + "347/2707\n", + "348/2707\n", + "349/2707\n", + "350/2707\n", + "Audio time = 5.07 sec.\n", + "Recognition time = 10.915495157241821 sec.\n", + "让恩而切断一般会持续二十到三十分钟\n", + "N2阶段一般会持续20到30分钟\n", + "351/2707\n", + "352/2707\n", + "353/2707\n", + "354/2707\n", + "Audio time = 3.72 sec.\n", + "Recognition time = 10.996959924697876 sec.\n", + "然后就进又到了深度深绵恩三阶段\n", + "然后就进入到了深度睡眠N3阶段\n", + "355/2707\n", + "356/2707\n", + "357/2707\n", + "358/2707\n", + "Audio time = 5.37 sec.\n", + "Recognition time = 11.775229930877686 sec.\n", + "等三节大概也会有摆个小时到四十分钟\n", + "N3阶段大概会有半个小时到40分钟\n", + "359/2707\n", + "360/2707\n", + "361/2707\n", + "362/2707\n", + "Audio time = 3.08 sec.\n", + "Recognition time = 10.342374801635742 sec.\n", + "然后之后又进入到了华尔街段\n", + "之后又进入到N2阶段\n", + "363/2707\n", + "364/2707\n", + "365/2707\n", + "366/2707\n", + "Audio time = 3.97 sec.\n", + "Recognition time = 9.932070016860962 sec.\n", + "然后完了以后就会经入道这个图上红色标记的\n", + "完了以后就会进入到图上红色标记的\n", + "367/2707\n", + "368/2707\n", + "369/2707\n", + "370/2707\n", + "Audio time = 2.48 sec.\n", + "Recognition time = 9.448712348937988 sec.\n", + "动眼睡眠阶段\n", + "动眼睡眠阶段\n", + "371/2707\n", + "372/2707\n", + "373/2707\n", + "374/2707\n", + "Audio time = 3.22 sec.\n", + "Recognition time = 9.702091932296753 sec.\n", + "这个时候就开始做梦了\n", + "这个时候就开始做梦了\n", + "375/2707\n", + "376/2707\n", + "377/2707\n", + "378/2707\n", + "Audio time = 3.25 sec.\n", + "Recognition time = 9.725405931472778 sec.\n", + "我们夜间第一次说梦网时间很短\n", + "我们夜间第一次做梦时间很短\n", + "379/2707\n", + "380/2707\n", + "381/2707\n", + "382/2707\n", + "Audio time = 2.63 sec.\n", + "Recognition time = 9.727473020553589 sec.\n", + "他该球季分钟就解说了\n", + "大概几分钟就结束了\n", + "383/2707\n", + "384/2707\n", + "385/2707\n", + "386/2707\n", + "Audio time = 5.02 sec.\n", + "Recognition time = 9.932792901992798 sec.\n", + "然后完了以后就会进入到不懂夜睡眠的恶化而本三\n", + "完了以后又会进入到不动眼睡眠的N2 N3\n", + "387/2707\n", + "388/2707\n", + "389/2707\n", + "390/2707\n", + "Audio time = 2.45 sec.\n", + "Recognition time = 9.547476053237915 sec.\n", + "然后问三赛道德观\n", + "然后N3再到N2\n", + "391/2707\n", + "392/2707\n", + "393/2707\n", + "394/2707\n", + "Audio time = 3.7 sec.\n", + "Recognition time = 9.805496215820312 sec.\n", + "然后再到这个动眼睡眠的琢磨了阶段\n", + "然后再到动眼睡眠的做梦的阶段\n", + "395/2707\n", + "396/2707\n", + "397/2707\n", + "398/2707\n", + "Audio time = 3.07 sec.\n", + "Recognition time = 9.727619886398315 sec.\n", + "中间可能他会玩醒来几次\n", + "中间可能还会偶尔醒来几次\n", + "399/2707\n", + "400/2707\n", + "401/2707\n", + "402/2707\n", + "Audio time = 2.5 sec.\n", + "Recognition time = 9.62583303451538 sec.\n", + "所以我们以诚月的睡眠\n", + "所以我们一整夜的睡眠\n", + "403/2707\n", + "404/2707\n", + "405/2707\n", + "406/2707\n", + "Audio time = 3.95 sec.\n", + "Recognition time = 10.813950777053833 sec.\n", + "大概就是在东衍义补洞沿水面舰\n", + "大概就是在动眼与不动眼睡眠间\n", + "407/2707\n", + "408/2707\n", + "409/2707\n", + "410/2707\n", + "Audio time = 2.8 sec.\n", + "Recognition time = 9.664967775344849 sec.\n", + "交替我付进行的\n", + "交替往复进行的\n", + "411/2707\n", + "412/2707\n", + "413/2707\n", + "414/2707\n", + "Audio time = 4.1 sec.\n", + "Recognition time = 9.705291032791138 sec.\n", + "但是总过再说我们从初上可以看出来一个趋势\n", + "但是总的来说我们从图上可以看出来一个趋势\n", + "415/2707\n", + "416/2707\n", + "417/2707\n", + "418/2707\n", + "Audio time = 4.75 sec.\n", + "Recognition time = 9.852061986923218 sec.\n", + "就是不动员睡眠恩三阶段的这个深冬睡眠\n", + "就是不动眼睡眠N3阶段的深度睡眠\n", + "419/2707\n", + "420/2707\n", + "421/2707\n", + "422/2707\n", + "Audio time = 4.33 sec.\n", + "Recognition time = 9.65317416191101 sec.\n", + "主要发生在前半夜就是铅似的消失\n", + "主要发生在前半夜 就是前4个小时\n", + "423/2707\n", + "424/2707\n", + "425/2707\n", + "426/2707\n", + "Audio time = 3.97 sec.\n", + "Recognition time = 9.98378324508667 sec.\n", + "然后动眼睡眠做梦主要发生在后半叶\n", + "动眼睡眠 做梦 主要发生在后半夜\n", + "427/2707\n", + "428/2707\n", + "429/2707\n", + "430/2707\n", + "431/2707\n", + "Audio time = 3.77 sec.\n", + "Recognition time = 9.622798204421997 sec.\n", + "因为我觉得这个厂子还挺适合搭客岁的\n", + "因为我觉得这个场子还挺适合打瞌睡的\n", + "432/2707\n", + "433/2707\n", + "434/2707\n", + "435/2707\n", + "Audio time = 5.0 sec.\n", + "Recognition time = 9.85256028175354 sec.\n", + "如果说我在演讲的时候你们睡着了就很正常\n", + "如果说我在演讲的时候你们睡着了这很正常\n", + "436/2707\n", + "437/2707\n", + "438/2707\n", + "439/2707\n", + "Audio time = 3.83 sec.\n", + "Recognition time = 11.778626203536987 sec.\n", + "但是我在演讲的时候我睡着了\n", + "但如果我在演讲的时候我睡着了\n", + "440/2707\n", + "441/2707\n", + "442/2707\n", + "443/2707\n", + "Audio time = 2.87 sec.\n", + "Recognition time = 10.750944137573242 sec.\n", + "这个可能就是使水镇了\n", + "这个可能就是嗜睡症了\n", + "444/2707\n", + "445/2707\n", + "446/2707\n", + "447/2707\n", + "Audio time = 3.68 sec.\n", + "Recognition time = 9.830672025680542 sec.\n", + "是水生患者可以在任何的时候\n", + "嗜睡症患者可以在任何时候\n", + "448/2707\n", + "449/2707\n", + "450/2707\n", + "451/2707\n", + "Audio time = 3.87 sec.\n", + "Recognition time = 9.829492807388306 sec.\n", + "比如说说话的时候站着走路的时候\n", + "比如说说话的时候 站着 走路的时候\n", + "452/2707\n", + "453/2707\n", + "454/2707\n", + "455/2707\n", + "Audio time = 2.4 sec.\n", + "Recognition time = 9.539852857589722 sec.\n", + "都有可能随时睡着\n", + "都有可能随时睡着\n", + "456/2707\n", + "457/2707\n", + "458/2707\n", + "459/2707\n", + "Audio time = 4.25 sec.\n", + "Recognition time = 10.017771005630493 sec.\n", + "比如说这个左边这个视频就位小朋友他正在大嚼\n", + "比如说左边这个视频里这位小朋友他正在大叫\n", + "460/2707\n", + "461/2707\n", + "462/2707\n", + "463/2707\n", + "Audio time = 2.65 sec.\n", + "Recognition time = 9.604837894439697 sec.\n", + "然后突然就睡着了\n", + "然后突然就睡着了\n", + "464/2707\n", + "465/2707\n", + "466/2707\n", + "467/2707\n", + "Audio time = 2.75 sec.\n", + "Recognition time = 9.748177766799927 sec.\n", + "然不光是人有时睡着\n", + "不光是人有嗜睡症\n", + "468/2707\n", + "469/2707\n", + "470/2707\n", + "471/2707\n", + "Audio time = 1.85 sec.\n", + "Recognition time = 9.727482080459595 sec.\n", + "这种动物也有\n", + "动物也有\n", + "472/2707\n", + "473/2707\n", + "474/2707\n", + "475/2707\n", + "Audio time = 3.9 sec.\n", + "Recognition time = 10.34311318397522 sec.\n", + "比如说右边的视频里了举止够\n", + "比如说右边的视频里的这只狗\n", + "476/2707\n", + "477/2707\n", + "478/2707\n", + "479/2707\n", + "Audio time = 3.23 sec.\n", + "Recognition time = 9.853617906570435 sec.\n", + "他跑着袍子然后就高了睡觉了\n", + "它跑着跑着然后就倒了 睡着了\n", + "480/2707\n", + "481/2707\n", + "482/2707\n", + "483/2707\n", + "Audio time = 1.97 sec.\n", + "Recognition time = 10.190370082855225 sec.\n", + "还有个特写\n", + "还有个特写\n", + "484/2707\n", + "485/2707\n", + "486/2707\n", + "487/2707\n", + "Audio time = 2.4 sec.\n", + "Recognition time = 10.981247186660767 sec.\n", + "不要解释是随证\n", + "要解释嗜睡症\n", + "488/2707\n", + "489/2707\n", + "490/2707\n", + "491/2707\n", + "Audio time = 4.35 sec.\n", + "Recognition time = 10.111642122268677 sec.\n", + "我们就要先解释一下水面到底是怎么产生的\n", + "我们就要先解释一下睡眠到底是怎么产生的\n", + "492/2707\n", + "493/2707\n", + "494/2707\n", + "495/2707\n", + "Audio time = 4.62 sec.\n", + "Recognition time = 10.934529781341553 sec.\n", + "从环路的从一个宏观的环的层面来说\n", + "从一个宏观的环路的层面来说\n", + "496/2707\n", + "497/2707\n", + "498/2707\n", + "499/2707\n", + "Audio time = 2.48 sec.\n", + "Recognition time = 9.775462865829468 sec.\n", + "睡眠主要是因为\n", + "睡眠主要是因为\n", + "500/2707\n", + "501/2707\n", + "502/2707\n", + "503/2707\n", + "Audio time = 3.6 sec.\n", + "Recognition time = 9.83092212677002 sec.\n", + "因为我们脑内有一些促进睡眠的脑区\n", + "我们脑内有一些促进睡眠的脑区\n", + "504/2707\n", + "505/2707\n", + "506/2707\n", + "507/2707\n", + "Audio time = 1.9 sec.\n", + "Recognition time = 9.625238180160522 sec.\n", + "他活跃了\n", + "它活跃了\n", + "508/2707\n", + "509/2707\n", + "510/2707\n", + "511/2707\n", + "Audio time = 4.2 sec.\n", + "Recognition time = 9.93152403831482 sec.\n", + "然后抑制了一些促进清醒的脑区的活动\n", + "然后抑制了一些促进清醒的脑区的活动\n", + "512/2707\n", + "513/2707\n", + "514/2707\n", + "515/2707\n", + "Audio time = 2.65 sec.\n", + "Recognition time = 9.728116035461426 sec.\n", + "这样子睡眠就发生了\n", + "这样子睡眠就发生了\n", + "516/2707\n", + "517/2707\n", + "518/2707\n", + "519/2707\n", + "Audio time = 4.85 sec.\n", + "Recognition time = 9.830097913742065 sec.\n", + "然后在我们脑内有一个叫做下丘脑的部位\n", + "然后在我们脑内有一个叫做下丘脑的部位\n", + "520/2707\n", + "521/2707\n", + "522/2707\n", + "523/2707\n", + "Audio time = 3.41 sec.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Recognition time = 9.830487966537476 sec.\n", + "它分泌右边这个图里的这种叫做\n", + "它分泌右边这个图里的这种\n", + "524/2707\n", + "525/2707\n", + "526/2707\n", + "527/2707\n", + "Audio time = 2.64 sec.\n", + "Recognition time = 9.749634981155396 sec.\n", + "焦作市欲诉的起诉\n", + "叫做食欲素的激素\n", + "528/2707\n", + "529/2707\n", + "530/2707\n", + "531/2707\n", + "Audio time = 2.9 sec.\n", + "Recognition time = 9.705573797225952 sec.\n", + "这个时日苏轼一个堕胎\n", + "这个食欲素是一个多肽\n", + "532/2707\n", + "533/2707\n", + "534/2707\n", + "535/2707\n", + "Audio time = 2.98 sec.\n", + "Recognition time = 9.728498935699463 sec.\n", + "然后他又出轻型的作用\n", + "然后它有促清醒的作用\n", + "536/2707\n", + "537/2707\n", + "538/2707\n", + "539/2707\n", + "Audio time = 5.42 sec.\n", + "Recognition time = 9.726438999176025 sec.\n", + "所以在我们脑内分别是语素的脑区\n", + "所以在我们脑内分泌这个食欲素的脑区\n", + "540/2707\n", + "541/2707\n", + "542/2707\n", + "543/2707\n", + "Audio time = 2.28 sec.\n", + "Recognition time = 9.878099918365479 sec.\n", + "如果出现了问题\n", + "如果出现了问题\n", + "544/2707\n", + "545/2707\n", + "546/2707\n", + "547/2707\n", + "Audio time = 5.27 sec.\n", + "Recognition time = 9.774406909942627 sec.\n", + "让这个是匀速不能正常分离了就回的嗜睡症\n", + "让这个食欲素不能正常分泌了就会得嗜睡症\n", + "548/2707\n", + "549/2707\n", + "550/2707\n", + "551/2707\n", + "Audio time = 5.25 sec.\n", + "Recognition time = 9.71791696548462 sec.\n", + "如果反过来内邪从水面的脑区出现问题的话\n", + "如果反过来那些促睡眠的脑区出现问题的话\n", + "552/2707\n", + "553/2707\n", + "554/2707\n", + "555/2707\n", + "Audio time = 2.37 sec.\n", + "Recognition time = 9.643173933029175 sec.\n", + "那就可能会导致失眠\n", + "那就可能会导致失眠\n", + "556/2707\n", + "557/2707\n", + "558/2707\n", + "559/2707\n", + "Audio time = 4.0 sec.\n", + "Recognition time = 9.830233812332153 sec.\n", + "这个是从一个宏观的关东的层面来\n", + "这个是从一个宏观的环路的层面\n", + "560/2707\n", + "561/2707\n", + "562/2707\n", + "563/2707\n", + "Audio time = 2.75 sec.\n", + "Recognition time = 10.698323965072632 sec.\n", + "曾来解释睡眠是怎么产生的\n", + "来解释睡眠是怎么产生的\n", + "564/2707\n", + "565/2707\n", + "566/2707\n", + "567/2707\n", + "Audio time = 4.65 sec.\n", + "Recognition time = 9.882713079452515 sec.\n", + "下面我再介绍一下从更微观的分子的层面\n", + "下面我再介绍一下从更微观的分子层面\n", + "568/2707\n", + "569/2707\n", + "570/2707\n", + "571/2707\n", + "Audio time = 2.4 sec.\n", + "Recognition time = 9.650267124176025 sec.\n", + "睡眠是怎么产生的\n", + "睡眠是怎么产生的\n", + "572/2707\n", + "573/2707\n", + "574/2707\n", + "575/2707\n", + "Audio time = 3.7 sec.\n", + "Recognition time = 9.773362874984741 sec.\n", + "这就要回到我前面说的一个概念了\n", + "这就要回到我前面说的一个概念\n", + "576/2707\n", + "577/2707\n", + "578/2707\n", + "579/2707\n", + "Audio time = 3.33 sec.\n", + "Recognition time = 10.030200958251953 sec.\n", + "就是睡眠的稳态平衡\n", + "就是睡眠的稳态平衡\n", + "580/2707\n", + "581/2707\n", + "582/2707\n", + "583/2707\n", + "Audio time = 3.75 sec.\n", + "Recognition time = 10.664466142654419 sec.\n", + "这个稳态平衡其实一直都在进行\n", + "这个稳态平衡其实一直都在进行\n", + "584/2707\n", + "585/2707\n", + "586/2707\n", + "587/2707\n", + "Audio time = 2.96 sec.\n", + "Recognition time = 10.670705795288086 sec.\n", + "在我们现在醒着的时候\n", + "在我们现在醒着的时候\n", + "588/2707\n", + "589/2707\n", + "590/2707\n", + "591/2707\n", + "Audio time = 2.46 sec.\n", + "Recognition time = 9.720854043960571 sec.\n", + "是时刻个都在进行\n", + "时时刻刻都在进行\n", + "592/2707\n", + "593/2707\n", + "594/2707\n", + "595/2707\n", + "Audio time = 3.82 sec.\n", + "Recognition time = 9.638154983520508 sec.\n", + "然后它的作用就是他会积累睡眠债\n", + "它的作用就是它会积累睡眠债\n", + "596/2707\n", + "597/2707\n", + "598/2707\n", + "599/2707\n", + "Audio time = 2.23 sec.\n", + "Recognition time = 9.72170901298523 sec.\n", + "或者说睡眠压力\n", + "或者说睡眠压力\n", + "600/2707\n", + "601/2707\n", + "602/2707\n", + "603/2707\n", + "Audio time = 3.55 sec.\n", + "Recognition time = 9.701176881790161 sec.\n", + "大家现在听到这的已经是与领悟力的心\n", + "大家现在听到这里已经是云里雾里了\n", + "604/2707\n", + "605/2707\n", + "606/2707\n", + "607/2707\n", + "Audio time = 3.6 sec.\n", + "Recognition time = 9.857541799545288 sec.\n", + "新田就像这位专家请说扔花\n", + "心里就想 这位专家 请说人话\n", + "608/2707\n", + "609/2707\n", + "610/2707\n", + "611/2707\n", + "Audio time = 7.17 sec.\n", + "Recognition time = 9.861650228500366 sec.\n", + "通俗地说着稳态平衡会持续的积累困意\n", + "通俗地说这个稳态平衡它会持续地积累困意\n", + "612/2707\n", + "613/2707\n", + "614/2707\n", + "615/2707\n", + "Audio time = 3.45 sec.\n", + "Recognition time = 9.621397018432617 sec.\n", + "就是我们行得越久我们会觉得越困\n", + "就是我们醒得越久我们会觉得越困\n", + "616/2707\n", + "617/2707\n", + "618/2707\n", + "619/2707\n", + "Audio time = 3.19 sec.\n", + "Recognition time = 9.552765130996704 sec.\n", + "这种困意其实就是\n", + "这种困意其实就是\n", + "620/2707\n", + "621/2707\n", + "622/2707\n", + "623/2707\n", + "Audio time = 4.26 sec.\n", + "Recognition time = 9.753791093826294 sec.\n", + "稳态平衡机制金磊睡眠压力的体现\n", + "稳态平衡机制积累睡眠压力的体现\n", + "624/2707\n", + "625/2707\n", + "626/2707\n", + "627/2707\n", + "Audio time = 3.38 sec.\n", + "Recognition time = 9.642898321151733 sec.\n", + "那么这个坤到底是什么呢\n", + "这个困到底是什么呢\n", + "628/2707\n", + "629/2707\n", + "630/2707\n", + "631/2707\n", + "Audio time = 5.27 sec.\n", + "Recognition time = 10.137492895126343 sec.\n", + "在我们的脑内有一种叫做腺甘的化学物质\n", + "在我们的脑内有一种叫做腺苷的化学物质\n", + "632/2707\n", + "633/2707\n", + "634/2707\n", + "635/2707\n", + "Audio time = 2.52 sec.\n", + "Recognition time = 9.99905800819397 sec.\n", + "在我们醒着的时候\n", + "在我们醒着的时候\n", + "636/2707\n", + "637/2707\n", + "638/2707\n", + "639/2707\n", + "Audio time = 5.1 sec.\n", + "Recognition time = 10.277492046356201 sec.\n", + "这项安徽在脑内移植及泪不停的积累\n", + "这个腺苷会在脑内一直积累 不停地积累\n", + "640/2707\n", + "641/2707\n", + "642/2707\n", + "643/2707\n", + "Audio time = 3.8 sec.\n", + "Recognition time = 9.665159940719604 sec.\n", + "然后他会有一个促进睡眠的作用\n", + "然后它会有一个促进睡眠的作用\n", + "644/2707\n", + "645/2707\n", + "646/2707\n", + "647/2707\n", + "Audio time = 2.4 sec.\n", + "Recognition time = 9.89172887802124 sec.\n", + "如果我们这样想\n", + "如果我们这样想\n", + "648/2707\n", + "649/2707\n", + "650/2707\n", + "651/2707\n", + "Audio time = 4.4 sec.\n", + "Recognition time = 9.931124925613403 sec.\n", + "如果有一种方法可以对抗着相爱的作用\n", + "如果有一种方法可以对抗这个腺苷的作用\n", + "652/2707\n", + "653/2707\n", + "654/2707\n", + "655/2707\n", + "Audio time = 5.22 sec.\n", + "Recognition time = 9.63114595413208 sec.\n", + "但是不是我们就我可以不不觉得困难\n", + "那是不是我们就可以不觉得困了\n", + "656/2707\n", + "657/2707\n", + "658/2707\n", + "659/2707\n", + "660/2707\n", + "Audio time = 2.92 sec.\n", + "Recognition time = 9.92594313621521 sec.\n", + "后那确实是有这样的方法的\n", + "确实是有这样的方法的\n", + "661/2707\n", + "662/2707\n", + "663/2707\n", + "664/2707\n", + "Audio time = 6.63 sec.\n", + "Recognition time = 9.932551145553589 sec.\n", + "最常用的一种可以对抗腺苷的物质就是咖啡应\n", + "最常用的一种可以对抗腺苷的物质就是咖啡因\n", + "665/2707\n", + "666/2707\n", + "667/2707\n", + "668/2707\n", + "Audio time = 3.3 sec.\n", + "Recognition time = 9.727835893630981 sec.\n", + "它存在于图上这些我们\n", + "它存在于图上这些\n", + "669/2707\n", + "670/2707\n", + "671/2707\n", + "672/2707\n", + "Audio time = 4.68 sec.\n", + "Recognition time = 9.776414394378662 sec.\n", + "我们每天可能都在应用的应聘当中\n", + "我们每天可能都在饮用的饮品当中\n", + "673/2707\n", + "674/2707\n", + "675/2707\n", + "676/2707\n", + "Audio time = 7.0999375 sec.\n", + "Recognition time = 9.667120933532715 sec.\n", + "包括像咖啡红牛各种茶还有可能等等\n", + "包括像咖啡 红牛 各种茶 还有可乐等等\n", + "677/2707\n", + "678/2707\n", + "679/2707\n", + "680/2707\n", + "Audio time = 6.071 sec.\n", + "Recognition time = 9.94428014755249 sec.\n", + "这个像安踏在我们脑内是可以跟它的受体结合\n", + "这个腺苷它在我们脑内是可以跟它的受体结合\n", + "681/2707\n", + "682/2707\n", + "683/2707\n", + "684/2707\n", + "Audio time = 2.3 sec.\n", + "Recognition time = 9.938446998596191 sec.\n", + "从而促进睡眠\n", + "从而促进睡眠\n", + "685/2707\n", + "686/2707\n", + "687/2707\n", + "688/2707\n", + "Audio time = 2.5 sec.\n", + "Recognition time = 10.423325061798096 sec.\n", + "那咖啡人作用就是看\n", + "咖啡因的作用就是\n", + "689/2707\n", + "690/2707\n", + "691/2707\n", + "692/2707\n", + "Audio time = 3.15 sec.\n", + "Recognition time = 10.562416791915894 sec.\n", + "就是咖啡因会跟线杆的受体结合\n", + "咖啡因会跟腺苷的受体结合\n", + "693/2707\n", + "694/2707\n", + "695/2707\n", + "696/2707\n", + "Audio time = 3.4 sec.\n", + "Recognition time = 10.547760963439941 sec.\n", + "让岘港不能跟他自己的手地结合\n", + "让腺苷不能跟它自己的受体结合\n", + "697/2707\n", + "698/2707\n", + "699/2707\n", + "700/2707\n", + "Audio time = 4.25 sec.\n", + "Recognition time = 9.930874109268188 sec.\n", + "这样就可以一直睡眠促进清晰\n", + "这样就可以抑制睡眠 促进清醒\n", + "701/2707\n", + "702/2707\n", + "703/2707\n", + "704/2707\n", + "Audio time = 4.45 sec.\n", + "Recognition time = 9.728864908218384 sec.\n", + "相爱是我前面提到的各\n", + "腺苷是我前面提到的那个\n", + "705/2707\n", + "706/2707\n", + "707/2707\n", + "708/2707\n", + "709/2707\n", + "Audio time = 2.83 sec.\n", + "Recognition time = 9.697293758392334 sec.\n", + "但是他不是唯一的媒介\n", + "但是它不是唯一的媒介\n", + "710/2707\n", + "711/2707\n", + "712/2707\n", + "713/2707\n", + "Audio time = 4.82 sec.\n", + "Recognition time = 10.371662139892578 sec.\n", + "还有其他许多粉丝都参与到了这个调控过程中\n", + "还有其他许多分子都参与到了这个调控过程中\n", + "714/2707\n", + "715/2707\n", + "716/2707\n", + "717/2707\n", + "Audio time = 4.0 sec.\n", + "Recognition time = 10.035088777542114 sec.\n", + "我们可以把稳态平衡机制肖湘成一个杀戮\n", + "我们可以把稳态平衡机制想象成一个沙漏\n", + "718/2707\n", + "719/2707\n", + "720/2707\n", + "721/2707\n", + "Audio time = 2.77 sec.\n", + "Recognition time = 9.7845139503479 sec.\n", + "在我们醒着的时候\n", + "在我们醒着的时候\n", + "722/2707\n", + "723/2707\n", + "724/2707\n", + "725/2707\n", + "Audio time = 5.1 sec.\n", + "Recognition time = 9.939879894256592 sec.\n", + "个我太平衡其实它会一直的积累我们的睡眠压力\n", + "这个稳态平衡机制它会一直地积累我们的睡眠压力\n", + "726/2707\n", + "727/2707\n", + "728/2707\n", + "729/2707\n", + "Audio time = 3.32 sec.\n", + "Recognition time = 11.504558086395264 sec.\n", + "然后到我们进入到睡眠的时候\n", + "然后到我们进入到睡眠的时候\n", + "730/2707\n", + "731/2707\n", + "732/2707\n", + "733/2707\n", + "734/2707\n", + "Audio time = 3.23 sec.\n", + "Recognition time = 10.95905089378357 sec.\n", + "但这个水边压力释放关闭以后\n", + "当这个睡眠压力释放完毕以后\n", + "735/2707\n", + "736/2707\n", + "737/2707\n", + "738/2707\n", + "Audio time = 1.9 sec.\n", + "Recognition time = 9.931496858596802 sec.\n", + "睡眠就会结束\n", + "睡眠就会结束\n", + "739/2707\n", + "740/2707\n", + "741/2707\n", + "742/2707\n", + "Audio time = 1.95 sec.\n", + "Recognition time = 9.603691101074219 sec.\n", + "我们会醒来\n", + "我们会醒来\n", + "743/2707\n", + "744/2707\n", + "745/2707\n", + "746/2707\n", + "Audio time = 3.32 sec.\n", + "Recognition time = 9.71631908416748 sec.\n", + "我们可以想象如果在醒着的时候\n", + "我们可以想象如果在醒着的时候\n", + "747/2707\n", + "748/2707\n", + "749/2707\n", + "750/2707\n", + "Audio time = 2.7 sec.\n", + "Recognition time = 9.863147974014282 sec.\n", + "我们挤在越多的睡眠压力\n", + "我们积累越多的睡眠压力\n", + "751/2707\n", + "752/2707\n", + "753/2707\n", + "754/2707\n", + "Audio time = 3.0 sec.\n", + "Recognition time = 9.725075960159302 sec.\n", + "也就意味着说进入睡眠以后\n", + "那就意味着说进入睡眠以后\n", + "755/2707\n", + "756/2707\n", + "757/2707\n", + "758/2707\n", + "Audio time = 2.42 sec.\n", + "Recognition time = 9.627044200897217 sec.\n", + "需要更长的时间\n", + "需要更长的时间\n", + "759/2707\n", + "760/2707\n", + "761/2707\n", + "762/2707\n", + "Audio time = 3.22 sec.\n", + "Recognition time = 11.06000804901123 sec.\n", + "才能把这些水被压力释放干净\n", + "才能把这些睡眠压力释放干净\n", + "763/2707\n", + "764/2707\n", + "765/2707\n", + "766/2707\n", + "Audio time = 2.55 sec.\n", + "Recognition time = 9.931901931762695 sec.\n", + "那也就意味的是我们可能\n", + "那也就意味着说\n", + "767/2707\n", + "768/2707\n", + "769/2707\n", + "770/2707\n", + "Audio time = 3.3 sec.\n", + "Recognition time = 9.831027269363403 sec.\n", + "我们可能会睡得更就是一个跟神\n", + "我们可能会睡得更久 睡得更深\n", + "771/2707\n", + "772/2707\n", + "773/2707\n", + "774/2707\n", + "Audio time = 3.47 sec.\n", + "Recognition time = 10.13632583618164 sec.\n", + "我太平衡晶石的左右其实就在这里\n", + "稳态平衡机制的作用其实就在这里\n", + "775/2707\n", + "776/2707\n", + "777/2707\n", + "778/2707\n", + "Audio time = 3.38 sec.\n", + "Recognition time = 10.238585948944092 sec.\n", + "它是决定我们睡多久和水多深\n", + "它是决定我们睡多久和睡多深\n", + "779/2707\n", + "780/2707\n", + "781/2707\n", + "782/2707\n", + "Audio time = 3.3 sec.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Recognition time = 9.539638996124268 sec.\n", + "所以如果你一夜没睡熬夜了\n", + "所以如果你一夜没睡 熬夜了\n", + "783/2707\n", + "784/2707\n", + "785/2707\n", + "786/2707\n", + "Audio time = 3.87 sec.\n", + "Recognition time = 9.81445574760437 sec.\n", + "离第二天就会睡得比平时要酒喝声\n", + "你第二天就会睡得比平时要久和深\n", + "787/2707\n", + "788/2707\n", + "789/2707\n", + "790/2707\n", + "Audio time = 3.68 sec.\n", + "Recognition time = 9.829972982406616 sec.\n", + "然后如果说这个工作日睡的比较少\n", + "如果说你工作日睡得比较少\n", + "791/2707\n", + "792/2707\n", + "793/2707\n", + "794/2707\n", + "Audio time = 3.4 sec.\n", + "Recognition time = 9.848114728927612 sec.\n", + "那周末可能就会要不教会\n", + "那周末可能就会要补觉\n", + "795/2707\n", + "796/2707\n", + "797/2707\n", + "798/2707\n", + "Audio time = 3.52 sec.\n", + "Recognition time = 10.671857118606567 sec.\n", + "回水到特别的就特别的深\n", + "会睡得特别地久 特别地深\n", + "799/2707\n", + "800/2707\n", + "801/2707\n", + "802/2707\n", + "Audio time = 3.15 sec.\n", + "Recognition time = 11.05112338066101 sec.\n", + "可以所以从这里我们可以看出来\n", + "所以从这里我们可以看出来\n", + "803/2707\n", + "804/2707\n", + "805/2707\n", + "806/2707\n", + "Audio time = 3.93 sec.\n", + "Recognition time = 11.739706039428711 sec.\n", + "七十个睡眠呀离婚者所睡眠债一个\n", + "其实这个睡眠压力或者说睡眠债\n", + "807/2707\n", + "808/2707\n", + "809/2707\n", + "810/2707\n", + "Audio time = 3.92 sec.\n", + "Recognition time = 11.164644002914429 sec.\n", + "再以跟我们签的所有其他债一样都是要还的\n", + "跟我们欠的所有其他债一样 都是要还的\n", + "811/2707\n", + "812/2707\n", + "813/2707\n", + "814/2707\n", + "Audio time = 3.43 sec.\n", + "Recognition time = 11.262641906738281 sec.\n", + "对我前面讲到了水面这两大特征\n", + "我前面讲到的睡眠的两大特征\n", + "815/2707\n", + "816/2707\n", + "817/2707\n", + "818/2707\n", + "Audio time = 4.15 sec.\n", + "Recognition time = 11.49067497253418 sec.\n", + "一个是他收到我太平和机制的调控\n", + "一个是它受到稳态平衡机制的调控\n", + "819/2707\n", + "820/2707\n", + "821/2707\n", + "822/2707\n", + "Audio time = 2.5 sec.\n", + "Recognition time = 9.9706711769104 sec.\n", + "然后另外一点就是她还\n", + "另外一点就是\n", + "823/2707\n", + "824/2707\n", + "825/2707\n", + "826/2707\n", + "Audio time = 3.47 sec.\n", + "Recognition time = 10.385109901428223 sec.\n", + "他还会发展在一天中相对固定的时段\n", + "它还会发生在一天中相对固定的时段\n", + "827/2707\n", + "828/2707\n", + "829/2707\n", + "830/2707\n", + "Audio time = 3.4 sec.\n", + "Recognition time = 10.632283210754395 sec.\n", + "对于我们人类来说主要是在夜间\n", + "对我们人类来说主要是在夜间\n", + "831/2707\n", + "832/2707\n", + "833/2707\n", + "834/2707\n", + "Audio time = 2.8 sec.\n", + "Recognition time = 10.150068044662476 sec.\n", + "但是基本说在液晶睡觉\n", + "但是即便说在夜间睡觉\n", + "835/2707\n", + "836/2707\n", + "837/2707\n", + "838/2707\n", + "Audio time = 3.75 sec.\n", + "Recognition time = 11.003652095794678 sec.\n", + "谁叫我相信在座的大家可能作息时间\n", + "我相信在座的大家可能作息时间\n", + "839/2707\n", + "840/2707\n", + "841/2707\n", + "842/2707\n", + "Audio time = 2.2 sec.\n", + "Recognition time = 11.117875099182129 sec.\n", + "都还挺不一样的\n", + "都还挺不一样的\n", + "843/2707\n", + "844/2707\n", + "845/2707\n", + "846/2707\n", + "Audio time = 5.9 sec.\n", + "Recognition time = 11.228707075119019 sec.\n", + "比如说这个在座的可能有这种早睡早起的每天\n", + "比如说在座的可能有这种早睡早起的\n", + "847/2707\n", + "848/2707\n", + "849/2707\n", + "850/2707\n", + "Audio time = 2.85 sec.\n", + "Recognition time = 10.889628887176514 sec.\n", + "每天教廷我的不是道中\n", + "每天叫醒我的不是闹钟\n", + "851/2707\n", + "852/2707\n", + "853/2707\n", + "854/2707\n", + "855/2707\n", + "Audio time = 3.52 sec.\n", + "Recognition time = 10.766643047332764 sec.\n", + "最终我们叫做白领聊性的坐骑\n", + "这种我们叫做百灵鸟型的作息\n", + "856/2707\n", + "857/2707\n", + "858/2707\n", + "859/2707\n", + "Audio time = 3.17 sec.\n", + "Recognition time = 10.757474184036255 sec.\n", + "然后也会有晚睡晚起的\n", + "然后也会有晚睡晚起的\n", + "860/2707\n", + "861/2707\n", + "862/2707\n", + "863/2707\n", + "Audio time = 3.55 sec.\n", + "Recognition time = 11.207590818405151 sec.\n", + "每天最大的越王可能就是睡到十二点的\n", + "每天最大的愿望可能就是睡到12点的\n", + "864/2707\n", + "865/2707\n", + "866/2707\n", + "867/2707\n", + "Audio time = 2.9 sec.\n", + "Recognition time = 10.9791841506958 sec.\n", + "这就毛佗硬性的做些\n", + "这种猫头鹰型的作息\n", + "868/2707\n", + "869/2707\n", + "870/2707\n", + "871/2707\n", + "Audio time = 2.4 sec.\n", + "Recognition time = 10.691560983657837 sec.\n", + "就是我个人而言\n", + "就我个人而言\n", + "872/2707\n", + "873/2707\n", + "874/2707\n", + "875/2707\n", + "Audio time = 3.75 sec.\n", + "Recognition time = 11.438000917434692 sec.\n", + "如果我不是我外界因素的干扰\n", + "如果我不受外界因素的干扰\n", + "876/2707\n", + "877/2707\n", + "878/2707\n", + "879/2707\n", + "Audio time = 4.8 sec.\n", + "Recognition time = 10.490594148635864 sec.\n", + "那我大概是凌晨三点睡到上午十点异性\n", + "那我大概是凌晨3点睡 然后上午10点醒\n", + "880/2707\n", + "881/2707\n", + "882/2707\n", + "883/2707\n", + "Audio time = 3.83 sec.\n", + "Recognition time = 8.91028118133545 sec.\n", + "所以我也是一个典型的檐帽子型的\n", + "所以我也是一个典型的夜猫子型\n", + "884/2707\n", + "885/2707\n", + "886/2707\n", + "887/2707\n", + "Audio time = 2.46 sec.\n", + "Recognition time = 11.33391809463501 sec.\n", + "毛陀硬性的做些\n", + "猫头鹰型的作息\n", + "888/2707\n", + "889/2707\n", + "890/2707\n", + "891/2707\n", + "Audio time = 4.68 sec.\n", + "Recognition time = 9.400279760360718 sec.\n", + "从我们从小到大受的教育可能会觉得\n", + "我们从小到大受的教育可能会觉得\n", + "892/2707\n", + "893/2707\n", + "894/2707\n", + "895/2707\n", + "Audio time = 2.75 sec.\n", + "Recognition time = 10.655029058456421 sec.\n", + "这种不同的作息制度\n", + "这种不同的作息制度\n", + "896/2707\n", + "897/2707\n", + "898/2707\n", + "899/2707\n", + "Audio time = 3.27 sec.\n", + "Recognition time = 9.58838677406311 sec.\n", + "跟你是情分还是懒惰\n", + "跟你是勤奋还是懒惰\n", + "900/2707\n", + "901/2707\n", + "902/2707\n", + "903/2707\n", + "Audio time = 3.73 sec.\n", + "Recognition time = 12.32562804222107 sec.\n", + "你们有一个好的生活和学习习惯有关系\n", + "你有没有一个好的生活和学习习惯有关系\n", + "904/2707\n", + "905/2707\n", + "906/2707\n", + "907/2707\n", + "Audio time = 3.62 sec.\n", + "Recognition time = 11.26798677444458 sec.\n", + "但是其实也不一定吃这样\n", + "但是其实也不一定是这样\n", + "908/2707\n", + "909/2707\n", + "910/2707\n", + "911/2707\n", + "Audio time = 5.72 sec.\n", + "Recognition time = 11.97499394416809 sec.\n", + "在上个世纪的九十年代\n", + "在上个世纪的90年代\n", + "912/2707\n", + "913/2707\n", + "914/2707\n", + "915/2707\n", + "Audio time = 5.17 sec.\n", + "Recognition time = 10.610878944396973 sec.\n", + "在美国有个犹他大学的睡眠尊属\n", + "在美国有个犹他大学的睡眠诊所\n", + "916/2707\n", + "917/2707\n", + "918/2707\n", + "919/2707\n", + "Audio time = 3.23 sec.\n", + "Recognition time = 12.025944709777832 sec.\n", + "然后有一天有一位睡眠医生迎来\n", + "有一天有一位睡眠医生\n", + "920/2707\n", + "921/2707\n", + "922/2707\n", + "923/2707\n", + "Audio time = 4.7 sec.\n", + "Recognition time = 11.564014196395874 sec.\n", + "艺声引来了一个老太太六十多岁老太太叫做代替\n", + "迎来了一个60多岁的老太太 叫做Becky\n", + "924/2707\n", + "925/2707\n", + "926/2707\n", + "927/2707\n", + "Audio time = 3.81 sec.\n", + "Recognition time = 8.943893909454346 sec.\n", + "这个白厅就跟着渭水边医生说\n", + "这个Becky就跟这位睡眠医生说\n", + "928/2707\n", + "929/2707\n", + "930/2707\n", + "931/2707\n", + "Audio time = 3.89 sec.\n", + "Recognition time = 10.408736944198608 sec.\n", + "他说卧床小到大都早睡早起\n", + "她说我从小到大都早睡早起\n", + "932/2707\n", + "933/2707\n", + "934/2707\n", + "935/2707\n", + "Audio time = 2.42 sec.\n", + "Recognition time = 8.908719301223755 sec.\n", + "然后这个沈湎医生说\n", + "然后这个睡眠医生说\n", + "936/2707\n", + "937/2707\n", + "938/2707\n", + "939/2707\n", + "Audio time = 3.58 sec.\n", + "Recognition time = 10.541115283966064 sec.\n", + "那不是挺好的吗早非早起身体好\n", + "那不是挺好的吗 早睡早起身体好\n", + "940/2707\n", + "941/2707\n", + "942/2707\n", + "943/2707\n", + "Audio time = 2.52 sec.\n", + "Recognition time = 9.929500341415405 sec.\n", + "然后老太来说\n", + "然后老太太说\n", + "944/2707\n", + "945/2707\n", + "946/2707\n", + "947/2707\n", + "Audio time = 3.45 sec.\n", + "Recognition time = 10.349467992782593 sec.\n", + "不是你想象那样早睡也早起\n", + "不是你想象那样早睡早起\n", + "948/2707\n", + "949/2707\n", + "950/2707\n", + "951/2707\n", + "Audio time = 5.12 sec.\n", + "Recognition time = 10.21029782295227 sec.\n", + "我是每天晚上祁烈我就困了时睡觉了\n", + "我是每天晚上7点多就困了 然后需要睡觉了\n", + "952/2707\n", + "953/2707\n", + "954/2707\n", + "955/2707\n", + "Audio time = 3.52 sec.\n", + "Recognition time = 10.267696142196655 sec.\n", + "凌晨每天凌晨撕裂多就会醒来\n", + "每天凌晨4点多就会醒来\n", + "956/2707\n", + "957/2707\n", + "958/2707\n", + "959/2707\n", + "Audio time = 2.33 sec.\n", + "Recognition time = 9.497772932052612 sec.\n", + "在我年轻的时候呢\n", + "她说在我年轻的时候\n", + "960/2707\n", + "961/2707\n", + "962/2707\n", + "963/2707\n", + "Audio time = 3.82 sec.\n", + "Recognition time = 10.189707040786743 sec.\n", + "他说这个对我的生活造成了不小的困扰\n", + "这个也对我的生活造成了不小的困扰\n", + "964/2707\n", + "965/2707\n", + "966/2707\n", + "967/2707\n", + "968/2707\n", + "Audio time = 2.73 sec.\n", + "Recognition time = 10.070319175720215 sec.\n", + "这我都没有办法才加\n", + "我都没有办法参加\n", + "969/2707\n", + "970/2707\n", + "971/2707\n", + "972/2707\n", + "973/2707\n", + "Audio time = 3.9 sec.\n", + "Recognition time = 9.709878206253052 sec.\n", + "然后他说不仅是他是这样\n", + "然后她说不仅是她是这样\n", + "974/2707\n", + "975/2707\n", + "976/2707\n", + "977/2707\n", + "Audio time = 4.5 sec.\n", + "Recognition time = 10.216222047805786 sec.\n", + "他的母亲他的外祖父他的兄弟\n", + "她的母亲 她的外祖父 她的兄弟\n", + "978/2707\n", + "979/2707\n", + "980/2707\n", + "981/2707\n", + "Audio time = 3.5 sec.\n", + "Recognition time = 9.88833498954773 sec.\n", + "他的女儿甚至是她的外孙女儿\n", + "她的女儿 甚至是她的外孙女\n", + "982/2707\n", + "983/2707\n", + "984/2707\n", + "985/2707\n", + "Audio time = 2.13 sec.\n", + "Recognition time = 9.780324220657349 sec.\n", + "都是这个样子\n", + "都是这个样子\n", + "986/2707\n", + "987/2707\n", + "988/2707\n", + "989/2707\n", + "Audio time = 3.35 sec.\n", + "Recognition time = 10.5138680934906 sec.\n", + "他也为这个事情看过很多医生\n", + "她也为这个事情看过很多医生\n", + "990/2707\n", + "991/2707\n", + "992/2707\n", + "993/2707\n", + "Audio time = 3.73 sec.\n", + "Recognition time = 9.933246850967407 sec.\n", + "内些一身都跟他说他有精神问题\n", + "那些医生都跟她说她有精神问题\n", + "994/2707\n", + "995/2707\n", + "996/2707\n", + "997/2707\n", + "Audio time = 2.65 sec.\n", + "Recognition time = 10.4442138671875 sec.\n", + "所以他也挺困惑的\n", + "所以她也挺困惑的\n", + "998/2707\n", + "999/2707\n", + "1000/2707\n", + "1001/2707\n", + "Audio time = 2.75 sec.\n", + "Recognition time = 9.666093111038208 sec.\n", + "因为他觉得子宇亲身挺正常\n", + "因为她觉得自己精神挺正常的\n", + "1002/2707\n", + "1003/2707\n", + "1004/2707\n", + "1005/2707\n", + "Audio time = 3.58 sec.\n", + "Recognition time = 9.941423654556274 sec.\n", + "这个睡眠也生听到了这个事情以后\n", + "这个睡眠医生听到了这个事情以后\n", + "1006/2707\n", + "1007/2707\n", + "1008/2707\n", + "1009/2707\n", + "Audio time = 3.05 sec.\n", + "Recognition time = 9.780264139175415 sec.\n", + "他想这个家族留这么多成员\n", + "他想这个家族有这么多成员\n", + "1010/2707\n", + "1011/2707\n", + "1012/2707\n", + "1013/2707\n", + "Audio time = 3.2 sec.\n", + "Recognition time = 10.034083127975464 sec.\n", + "于是他就进行了一个系统的调查\n", + "于是他就进行了一个系统的调查\n", + "1014/2707\n", + "1015/2707\n", + "1016/2707\n", + "1017/2707\n", + "Audio time = 4.08 sec.\n", + "Recognition time = 9.687443971633911 sec.\n", + "发现这个家族中确实有二十九过程远\n", + "发现这个家族中确实有29个成员\n", + "1018/2707\n", + "1019/2707\n", + "1020/2707\n", + "1021/2707\n", + "Audio time = 3.92 sec.\n", + "Recognition time = 9.92458701133728 sec.\n", + "都有这种吸毒的早睡早起的现象\n", + "都有这种极度的早睡早起的现象\n", + "1022/2707\n", + "1023/2707\n", + "1024/2707\n", + "1025/2707\n", + "Audio time = 5.33 sec.\n", + "Recognition time = 10.65902590751648 sec.\n", + "其中他又让张国成员到她的歌睡眠中心的因为\n", + "其中他又让6个成员到他的睡眠中心来\n", + "1026/2707\n", + "1027/2707\n", + "1028/2707\n", + "1029/2707\n", + "Audio time = 2.13 sec.\n", + "Recognition time = 11.199529886245728 sec.\n", + "这个早非早起呢\n", + "因为这个早睡早起\n", + "1030/2707\n", + "1031/2707\n", + "1032/2707\n", + "1033/2707\n", + "Audio time = 3.48 sec.\n", + "Recognition time = 10.41060996055603 sec.\n", + "不是你说早而造情酒浓酸的\n", + "不是你说早睡早起就能算的\n", + "1034/2707\n", + "1035/2707\n", + "1036/2707\n", + "1037/2707\n", + "Audio time = 3.88 sec.\n", + "Recognition time = 10.478367328643799 sec.\n", + "对缺失的用脑电波去测量它的睡眠\n", + "得确实地用脑电波去测量他的睡眠\n", + "1038/2707\n", + "1039/2707\n", + "1040/2707\n", + "1041/2707\n", + "Audio time = 2.75 sec.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Recognition time = 8.69693899154663 sec.\n", + "开始不是真的早睡早起了\n", + "看是不是真的早睡早起了\n", + "1042/2707\n", + "1043/2707\n", + "1044/2707\n", + "1045/2707\n", + "Audio time = 3.78 sec.\n", + "Recognition time = 10.330029964447021 sec.\n", + "所以究竟写了用脑电波的对睡眠的测量\n", + "所以就进行了用脑电波对睡眠的测量\n", + "1046/2707\n", + "1047/2707\n", + "1048/2707\n", + "1049/2707\n", + "Audio time = 5.17 sec.\n", + "Recognition time = 9.376667737960815 sec.\n", + "然后发现这些人他们的睡眠确实如白婷诉说\n", + "然后发现这些人他们的睡眠确实如Becky所说\n", + "1050/2707\n", + "1051/2707\n", + "1052/2707\n", + "1053/2707\n", + "Audio time = 5.05 sec.\n", + "Recognition time = 10.506406307220459 sec.\n", + "然后这个是比正常的人要造了带盖三个半到四个小时\n", + "这个是比正常的人要早大概3个半到4个小时\n", + "1054/2707\n", + "1055/2707\n", + "1056/2707\n", + "1057/2707\n", + "Audio time = 4.35 sec.\n", + "Recognition time = 9.216369152069092 sec.\n", + "因为这个现象是这个家族都有\n", + "因为这个现象是整个家族都有\n", + "1058/2707\n", + "1059/2707\n", + "1060/2707\n", + "1061/2707\n", + "Audio time = 3.5 sec.\n", + "Recognition time = 11.876338958740234 sec.\n", + "所以你就是说它是一个可以溢出的现象\n", + "所以就是说它是一个可以遗传的现象\n", + "1062/2707\n", + "1063/2707\n", + "1064/2707\n", + "1065/2707\n", + "Audio time = 4.98 sec.\n", + "Recognition time = 10.549348831176758 sec.\n", + "这位睡眠一生的就决定进一步的去调查这个事情\n", + "这位睡眠医生就决定进一步地去调查这个事情\n", + "1066/2707\n", + "1067/2707\n", + "1068/2707\n", + "1069/2707\n", + "Audio time = 2.92 sec.\n", + "Recognition time = 10.03463888168335 sec.\n", + "他和一位遗传学家\n", + "他和一位遗传学家\n", + "1070/2707\n", + "1071/2707\n", + "1072/2707\n", + "1073/2707\n", + "Audio time = 3.93 sec.\n", + "Recognition time = 9.010717868804932 sec.\n", + "也就是我在美国博士后的导师合作\n", + "也就是我在美国博士后的导师合作\n", + "1074/2707\n", + "1075/2707\n", + "1076/2707\n", + "1077/2707\n", + "Audio time = 2.53 sec.\n", + "Recognition time = 8.68841004371643 sec.\n", + "然后他们就发现了\n", + "他们就发现了\n", + "1078/2707\n", + "1079/2707\n", + "1080/2707\n", + "1081/2707\n", + "Audio time = 3.7 sec.\n", + "Recognition time = 9.936977863311768 sec.\n", + "们这些特别早睡早起的人\n", + "这些特别早睡早起的人\n", + "1082/2707\n", + "1083/2707\n", + "1084/2707\n", + "1085/2707\n", + "Audio time = 3.65 sec.\n", + "Recognition time = 8.949090242385864 sec.\n", + "其实是带了一个罕见的基因变异\n", + "其实是带了一个罕见的基因变异\n", + "1086/2707\n", + "1087/2707\n", + "1088/2707\n", + "1089/2707\n", + "Audio time = 4.27 sec.\n", + "Recognition time = 9.697094917297363 sec.\n", + "这个变异发生在一个叫做裴瑞驰的基因里面\n", + "这个变异发生在一个叫做PERIOD2的基因里面\n", + "1090/2707\n", + "1091/2707\n", + "1092/2707\n", + "1093/2707\n", + "Audio time = 2.92 sec.\n", + "Recognition time = 10.638010025024414 sec.\n", + "然后这个编译器时就导致了\n", + "这个变异其实就导致了\n", + "1094/2707\n", + "1095/2707\n", + "1096/2707\n", + "1097/2707\n", + "Audio time = 3.78 sec.\n", + "Recognition time = 10.272983074188232 sec.\n", + "胚乳球的点黑须那上有\n", + "PERIOD2的的DNA序列上\n", + "1098/2707\n", + "1099/2707\n", + "1100/2707\n", + "1101/2707\n", + "Audio time = 2.5 sec.\n", + "Recognition time = 10.458916902542114 sec.\n", + "有一个阶级的改变\n", + "有一个碱基对的改变\n", + "1102/2707\n", + "1103/2707\n", + "1104/2707\n", + "1105/2707\n", + "Audio time = 4.15 sec.\n", + "Recognition time = 10.171255588531494 sec.\n", + "后一个碱基的改变了导致他所编码的基因\n", + "然后一个碱基对的改变导致它所编码的基因\n", + "1106/2707\n", + "1107/2707\n", + "1108/2707\n", + "1109/2707\n", + "Audio time = 4.33 sec.\n", + "Recognition time = 10.784722328186035 sec.\n", + "渴而除蛋白有一个案子酸的改变\n", + "PERIOD2蛋白有一个氨基酸的改变\n", + "1110/2707\n", + "1111/2707\n", + "1112/2707\n", + "1113/2707\n", + "Audio time = 2.48 sec.\n", + "Recognition time = 10.316540956497192 sec.\n", + "这么的一个改变\n", + "这么一个改变\n", + "1114/2707\n", + "1115/2707\n", + "1116/2707\n", + "1117/2707\n", + "Audio time = 3.92 sec.\n", + "Recognition time = 10.117632150650024 sec.\n", + "因为科尔秋瑾是一个生物中的精\n", + "因为PERIOD2基因是一个生物钟的基因\n", + "1118/2707\n", + "1119/2707\n", + "1120/2707\n", + "1121/2707\n", + "Audio time = 4.15 sec.\n", + "Recognition time = 10.107079029083252 sec.\n", + "所以这么一个改变就影响了这些人的生物钟\n", + "所以这么一个改变就影响了这些人的生物钟\n", + "1122/2707\n", + "1123/2707\n", + "1124/2707\n", + "1125/2707\n", + "Audio time = 4.72 sec.\n", + "Recognition time = 10.416341066360474 sec.\n", + "生物钟我们可大家听说过都听说过名称\n", + "生物钟大家可能都听说过这个名称\n", + "1126/2707\n", + "1127/2707\n", + "1128/2707\n", + "1129/2707\n", + "1130/2707\n", + "Audio time = 4.2 sec.\n", + "Recognition time = 10.445109128952026 sec.\n", + "他其实是我们体内的一种计时机制\n", + "它其实是我们体内的一种计时机制\n", + "1131/2707\n", + "1132/2707\n", + "1133/2707\n", + "1134/2707\n", + "Audio time = 4.65 sec.\n", + "Recognition time = 10.649009227752686 sec.\n", + "然后它会使我们的各种行为和生理过程\n", + "它会使我们的各种行为和生理过程\n", + "1135/2707\n", + "1136/2707\n", + "1137/2707\n", + "1138/2707\n", + "Audio time = 3.38 sec.\n", + "Recognition time = 10.23893690109253 sec.\n", + "表现出一种啊是四小时的戒律\n", + "表现出一种24小时的节律\n", + "1139/2707\n", + "1140/2707\n", + "1141/2707\n", + "1142/2707\n", + "Audio time = 3.17 sec.\n", + "Recognition time = 9.915915966033936 sec.\n", + "生活中不致影响我们所需时间\n", + "生物钟不只影响我们的作息时间\n", + "1143/2707\n", + "1144/2707\n", + "1145/2707\n", + "1146/2707\n", + "Audio time = 2.52 sec.\n", + "Recognition time = 10.053148984909058 sec.\n", + "还有我们的方方面面\n", + "还有我们的方方面面\n", + "1147/2707\n", + "1148/2707\n", + "1149/2707\n", + "1150/2707\n", + "Audio time = 3.63 sec.\n", + "Recognition time = 10.035830974578857 sec.\n", + "比如说我们的体温心率\n", + "比如说我们的体温 心率\n", + "1151/2707\n", + "1152/2707\n", + "1153/2707\n", + "1154/2707\n", + "Audio time = 2.22 sec.\n", + "Recognition time = 9.93106198310852 sec.\n", + "我们的这个血压\n", + "我们的血压\n", + "1155/2707\n", + "1156/2707\n", + "1157/2707\n", + "1158/2707\n", + "1159/2707\n", + "Audio time = 2.75 sec.\n", + "Recognition time = 10.936872959136963 sec.\n", + "都有二零四小时的戒律\n", + "都有24小时的节律\n", + "1160/2707\n", + "1161/2707\n", + "1162/2707\n", + "1163/2707\n", + "Audio time = 3.25 sec.\n", + "Recognition time = 9.996380805969238 sec.\n", + "生物钟索取中我就重按十四小时在竭力\n", + "生物钟所驱动的这种24小时的节律\n", + "1164/2707\n", + "1165/2707\n", + "1166/2707\n", + "1167/2707\n", + "Audio time = 3.2 sec.\n", + "Recognition time = 10.605979919433594 sec.\n", + "我们把它称为今日戒律\n", + "我们把它称为近日节律\n", + "1168/2707\n", + "1169/2707\n", + "1170/2707\n", + "1171/2707\n", + "Audio time = 4.12 sec.\n", + "Recognition time = 9.11269497871399 sec.\n", + "就是大约翌日大约二里四小时的个意思\n", + "就是大约一日 大约24小时的意思\n", + "1172/2707\n", + "1173/2707\n", + "1174/2707\n", + "1175/2707\n", + "Audio time = 3.2 sec.\n", + "Recognition time = 9.989053964614868 sec.\n", + "他还有一个更为同属\n", + "它还有一个更为通俗\n", + "1176/2707\n", + "1177/2707\n", + "1178/2707\n", + "1179/2707\n", + "Audio time = 2.65 sec.\n", + "Recognition time = 11.103986263275146 sec.\n", + "但是不那么准确的称呼\n", + "但是不那么准确的称呼\n", + "1180/2707\n", + "1181/2707\n", + "1182/2707\n", + "1183/2707\n", + "Audio time = 2.02 sec.\n", + "Recognition time = 9.995306968688965 sec.\n", + "我叫做昼夜节律\n", + "叫做昼夜节律\n", + "1184/2707\n", + "1185/2707\n", + "1186/2707\n", + "1187/2707\n", + "Audio time = 3.55 sec.\n", + "Recognition time = 10.177406072616577 sec.\n", + "我们生物钟与今日戒律在地球上\n", + "生物钟与近日节律在地球上\n", + "1188/2707\n", + "1189/2707\n", + "1190/2707\n", + "1191/2707\n", + "Audio time = 3.52 sec.\n", + "Recognition time = 9.945289134979248 sec.\n", + "大概七十一年词可能就出现了\n", + "大概几十亿年前可能就出现了\n", + "1192/2707\n", + "1193/2707\n", + "1194/2707\n", + "1195/2707\n", + "Audio time = 4.4 sec.\n", + "Recognition time = 9.958027839660645 sec.\n", + "从最肩带的意中人和代谢宝生物\n", + "从最简单的一种单细胞生物\n", + "1196/2707\n", + "1197/2707\n", + "1198/2707\n", + "1199/2707\n", + "Audio time = 1.85 sec.\n", + "Recognition time = 9.92228889465332 sec.\n", + "比如来细菌\n", + "比如蓝细菌\n", + "1200/2707\n", + "1201/2707\n", + "1202/2707\n", + "1203/2707\n", + "Audio time = 2.73 sec.\n", + "Recognition time = 9.189191818237305 sec.\n", + "就是图上这个绿绿的东西\n", + "就是图上这个绿绿的东西\n", + "1204/2707\n", + "1205/2707\n", + "1206/2707\n", + "1207/2707\n", + "Audio time = 4.3 sec.\n", + "Recognition time = 9.890074253082275 sec.\n", + "一直到各种复杂的植物动物\n", + "一直到各种复杂的植物 动物\n", + "1208/2707\n", + "1209/2707\n", + "1210/2707\n", + "1211/2707\n", + "Audio time = 3.17 sec.\n", + "Recognition time = 10.07413911819458 sec.\n", + "都能生物钟和今日戒律\n", + "都有生物钟和近日节律\n", + "1212/2707\n", + "1213/2707\n", + "1214/2707\n", + "1215/2707\n", + "Audio time = 4.47 sec.\n", + "Recognition time = 10.444883108139038 sec.\n", + "所以说它其实是一种比睡眠要古老得多的现象\n", + "所以它其实是一种比睡眠要古老得多的现象\n", + "1216/2707\n", + "1217/2707\n", + "1218/2707\n", + "1219/2707\n", + "Audio time = 3.67 sec.\n", + "Recognition time = 10.546808004379272 sec.\n", + "这个其实也挺合理挺容易理解的因为\n", + "这个其实也挺合理 挺容易理解的\n", + "1220/2707\n", + "1221/2707\n", + "1222/2707\n", + "1223/2707\n", + "Audio time = 3.06 sec.\n", + "Recognition time = 10.138069868087769 sec.\n", + "因睡眠只是生活中调控的\n", + "因为睡眠只是生物钟调控的\n", + "1224/2707\n", + "1225/2707\n", + "1226/2707\n", + "1227/2707\n", + "Audio time = 3.87 sec.\n", + "Recognition time = 11.620110034942627 sec.\n", + "帮户数个生命过程中间的一个\n", + "无数个生命过程中间的一个\n", + "1228/2707\n", + "1229/2707\n", + "1230/2707\n", + "1231/2707\n", + "Audio time = 2.6 sec.\n", + "Recognition time = 10.32073712348938 sec.\n", + "在分子呈面道声中\n", + "在分子层面\n", + "1232/2707\n", + "1233/2707\n", + "1234/2707\n", + "1235/2707\n", + "Audio time = 4.8 sec.\n", + "Recognition time = 10.453410148620605 sec.\n", + "生物钟是有大概十几个基因组成的一个反馈环路\n", + "生物钟是由大概十几个基因组成的一个反馈环路\n", + "1236/2707\n", + "1237/2707\n", + "1238/2707\n", + "1239/2707\n", + "Audio time = 3.25 sec.\n", + "Recognition time = 9.99799394607544 sec.\n", + "去年的诺被生理医学奖\n", + "去年的诺贝尔生理医学奖\n", + "1240/2707\n", + "1241/2707\n", + "1242/2707\n", + "1243/2707\n", + "Audio time = 4.47 sec.\n", + "Recognition time = 10.13641095161438 sec.\n", + "就颁给了三位再过瘾克隆出\n", + "就颁给了三位在果蝇里克隆出\n", + "1244/2707\n", + "1245/2707\n", + "1246/2707\n", + "1247/2707\n", + "Audio time = 2.9 sec.\n", + "Recognition time = 10.239814043045044 sec.\n", + "除第一个生物中浸淫的科学家\n", + "第一个生物钟基因的科学家\n", + "1248/2707\n", + "1249/2707\n", + "1250/2707\n", + "1251/2707\n", + "Audio time = 3.13 sec.\n", + "Recognition time = 10.1371910572052 sec.\n", + "国营改天轮仅在哺乳动物\n", + "果蝇的period基因在哺乳动物\n", + "1252/2707\n", + "1253/2707\n", + "1254/2707\n", + "1255/2707\n", + "Audio time = 2.67 sec.\n", + "Recognition time = 10.2382173538208 sec.\n", + "动物包括我们人类便是由三个\n", + "包括我们人里面是有3个\n", + "1256/2707\n", + "1257/2707\n", + "1258/2707\n", + "1259/2707\n", + "Audio time = 4.27 sec.\n", + "Recognition time = 10.138260841369629 sec.\n", + "分别叫做平人玩味秋荷亭为思维\n", + "分别叫做PER1 PER2和PER3\n", + "1260/2707\n", + "1261/2707\n", + "1262/2707\n", + "1263/2707\n", + "Audio time = 3.48 sec.\n", + "Recognition time = 10.067363977432251 sec.\n", + "这个就是我前面讲到的\n", + "PER2这个就是我前面讲到的\n", + "1264/2707\n", + "1265/2707\n", + "1266/2707\n", + "1267/2707\n", + "Audio time = 4.62 sec.\n", + "Recognition time = 10.411110162734985 sec.\n", + "他的便也导致了大家出入的气度的早睡早起\n", + "它的变异导致了那个大家族极度的早睡早起\n", + "1268/2707\n", + "1269/2707\n", + "1270/2707\n", + "1271/2707\n", + "Audio time = 4.8 sec.\n", + "Recognition time = 10.434869050979614 sec.\n", + "然后我们实验室研究的方向是这个可司机\n", + "我们实验室研究的方向是PER3基因\n", + "1272/2707\n", + "1273/2707\n", + "1274/2707\n", + "1275/2707\n", + "Audio time = 4.32 sec.\n", + "Recognition time = 10.863201141357422 sec.\n", + "我们发现会碎金的汉奸便也\n", + "我们发现PER3基因的罕见变异\n", + "1276/2707\n", + "1277/2707\n", + "1278/2707\n", + "1279/2707\n", + "Audio time = 4.1 sec.\n", + "Recognition time = 10.445040225982666 sec.\n", + "爷爷可以捯饬人气度的早睡早起\n", + "也可以导致人极度地早睡早起\n", + "1280/2707\n", + "1281/2707\n", + "1282/2707\n", + "1283/2707\n", + "Audio time = 2.35 sec.\n", + "Recognition time = 9.75477385520935 sec.\n", + "除了早睡早起\n", + "除了早睡早起\n", + "1284/2707\n", + "1285/2707\n", + "1286/2707\n", + "1287/2707\n", + "Audio time = 3.1 sec.\n", + "Recognition time = 10.007096767425537 sec.\n", + "他们还有一种情绪病\n", + "他们还有一种情绪病\n", + "1288/2707\n", + "1289/2707\n", + "1290/2707\n", + "1291/2707\n", + "Audio time = 3.08 sec.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Recognition time = 10.24026894569397 sec.\n", + "叫做季节性情感障碍\n", + "叫做季节性情感障碍\n", + "1292/2707\n", + "1293/2707\n", + "1294/2707\n", + "1295/2707\n", + "Audio time = 2.52 sec.\n", + "Recognition time = 9.906393051147461 sec.\n", + "俗称东徙倚欲\n", + "俗称冬季抑郁\n", + "1296/2707\n", + "1297/2707\n", + "1298/2707\n", + "1299/2707\n", + "Audio time = 3.5 sec.\n", + "Recognition time = 10.47254991531372 sec.\n", + "这个病的主要特征就是\n", + "这个病的主要特征就是\n", + "1300/2707\n", + "1301/2707\n", + "1302/2707\n", + "1303/2707\n", + "Audio time = 5.93 sec.\n", + "Recognition time = 10.54602599143982 sec.\n", + "就是患者在每年的秋天会开始出现一些抑郁的症状\n", + "患者在每年的秋天会开始出现一些抑郁的症状\n", + "1304/2707\n", + "1305/2707\n", + "1306/2707\n", + "1307/2707\n", + "Audio time = 4.45 sec.\n", + "Recognition time = 9.978378057479858 sec.\n", + "然后到冬天冻气的时候是最严重的\n", + "然后到冬季的时候是最严重的\n", + "1308/2707\n", + "1309/2707\n", + "1310/2707\n", + "1311/2707\n", + "Audio time = 3.72 sec.\n", + "Recognition time = 10.40015697479248 sec.\n", + "渠道每年十二月一月二月的时候是随眼中的\n", + "就到每年12月 1月 2月的时候是最严重的\n", + "1312/2707\n", + "1313/2707\n", + "1314/2707\n", + "1315/2707\n", + "Audio time = 3.75 sec.\n", + "Recognition time = 10.24106478691101 sec.\n", + "然后到次年的春夏优惠此法的好准\n", + "然后到次年的春夏又会自发地好转\n", + "1316/2707\n", + "1317/2707\n", + "1318/2707\n", + "1319/2707\n", + "Audio time = 4.06 sec.\n", + "Recognition time = 10.237606048583984 sec.\n", + "就是这一些性感障碍她在人群中的发病率\n", + "季节性情感障碍它在人群中的发病率\n", + "1320/2707\n", + "1321/2707\n", + "1322/2707\n", + "1323/2707\n", + "Audio time = 2.98 sec.\n", + "Recognition time = 10.341224908828735 sec.\n", + "并屡遇大概是百分之一到百分之十\n", + "大概是1%到10%\n", + "1324/2707\n", + "1325/2707\n", + "1326/2707\n", + "1327/2707\n", + "Audio time = 3.93 sec.\n", + "Recognition time = 10.03522515296936 sec.\n", + "所以这些这个现象就提示我们\n", + "这个现象就提示我们\n", + "1328/2707\n", + "1329/2707\n", + "1330/2707\n", + "1331/2707\n", + "Audio time = 3.31 sec.\n", + "Recognition time = 10.137287855148315 sec.\n", + "我们生物钟和今日竭力的紊乱\n", + "生物钟和近日节律的紊乱\n", + "1332/2707\n", + "1333/2707\n", + "1334/2707\n", + "1335/2707\n", + "Audio time = 3.74 sec.\n", + "Recognition time = 9.831539869308472 sec.\n", + "卵可能与精神疾病也有关联\n", + "可能与精神疾病也有关联\n", + "1336/2707\n", + "1337/2707\n", + "1338/2707\n", + "1339/2707\n", + "Audio time = 2.85 sec.\n", + "Recognition time = 10.23816204071045 sec.\n", + "前面我给大家讲了两个都是\n", + "前面我给大家讲了两个\n", + "1340/2707\n", + "1341/2707\n", + "1342/2707\n", + "1343/2707\n", + "Audio time = 4.55 sec.\n", + "Recognition time = 10.233273983001709 sec.\n", + "两个都是这种白领聊性的扫雪早期的别一\n", + "都是这种百灵鸟型的早睡早起的变异\n", + "1344/2707\n", + "1345/2707\n", + "1346/2707\n", + "1347/2707\n", + "Audio time = 5.33 sec.\n", + "Recognition time = 9.019546747207642 sec.\n", + "还有这种变异人是可以导致有夜猫子型的作息\n", + "还有变异是可以导致夜猫子型的作息\n", + "1348/2707\n", + "1349/2707\n", + "1350/2707\n", + "1351/2707\n", + "Audio time = 3.64 sec.\n", + "Recognition time = 8.906440734863281 sec.\n", + "比如说美国的科研人员发现在这个叫做\n", + "比如说美国的科研人员发现在这个\n", + "1352/2707\n", + "1353/2707\n", + "1354/2707\n", + "1355/2707\n", + "Audio time = 4.76 sec.\n", + "Recognition time = 10.03446912765503 sec.\n", + "在这个叫做头颇不安的生活中基因里面的变异\n", + "叫做CRYPTOCHROME1生物钟基因里面的变异\n", + "1356/2707\n", + "1357/2707\n", + "1358/2707\n", + "1359/2707\n", + "Audio time = 3.35 sec.\n", + "Recognition time = 10.754530191421509 sec.\n", + "就可以逃至人嫉妒的顽石晚期\n", + "就可以导致人极度地晚睡晚起\n", + "1360/2707\n", + "1361/2707\n", + "1362/2707\n", + "1363/2707\n", + "Audio time = 4.87 sec.\n", + "Recognition time = 9.2134850025177 sec.\n", + "其实人群中夜猫子型的作息是比白领狼性的要多的\n", + "其实人群中夜猫子型的作息是比百灵鸟型的要多的\n", + "1364/2707\n", + "1365/2707\n", + "1366/2707\n", + "1367/2707\n", + "Audio time = 2.87 sec.\n", + "Recognition time = 9.932822942733765 sec.\n", + "在这其中了有一部分事项\n", + "但是其中有一部分是像\n", + "1368/2707\n", + "1369/2707\n", + "1370/2707\n", + "1371/2707\n", + "Audio time = 3.83 sec.\n", + "Recognition time = 9.010280847549438 sec.\n", + "带了个多矿完井便衣的人一样\n", + "带了CRYPTOCHROME1基因变异的人一样\n", + "1372/2707\n", + "1373/2707\n", + "1374/2707\n", + "1375/2707\n", + "Audio time = 3.37 sec.\n", + "Recognition time = 9.039043664932251 sec.\n", + "一样是因为一些起因变异导致的\n", + "是因为一些基因变异导致的\n", + "1376/2707\n", + "1377/2707\n", + "1378/2707\n", + "1379/2707\n", + "Audio time = 4.03 sec.\n", + "Recognition time = 10.82593584060669 sec.\n", + "但是还有一些可能是为环境因素导致的\n", + "但是还有一些可能是因为环境因素导致的\n", + "1380/2707\n", + "1381/2707\n", + "1382/2707\n", + "1383/2707\n", + "Audio time = 2.7 sec.\n", + "Recognition time = 8.912533044815063 sec.\n", + "比如说你晚上七时一定很困了\n", + "比如说你晚上其实已经很困了\n", + "1384/2707\n", + "1385/2707\n", + "1386/2707\n", + "1387/2707\n", + "Audio time = 4.25 sec.\n", + "Recognition time = 9.007572889328003 sec.\n", + "但是还想玩有心想看片不想睡觉\n", + "但是还想玩游戏 想看片 不想睡觉\n", + "1388/2707\n", + "1389/2707\n", + "1390/2707\n", + "1391/2707\n", + "Audio time = 4.38 sec.\n", + "Recognition time = 8.792241334915161 sec.\n", + "这也是这个椰汁晚睡晚起的檐帽的星座性\n", + "这个也是晚睡晚起的夜猫子型作息\n", + "1392/2707\n", + "1393/2707\n", + "1394/2707\n", + "1395/2707\n", + "Audio time = 2.72 sec.\n", + "Recognition time = 8.819468021392822 sec.\n", + "作息但是并不是天生的\n", + "但是并不是天生的\n", + "1396/2707\n", + "1397/2707\n", + "1398/2707\n", + "1399/2707\n", + "Audio time = 3.52 sec.\n", + "Recognition time = 9.148534059524536 sec.\n", + "虽然说生物钟天生的变异\n", + "虽然说生物钟天生的变异\n", + "1400/2707\n", + "1401/2707\n", + "1402/2707\n", + "1403/2707\n", + "Audio time = 4.23 sec.\n", + "Recognition time = 8.976423978805542 sec.\n", + "可以导致我们个体之间生活中的差异\n", + "可以导致我们个体之间生物钟的差异\n", + "1404/2707\n", + "1405/2707\n", + "1406/2707\n", + "1407/2707\n", + "Audio time = 4.25 sec.\n", + "Recognition time = 10.136827945709229 sec.\n", + "但是生活中的差异的也不全是天生的\n", + "但是生物钟的差异也不全是天生的\n", + "1408/2707\n", + "1409/2707\n", + "1410/2707\n", + "1411/2707\n", + "Audio time = 2.18 sec.\n", + "Recognition time = 9.944804906845093 sec.\n", + "就是同一个人\n", + "就是同一个人\n", + "1412/2707\n", + "1413/2707\n", + "1414/2707\n", + "1415/2707\n", + "Audio time = 3.1199375 sec.\n", + "Recognition time = 10.124817848205566 sec.\n", + "一人他在年轻和年老的时候\n", + "他在年轻和年老的时候\n", + "1416/2707\n", + "1417/2707\n", + "1418/2707\n", + "1419/2707\n", + "Audio time = 2.5799375 sec.\n", + "Recognition time = 10.136040925979614 sec.\n", + "后海的生活中也是不一样的\n", + "他的生物钟也是不一样的\n", + "1420/2707\n", + "1421/2707\n", + "1422/2707\n", + "1423/2707\n", + "Audio time = 3.7 sec.\n", + "Recognition time = 10.605434894561768 sec.\n", + "新恋人特别是十几岁的青少年\n", + "青年人 特别是十几岁的青少年\n", + "1424/2707\n", + "1425/2707\n", + "1426/2707\n", + "1427/2707\n", + "Audio time = 4.4000625 sec.\n", + "Recognition time = 9.873936891555786 sec.\n", + "而这生物钟是更加倾向于晚睡晚起的\n", + "他的生物钟是更加倾向于晚睡晚起的\n", + "1428/2707\n", + "1429/2707\n", + "1430/2707\n", + "1431/2707\n", + "Audio time = 3.15 sec.\n", + "Recognition time = 9.713008165359497 sec.\n", + "由于也就是大家可能会想到的\n", + "有一点就是大家可能会想到的\n", + "1432/2707\n", + "1433/2707\n", + "1434/2707\n", + "1435/2707\n", + "Audio time = 4.4499375 sec.\n", + "Recognition time = 10.459751844406128 sec.\n", + "其实青少年他每天早上上学的时间还挺早的\n", + "其实青少年每天早上上学的时间还挺早的\n", + "1436/2707\n", + "1437/2707\n", + "1438/2707\n", + "1439/2707\n", + "Audio time = 3.85 sec.\n", + "Recognition time = 10.139230012893677 sec.\n", + "把电动稳婆的是七点半深圳市更早\n", + "8点钟或者是7点半 甚至是更早\n", + "1440/2707\n", + "1441/2707\n", + "1442/2707\n", + "1443/2707\n", + "Audio time = 4.3 sec.\n", + "Recognition time = 13.473580837249756 sec.\n", + "所以其实就是说现在目前我们这种上学的事\n", + "这其实就是说现在目前这种上学的时间\n", + "1444/2707\n", + "1445/2707\n", + "1446/2707\n", + "1447/2707\n", + "Audio time = 5.2 sec.\n", + "Recognition time = 11.407232999801636 sec.\n", + "事事要强薄衣裙夜猫子型天生的夜猫子型的青年人\n", + "是要强迫一群天生的夜猫子型的青年人\n", + "1448/2707\n", + "1449/2707\n", + "1450/2707\n", + "1451/2707\n", + "Audio time = 3.23 sec.\n", + "Recognition time = 10.145721197128296 sec.\n", + "去要强过他们早学早七\n", + "要强迫他们早睡早起\n", + "1452/2707\n", + "1453/2707\n", + "1454/2707\n", + "1455/2707\n", + "Audio time = 2.95 sec.\n", + "Recognition time = 9.852151870727539 sec.\n", + "这对于他们其实是挺痛苦的\n", + "这对于他们其实是挺痛苦的\n", + "1456/2707\n", + "1457/2707\n", + "1458/2707\n", + "1459/2707\n", + "Audio time = 4.13 sec.\n", + "Recognition time = 10.926384925842285 sec.\n", + "而且对他们的健康也不是太有利\n", + "而且对他们的健康也不是太有利\n", + "1460/2707\n", + "1461/2707\n", + "1462/2707\n", + "1463/2707\n", + "Audio time = 5.1 sec.\n", + "Recognition time = 10.752143144607544 sec.\n", + "所以现在国外的一些学校\n", + "所以现在国外的一些学校\n", + "1464/2707\n", + "1465/2707\n", + "1466/2707\n", + "1467/2707\n", + "Audio time = 8.1 sec.\n", + "Recognition time = 10.927308082580566 sec.\n", + "就是开始时请让中学更晚的开课的时间看是上课的这件更管\n", + "开始试行让中学开始上课的时间更晚\n", + "1468/2707\n", + "1469/2707\n", + "1470/2707\n", + "1471/2707\n", + "Audio time = 4.58 sec.\n", + "Recognition time = 11.397500038146973 sec.\n", + "他们认为这个可能会更有利于这些学生的健康\n", + "他们认为这个可能会更有利于这些学生的健康\n", + "1472/2707\n", + "1473/2707\n", + "1474/2707\n", + "1475/2707\n", + "Audio time = 3.35 sec.\n", + "Recognition time = 10.715612888336182 sec.\n", + "以期他们的认知表现\n", + "以及他们的认知表现\n", + "1476/2707\n", + "1477/2707\n", + "1478/2707\n", + "1479/2707\n", + "Audio time = 2.45 sec.\n", + "Recognition time = 9.560259103775024 sec.\n", + "就是说他们在学习长街\n", + "也就是说他们的学习成绩\n", + "1480/2707\n", + "1481/2707\n", + "1482/2707\n", + "1483/2707\n", + "Audio time = 5.17 sec.\n", + "Recognition time = 11.77139401435852 sec.\n", + "所以如果你的孩子在学校上课的时候谁笑了\n", + "所以如果你的孩子在学校上课的时候睡着了\n", + "1484/2707\n", + "1485/2707\n", + "1486/2707\n", + "1487/2707\n", + "Audio time = 2.2 sec.\n", + "Recognition time = 9.419704914093018 sec.\n", + "清理原谅他\n", + "请你原谅他\n", + "1488/2707\n", + "1489/2707\n", + "1490/2707\n", + "1491/2707\n", + "Audio time = 3.03 sec.\n", + "Recognition time = 11.073076009750366 sec.\n", + "这个也不一定她就是不认真\n", + "这个也不一定他就是不认真\n", + "1492/2707\n", + "1493/2707\n", + "1494/2707\n", + "1495/2707\n", + "Audio time = 3.55 sec.\n", + "Recognition time = 10.228187799453735 sec.\n", + "它也可能是因为他的生物钟中导致的\n", + "它也可能是因为他的生物钟导致的\n", + "1496/2707\n", + "1497/2707\n", + "1498/2707\n", + "1499/2707\n", + "Audio time = 3.5 sec.\n", + "Recognition time = 10.161854982376099 sec.\n", + "到这里我就小结了一下\n", + "到这里我就小结一下\n", + "1500/2707\n", + "1501/2707\n", + "1502/2707\n", + "1503/2707\n", + "Audio time = 2.57 sec.\n", + "Recognition time = 10.001413822174072 sec.\n", + "我倒不亲卫一直讲的内容\n", + "我到目前为止讲的内容\n", + "1504/2707\n", + "1505/2707\n", + "1506/2707\n", + "1507/2707\n", + "Audio time = 4.45 sec.\n", + "Recognition time = 8.813225984573364 sec.\n", + "所以睡眠其实是主要通过两个同入\n", + "睡眠其实是主要通过两个通路\n", + "1508/2707\n", + "1509/2707\n", + "1510/2707\n", + "1511/2707\n", + "Audio time = 3.35 sec.\n", + "Recognition time = 9.932440042495728 sec.\n", + "或者说两股力量来调控的\n", + "或者说两股力量来调控的\n", + "1512/2707\n", + "1513/2707\n", + "1514/2707\n", + "1515/2707\n", + "Audio time = 2.73 sec.\n", + "Recognition time = 9.561797142028809 sec.\n", + "一个就是我们的生活中\n", + "一个就是我们的生物钟\n", + "1516/2707\n", + "1517/2707\n", + "1518/2707\n", + "1519/2707\n", + "Audio time = 3.25 sec.\n", + "Recognition time = 9.894231796264648 sec.\n", + "还有一个就是我前面提到了我太平衡\n", + "还有一个就是我前面提到的稳态平衡\n", + "1520/2707\n", + "1521/2707\n", + "1522/2707\n", + "1523/2707\n", + "Audio time = 3.3 sec.\n", + "Recognition time = 8.629566431045532 sec.\n", + "生活种种决定的是我们什么时候睡\n", + "生物钟决定的是我们什么时候睡\n", + "1524/2707\n", + "1525/2707\n", + "1526/2707\n", + "1527/2707\n", + "Audio time = 5.03 sec.\n", + "Recognition time = 9.865908861160278 sec.\n", + "而我太平和决定的是我们睡多久睡多深\n", + "而稳态平衡决定的是我们睡多久 睡多深\n", + "1528/2707\n", + "1529/2707\n", + "1530/2707\n", + "1531/2707\n", + "Audio time = 3.67 sec.\n", + "Recognition time = 10.085025072097778 sec.\n", + "听到这里可能会有观众想\n", + "听到这里可能会有观众想\n", + "1532/2707\n", + "1533/2707\n", + "1534/2707\n", + "1535/2707\n", + "Audio time = 4.43 sec.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Recognition time = 9.738590955734253 sec.\n", + "试听了很多道理但是还是睡不了一个好觉\n", + "是听了很多道理 但是还是睡不了一个好觉\n", + "1536/2707\n", + "1537/2707\n", + "1538/2707\n", + "1539/2707\n", + "Audio time = 6.68 sec.\n", + "Recognition time = 11.137609958648682 sec.\n", + "所以就接下来的和大家聊一下一些广为流传的盖上\n", + "所以接下来和大家聊一下一些广为流传的\n", + "1540/2707\n", + "1541/2707\n", + "1542/2707\n", + "1543/2707\n", + "Audio time = 2.97 sec.\n", + "Recognition time = 10.444470167160034 sec.\n", + "改善或者促进睡眠的一些方法\n", + "改善或者促进睡眠的一些方法\n", + "1544/2707\n", + "1545/2707\n", + "1546/2707\n", + "1547/2707\n", + "Audio time = 2.4 sec.\n", + "Recognition time = 9.709181070327759 sec.\n", + "他们是不是真的有效\n", + "它们是不是真的有效\n", + "1548/2707\n", + "1549/2707\n", + "1550/2707\n", + "1551/2707\n", + "Audio time = 5.37 sec.\n", + "Recognition time = 10.36344313621521 sec.\n", + "大家可能都是听说过就是喝牛奶可以促进睡眠\n", + "大家可能都听说过喝牛奶可以促进睡眠\n", + "1552/2707\n", + "1553/2707\n", + "1554/2707\n", + "1555/2707\n", + "Audio time = 3.68 sec.\n", + "Recognition time = 9.31540298461914 sec.\n", + "喝着来是不是真的可以促进睡眠呢\n", + "喝牛奶是不是真的可以促进睡眠呢\n", + "1556/2707\n", + "1557/2707\n", + "1558/2707\n", + "1559/2707\n", + "Audio time = 3.87 sec.\n", + "Recognition time = 10.648298978805542 sec.\n", + "牛奶以及其它的一切乳制品里面\n", + "牛奶以及其他的一些乳制品里面\n", + "1560/2707\n", + "1561/2707\n", + "1562/2707\n", + "1563/2707\n", + "Audio time = 3.08 sec.\n", + "Recognition time = 9.419909954071045 sec.\n", + "还有一种叫做四爱酸的物质\n", + "含有一种叫做色氨酸的物质\n", + "1564/2707\n", + "1565/2707\n", + "1566/2707\n", + "1567/2707\n", + "Audio time = 5.3 sec.\n", + "Recognition time = 10.75905990600586 sec.\n", + "后者中文字一点程度上是可以改善和促进睡眠的\n", + "这种物质一定程度上是可以改善和促进睡眠的\n", + "1568/2707\n", + "1569/2707\n", + "1570/2707\n", + "1571/2707\n", + "Audio time = 3.2 sec.\n", + "Recognition time = 10.62932014465332 sec.\n", + "但是他不知纽带利率诶有\n", + "但是它不只牛奶里面有\n", + "1572/2707\n", + "1573/2707\n", + "1574/2707\n", + "1575/2707\n", + "Audio time = 6.5 sec.\n", + "Recognition time = 11.174374103546143 sec.\n", + "在蛋类鱼类肉类打动类产品中也都富含色胺孙\n", + "在蛋类 鱼类 肉类 大豆类产品中也都富含色氨酸\n", + "1576/2707\n", + "1577/2707\n", + "1578/2707\n", + "1579/2707\n", + "Audio time = 4.43 sec.\n", + "Recognition time = 10.775142908096313 sec.\n", + "然后经典流行一种叫做水便溏的东东\n", + "近年流行一种叫做睡眠糖的东东\n", + "1580/2707\n", + "1581/2707\n", + "1582/2707\n", + "1583/2707\n", + "Audio time = 3.1 sec.\n", + "Recognition time = 10.631054162979126 sec.\n", + "然后据说是可以促进睡眠\n", + "据说是可以促进睡眠\n", + "1584/2707\n", + "1585/2707\n", + "1586/2707\n", + "1587/2707\n", + "Audio time = 2.5 sec.\n", + "Recognition time = 11.988529205322266 sec.\n", + "这个睡眠唐诗什么的\n", + "这个睡眠糖是什么呢\n", + "1588/2707\n", + "1589/2707\n", + "1590/2707\n", + "1591/2707\n", + "Audio time = 4.48 sec.\n", + "Recognition time = 8.991067886352539 sec.\n", + "它的主要成分其实就是推诿苏\n", + "它的主要成分其实就是褪黑素\n", + "1592/2707\n", + "1593/2707\n", + "1594/2707\n", + "1595/2707\n", + "Audio time = 5.13 sec.\n", + "Recognition time = 10.789504051208496 sec.\n", + "然后推着此事当中我们条件生物钟的\n", + "褪黑素是帮助我们调节生物钟的\n", + "1596/2707\n", + "1597/2707\n", + "1598/2707\n", + "1599/2707\n", + "1600/2707\n", + "Audio time = 3.37 sec.\n", + "Recognition time = 10.617730140686035 sec.\n", + "他可能以丁城都可以帮助改善睡眠\n", + "它可能一定程度可以帮助改善睡眠\n", + "1601/2707\n", + "1602/2707\n", + "1603/2707\n", + "1604/2707\n", + "Audio time = 4.7 sec.\n", + "Recognition time = 10.75219202041626 sec.\n", + "但是它最主要的功效是保住我们倒时差\n", + "但是它最主要的功效是帮助我们倒时差\n", + "1605/2707\n", + "1606/2707\n", + "1607/2707\n", + "1608/2707\n", + "Audio time = 3.75 sec.\n", + "Recognition time = 10.23914909362793 sec.\n", + "而且这个效果也还是因人而低的\n", + "而且这个效果也还是因人而异的\n", + "1609/2707\n", + "1610/2707\n", + "1611/2707\n", + "1612/2707\n", + "Audio time = 2.37 sec.\n", + "Recognition time = 11.262695074081421 sec.\n", + "在我们小的时候睡不消\n", + "在我们小的时候睡不着\n", + "1613/2707\n", + "1614/2707\n", + "1615/2707\n", + "1616/2707\n", + "Audio time = 3.7 sec.\n", + "Recognition time = 10.642468690872192 sec.\n", + "把妈妈都会说谁不知可以属羊\n", + "爸爸妈妈都会说睡不着可以数羊\n", + "1617/2707\n", + "1618/2707\n", + "1619/2707\n", + "1620/2707\n", + "Audio time = 3.3 sec.\n", + "Recognition time = 11.168534994125366 sec.\n", + "数量神不是真的可以帮助你入睡的\n", + "数羊是不是真的可以帮助你入睡呢\n", + "1621/2707\n", + "1622/2707\n", + "1623/2707\n", + "1624/2707\n", + "Audio time = 3.33 sec.\n", + "Recognition time = 9.928301095962524 sec.\n", + "如果说你在熟料的过程中\n", + "如果说你在数羊的过程中\n", + "1625/2707\n", + "1626/2707\n", + "1627/2707\n", + "1628/2707\n", + "Audio time = 2.87 sec.\n", + "Recognition time = 8.661370038986206 sec.\n", + "他确实会让你干变到更放松\n", + "它确实会让你感觉到更放松\n", + "1629/2707\n", + "1630/2707\n", + "1631/2707\n", + "1632/2707\n", + "Audio time = 2.68 sec.\n", + "Recognition time = 9.568925142288208 sec.\n", + "帮助你的肌肉放松\n", + "帮助你的肌肉放松\n", + "1633/2707\n", + "1634/2707\n", + "1635/2707\n", + "1636/2707\n", + "1637/2707\n", + "Audio time = 3.4 sec.\n", + "Recognition time = 9.830211162567139 sec.\n", + "它一定程度上是可以促进睡眠\n", + "那它一定程度上是可以促进睡眠的\n", + "1638/2707\n", + "1639/2707\n", + "1640/2707\n", + "1641/2707\n", + "1642/2707\n", + "Audio time = 4.7 sec.\n", + "Recognition time = 9.76432991027832 sec.\n", + "大家很多人是越数越兴奋\n", + "很多人是越数越兴奋\n", + "1643/2707\n", + "1644/2707\n", + "1645/2707\n", + "1646/2707\n", + "Audio time = 2.45 sec.\n", + "Recognition time = 8.565114974975586 sec.\n", + "或者说越数越焦虑\n", + "或者说越数越焦虑\n", + "1647/2707\n", + "1648/2707\n", + "1649/2707\n", + "1650/2707\n", + "Audio time = 2.5 sec.\n", + "Recognition time = 9.838749885559082 sec.\n", + "来其实会侵犯作用\n", + "其实会起反作用\n", + "1651/2707\n", + "1652/2707\n", + "1653/2707\n", + "1654/2707\n", + "Audio time = 3.6 sec.\n", + "Recognition time = 9.849634170532227 sec.\n", + "然后还有一种大家都应该有听说过的\n", + "还有一种大家应该都听说过的\n", + "1655/2707\n", + "1656/2707\n", + "1657/2707\n", + "1658/2707\n", + "Audio time = 3.72 sec.\n", + "Recognition time = 9.800726175308228 sec.\n", + "可以改善睡眠的方法就是安眠药\n", + "可以改善睡眠的方法就是安眠药\n", + "1659/2707\n", + "1660/2707\n", + "1661/2707\n", + "1662/2707\n", + "Audio time = 3.65 sec.\n", + "Recognition time = 9.522045135498047 sec.\n", + "安眠药确实是可以改善我们的睡眠\n", + "安眠药确实是可以改善我们的睡眠\n", + "1663/2707\n", + "1664/2707\n", + "1665/2707\n", + "1666/2707\n", + "Audio time = 3.58 sec.\n", + "Recognition time = 9.215401887893677 sec.\n", + "但是我在这里要提醒大家是\n", + "但是我在这里要提醒大家\n", + "1667/2707\n", + "1668/2707\n", + "1669/2707\n", + "1670/2707\n", + "Audio time = 5.15 sec.\n", + "Recognition time = 10.07035493850708 sec.\n", + "使用安眠药的时候一定要小型精神\n", + "使用安眠药的时候一定要小心谨慎\n", + "1671/2707\n", + "1672/2707\n", + "1673/2707\n", + "1674/2707\n", + "1675/2707\n", + "Audio time = 3.6 sec.\n", + "Recognition time = 9.595734119415283 sec.\n", + "因为常见的爱眠药都是作用于\n", + "因为常见的安眠药都是作用于\n", + "1676/2707\n", + "1677/2707\n", + "1678/2707\n", + "1679/2707\n", + "Audio time = 3.12 sec.\n", + "Recognition time = 9.69861388206482 sec.\n", + "与我们脑内的神经递质系统\n", + "我们脑内的神经递质系统\n", + "1680/2707\n", + "1681/2707\n", + "1682/2707\n", + "1683/2707\n", + "Audio time = 3.7 sec.\n", + "Recognition time = 10.467654943466187 sec.\n", + "然后这趟神经递质系统它却是调控睡眠\n", + "这套神经递质系统它确实调控睡眠\n", + "1684/2707\n", + "1685/2707\n", + "1686/2707\n", + "1687/2707\n", + "1688/2707\n", + "Audio time = 4.5 sec.\n", + "Recognition time = 11.265694856643677 sec.\n", + "但是他还负责执行我们闹的各种功能\n", + "但是它还负责执行我们脑的各种功能\n", + "1689/2707\n", + "1690/2707\n", + "1691/2707\n", + "1692/2707\n", + "Audio time = 4.15 sec.\n", + "Recognition time = 10.38594102859497 sec.\n", + "所以安眠药不仅会对你的睡眠产生影响\n", + "所以安眠药不仅会对你的睡眠产生影响\n", + "1693/2707\n", + "1694/2707\n", + "1695/2707\n", + "1696/2707\n", + "Audio time = 3.53 sec.\n", + "Recognition time = 10.750540018081665 sec.\n", + "他还会可能会影响我们的情绪\n", + "它可能还会影响我们的情绪\n", + "1697/2707\n", + "1698/2707\n", + "1699/2707\n", + "1700/2707\n", + "Audio time = 2.88 sec.\n", + "Recognition time = 10.43662428855896 sec.\n", + "认知功能包括学习基业\n", + "认知功能 包括学习记忆\n", + "1701/2707\n", + "1702/2707\n", + "1703/2707\n", + "1704/2707\n", + "Audio time = 3.45 sec.\n", + "Recognition time = 10.306946039199829 sec.\n", + "还有我甚至是运动功能等等\n", + "甚至是运动功能等等\n", + "1705/2707\n", + "1706/2707\n", + "1707/2707\n", + "1708/2707\n", + "Audio time = 3.92 sec.\n", + "Recognition time = 11.87840723991394 sec.\n", + "所以在使用来煤窑的时候一定要小型谨慎\n", + "所以在使用安眠药的时候一定要小心谨慎\n", + "1709/2707\n", + "1710/2707\n", + "1711/2707\n", + "1712/2707\n", + "Audio time = 3.85 sec.\n", + "Recognition time = 11.060353994369507 sec.\n", + "其实除了药物来改成睡眠还有一些\n", + "其实除了药物来改善睡眠\n", + "1713/2707\n", + "1714/2707\n", + "1715/2707\n", + "1716/2707\n", + "Audio time = 3.73 sec.\n", + "Recognition time = 11.671911001205444 sec.\n", + "认知行为疗法也可以改善睡眠\n", + "还有一些认知行为疗法也可以改善睡眠\n", + "1717/2707\n", + "1718/2707\n", + "1719/2707\n", + "1720/2707\n", + "Audio time = 7.25 sec.\n", + "Recognition time = 11.426790952682495 sec.\n", + "比如说把你的睡眠和卧室以及创建里一个关联\n", + "比如说把你的睡眠和卧室以及床建立一个关联\n", + "1721/2707\n", + "1722/2707\n", + "1723/2707\n", + "1724/2707\n", + "Audio time = 5.13 sec.\n", + "Recognition time = 11.306833028793335 sec.\n", + "在卧室里在床上就进行睡眠这个事情\n", + "在卧室里 在床上 就只进行睡眠这个事情\n", + "1725/2707\n", + "1726/2707\n", + "1727/2707\n", + "1728/2707\n", + "1729/2707\n", + "Audio time = 2.82 sec.\n", + "Recognition time = 10.859714031219482 sec.\n", + "就不在卧室和床上进行\n", + "就不要在卧室和床上进行\n", + "1730/2707\n", + "1731/2707\n", + "1732/2707\n", + "1733/2707\n", + "Audio time = 3.25 sec.\n", + "Recognition time = 11.359398126602173 sec.\n", + "如能比较好地建立这个关联的话\n", + "如果能比较好地建立这个关联的话\n", + "1734/2707\n", + "1735/2707\n", + "1736/2707\n", + "1737/2707\n", + "Audio time = 2.63 sec.\n", + "Recognition time = 10.975263118743896 sec.\n", + "花当你进入到这个环境里\n", + "当你进入到这个环境里\n", + "1738/2707\n", + "1739/2707\n", + "1740/2707\n", + "1741/2707\n", + "Audio time = 3.47 sec.\n", + "Recognition time = 12.985117197036743 sec.\n", + "就会能够比较容易睡着\n", + "就会能够比较容易睡着\n", + "1742/2707\n", + "1743/2707\n", + "1744/2707\n", + "1745/2707\n", + "Audio time = 2.32 sec.\n", + "Recognition time = 10.166368961334229 sec.\n", + "所有的科研问题\n", + "所有的科研问题\n", + "1746/2707\n", + "1747/2707\n", + "1748/2707\n", + "1749/2707\n", + "Audio time = 4.0 sec.\n", + "Recognition time = 11.109914064407349 sec.\n", + "我们不但有知其人我还要窒息所以然\n", + "我们不但要知其然我们还要知其所以然\n", + "1750/2707\n", + "1751/2707\n", + "1752/2707\n", + "1753/2707\n", + "Audio time = 6.48 sec.\n", + "Recognition time = 9.967283010482788 sec.\n", + "所以科学家们不带要研究睡眠如何产生的\n", + "所以科学家们不但要研究睡眠如何产生的\n", + "1754/2707\n", + "1755/2707\n", + "1756/2707\n", + "1757/2707\n", + "Audio time = 3.4 sec.\n", + "Recognition time = 10.022706985473633 sec.\n", + "他们还想研究我们为什么要睡觉\n", + "他们还想研究我们为什么要睡觉\n", + "1758/2707\n", + "1759/2707\n", + "1760/2707\n", + "1761/2707\n", + "Audio time = 2.55 sec.\n", + "Recognition time = 10.569955110549927 sec.\n", + "大家可能会觉得\n", + "大家可能会觉得\n", + "1762/2707\n", + "1763/2707\n", + "1764/2707\n", + "1765/2707\n", + "Audio time = 3.68 sec.\n", + "Recognition time = 11.552134275436401 sec.\n", + "我们为什么要睡觉这个问题还需要也中文\n", + "我们为什么要睡觉这个问题还需要研究吗\n", + "1766/2707\n", + "1767/2707\n", + "1768/2707\n", + "1769/2707\n", + "1770/2707\n", + "Audio time = 3.83 sec.\n", + "Recognition time = 9.068635940551758 sec.\n", + "但是我你仔细想想睡眠这个事情的话\n", + "但是如果你仔细想一想睡眠这个事情的话\n", + "1771/2707\n", + "1772/2707\n", + "1773/2707\n", + "1774/2707\n", + "Audio time = 2.9 sec.\n", + "Recognition time = 22.229652166366577 sec.\n", + "他其实也不是那么理所当然\n", + "它其实也不是那么理所当然\n", + "1775/2707\n", + "1776/2707\n", + "1777/2707\n", + "1778/2707\n", + "Audio time = 5.2 sec.\n", + "Recognition time = 10.066240072250366 sec.\n", + "因为未当动物进入到失眠的状态以后\n", + "因为当动物进入到睡眠的状态以后\n", + "1779/2707\n", + "1780/2707\n", + "1781/2707\n", + "1782/2707\n", + "Audio time = 3.5 sec.\n", + "Recognition time = 10.130698919296265 sec.\n", + "他是不能进食不能繁殖\n", + "它是不能进食 不能繁殖\n", + "1783/2707\n", + "1784/2707\n", + "1785/2707\n", + "1786/2707\n", + "Audio time = 2.93 sec.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Recognition time = 10.041284084320068 sec.\n", + "甚至是不能保护太子记得\n", + "甚至是不能保护它自己的\n", + "1787/2707\n", + "1788/2707\n", + "1789/2707\n", + "1790/2707\n", + "Audio time = 2.25 sec.\n", + "Recognition time = 9.727653980255127 sec.\n", + "但是基本是这辆的\n", + "但是即便是这样\n", + "1791/2707\n", + "1792/2707\n", + "1793/2707\n", + "1794/2707\n", + "Audio time = 2.48 sec.\n", + "Recognition time = 9.970431804656982 sec.\n", + "这两根我又睡了记忆点的叫了\n", + "动物也睡了几亿年的觉了\n", + "1795/2707\n", + "1796/2707\n", + "1797/2707\n", + "1798/2707\n", + "Audio time = 2.47 sec.\n", + "Recognition time = 10.636347770690918 sec.\n", + "这么说的话\n", + "这么说的话\n", + "1799/2707\n", + "1800/2707\n", + "1801/2707\n", + "1802/2707\n", + "Audio time = 3.15 sec.\n", + "Recognition time = 9.70245909690857 sec.\n", + "睡眠都不要付出那么大的代价\n", + "动物要付出那么大的代价\n", + "1803/2707\n", + "1804/2707\n", + "1805/2707\n", + "1806/2707\n", + "1807/2707\n", + "Audio time = 3.33 sec.\n", + "Recognition time = 10.953075170516968 sec.\n", + "所以睡眠应该是挺重要的\n", + "所以睡眠应该是挺重要的\n", + "1808/2707\n", + "1809/2707\n", + "1810/2707\n", + "1811/2707\n", + "Audio time = 2.55 sec.\n", + "Recognition time = 10.447063207626343 sec.\n", + "对于我们人类\n", + "对于我们人类\n", + "1812/2707\n", + "1813/2707\n", + "1814/2707\n", + "1815/2707\n", + "Audio time = 2.85 sec.\n", + "Recognition time = 10.32799506187439 sec.\n", + "如果一晚上的睡眠不足\n", + "如果一晚上的睡眠不足\n", + "1816/2707\n", + "1817/2707\n", + "1818/2707\n", + "1819/2707\n", + "Audio time = 3.2 sec.\n", + "Recognition time = 10.055874109268188 sec.\n", + "就会导致说认知功能在下降\n", + "就会导致认知功能的下降\n", + "1820/2707\n", + "1821/2707\n", + "1822/2707\n", + "1823/2707\n", + "Audio time = 2.8 sec.\n", + "Recognition time = 10.898871898651123 sec.\n", + "这个大家可能都有体会\n", + "这个大家可能都有体会\n", + "1824/2707\n", + "1825/2707\n", + "1826/2707\n", + "1827/2707\n", + "Audio time = 3.6 sec.\n", + "Recognition time = 11.943390130996704 sec.\n", + "一晚上没睡好第二天就感觉笨笨的\n", + "一晚上没睡好 第二天就感觉笨笨的\n", + "1828/2707\n", + "1829/2707\n", + "1830/2707\n", + "1831/2707\n", + "Audio time = 2.8 sec.\n", + "Recognition time = 10.328142881393433 sec.\n", + "然后如果长期学教的话\n", + "如果长期缺觉的话\n", + "1832/2707\n", + "1833/2707\n", + "1834/2707\n", + "1835/2707\n", + "Audio time = 4.03 sec.\n", + "Recognition time = 12.464287281036377 sec.\n", + "会增加你患多种疾病的风险包括\n", + "会增加罹患多种疾病的风险\n", + "1836/2707\n", + "1837/2707\n", + "1838/2707\n", + "1839/2707\n", + "Audio time = 5.73 sec.\n", + "Recognition time = 10.342688083648682 sec.\n", + "肥胖症糖尿病癌症精神疾病等等\n", + "包括肥胖症 糖尿病 癌症 精神疾病等等\n", + "1840/2707\n", + "1841/2707\n", + "1842/2707\n", + "1843/2707\n", + "Audio time = 4.2 sec.\n", + "Recognition time = 10.101732015609741 sec.\n", + "如果把大鼠放在向右边的图里面\n", + "如果把大鼠放在像右边的这个图里面\n", + "1844/2707\n", + "1845/2707\n", + "1846/2707\n", + "1847/2707\n", + "Audio time = 2.05 sec.\n", + "Recognition time = 10.227153778076172 sec.\n", + "里这样一个桩身里面\n", + "这样的一个装置里面\n", + "1848/2707\n", + "1849/2707\n", + "1850/2707\n", + "1851/2707\n", + "Audio time = 3.4 sec.\n", + "Recognition time = 9.403329133987427 sec.\n", + "对他进行持续的睡眠剥夺\n", + "对它进行持续的睡眠剥夺\n", + "1852/2707\n", + "1853/2707\n", + "1854/2707\n", + "1855/2707\n", + "Audio time = 3.2 sec.\n", + "Recognition time = 10.332170963287354 sec.\n", + "带来两周的世界大树就会死亡\n", + "大概两周的时间大鼠就会死亡\n", + "1856/2707\n", + "1857/2707\n", + "1858/2707\n", + "1859/2707\n", + "Audio time = 3.33 sec.\n", + "Recognition time = 8.910773992538452 sec.\n", + "但是为什么会这样我们还不太清楚\n", + "但是为什么会这样我们还不太清楚\n", + "1860/2707\n", + "1861/2707\n", + "1862/2707\n", + "1863/2707\n", + "Audio time = 4.7 sec.\n", + "Recognition time = 10.441707134246826 sec.\n", + "我前关于睡眠对脑的影响\n", + "目前关于睡眠对脑的影响\n", + "1864/2707\n", + "1865/2707\n", + "1866/2707\n", + "1867/2707\n", + "1868/2707\n", + "Audio time = 4.55 sec.\n", + "Recognition time = 10.263937950134277 sec.\n", + "睡眠可以在睡眠过程中我们脑内迁\n", + "在睡眠过程中我们脑内\n", + "1869/2707\n", + "1870/2707\n", + "1871/2707\n", + "1872/2707\n", + "Audio time = 3.65 sec.\n", + "Recognition time = 10.17685079574585 sec.\n", + "那前面讲的是警员会得到一些修复\n", + "前面讲的神经元 会得到一些修复\n", + "1873/2707\n", + "1874/2707\n", + "1875/2707\n", + "1876/2707\n", + "Audio time = 6.08 sec.\n", + "Recognition time = 10.446882009506226 sec.\n", + "这个是经人在我们脑内他会神经源直接会形成链结构\n", + "在脑内神经元之间会形成连接\n", + "1877/2707\n", + "1878/2707\n", + "1879/2707\n", + "1880/2707\n", + "Audio time = 2.17 sec.\n", + "Recognition time = 10.647816181182861 sec.\n", + "结构成一个这样的网络\n", + "构成一个这样的网络\n", + "1881/2707\n", + "1882/2707\n", + "1883/2707\n", + "1884/2707\n", + "Audio time = 2.8 sec.\n", + "Recognition time = 9.970585107803345 sec.\n", + "在我们醒着的时候\n", + "在我们醒着的时候\n", + "1885/2707\n", + "1886/2707\n", + "1887/2707\n", + "1888/2707\n", + "Audio time = 3.78 sec.\n", + "Recognition time = 10.700876235961914 sec.\n", + "因为脑接收后大量来自外界的星系\n", + "因为脑接收大量来自外界的信息\n", + "1889/2707\n", + "1890/2707\n", + "1891/2707\n", + "1892/2707\n", + "Audio time = 5.98 sec.\n", + "Recognition time = 11.620858192443848 sec.\n", + "所以这些事警员的需要接受处理传递这些星系\n", + "所以这些神经元需要接收处理传递这些信息\n", + "1893/2707\n", + "1894/2707\n", + "1895/2707\n", + "1896/2707\n", + "Audio time = 3.05 sec.\n", + "Recognition time = 10.85471796989441 sec.\n", + "在这个过程中他们会发生了一些性\n", + "在这个过程中它们会发生一些\n", + "1897/2707\n", + "1898/2707\n", + "1899/2707\n", + "1900/2707\n", + "Audio time = 2.62 sec.\n", + "Recognition time = 10.161369800567627 sec.\n", + "写形态和功能上的改变\n", + "形态和功能上的改变\n", + "1901/2707\n", + "1902/2707\n", + "1903/2707\n", + "1904/2707\n", + "Audio time = 3.2 sec.\n", + "Recognition time = 10.831066846847534 sec.\n", + "然后当我们寻中睡眠以后呢\n", + "当我们进入到睡眠以后\n", + "1905/2707\n", + "1906/2707\n", + "1907/2707\n", + "1908/2707\n", + "Audio time = 4.22 sec.\n", + "Recognition time = 10.85332202911377 sec.\n", + "这些形态和功能的改变可以得到一定的恢复\n", + "这些形态和功能的改变可以得到一定的恢复\n", + "1909/2707\n", + "1910/2707\n", + "1911/2707\n", + "1912/2707\n", + "Audio time = 2.98 sec.\n", + "Recognition time = 11.470728158950806 sec.\n", + "这样一遍又我们再次醒来的时候\n", + "这样以便于我们再次醒来的时候\n", + "1913/2707\n", + "1914/2707\n", + "1915/2707\n", + "1916/2707\n", + "Audio time = 4.53 sec.\n", + "Recognition time = 9.931190013885498 sec.\n", + "这些神经元可以更高效就觉得处理性\n", + "这些神经元可以更高效准确地\n", + "1917/2707\n", + "1918/2707\n", + "1919/2707\n", + "1920/2707\n", + "Audio time = 3.85 sec.\n", + "Recognition time = 10.750570058822632 sec.\n", + "处理新的星系传递性的星系\n", + "处理新的信息 传递新的信息\n", + "1921/2707\n", + "1922/2707\n", + "1923/2707\n", + "1924/2707\n", + "Audio time = 2.53 sec.\n", + "Recognition time = 10.854321241378784 sec.\n", + "但是因为我前面说了\n", + "但是因为我前面说了\n", + "1925/2707\n", + "1926/2707\n", + "1927/2707\n", + "1928/2707\n", + "Audio time = 3.37 sec.\n", + "Recognition time = 10.341864824295044 sec.\n", + "身边不足对我们的危害是防卫免得\n", + "睡眠不足对我们的危害是方方面面的\n", + "1929/2707\n", + "1930/2707\n", + "1931/2707\n", + "1932/2707\n", + "Audio time = 3.65 sec.\n", + "Recognition time = 10.24030590057373 sec.\n", + "所以水边的功能应该不止于此\n", + "所以睡眠的功能应该不止于此\n", + "1933/2707\n", + "1934/2707\n", + "1935/2707\n", + "1936/2707\n", + "Audio time = 4.43 sec.\n", + "Recognition time = 10.546146869659424 sec.\n", + "在升学与有一句广为流出来的话\n", + "在生物学领域有一句广为流传的话\n", + "1937/2707\n", + "1938/2707\n", + "1939/2707\n", + "1940/2707\n", + "1941/2707\n", + "Audio time = 2.75 sec.\n", + "Recognition time = 10.342514038085938 sec.\n", + "这句话原话是这样的\n", + "这句话原话是这样的\n", + "1942/2707\n", + "1943/2707\n", + "1944/2707\n", + "1945/2707\n", + "Audio time = 4.57 sec.\n", + "Recognition time = 9.031803846359253 sec.\n", + "那绯羽白熬了去梅瓶来都比我懂事\n", + "Nothing in biology makes sense except in light of evolution\n", + "1946/2707\n", + "1947/2707\n", + "1948/2707\n", + "1949/2707\n", + "Audio time = 3.82 sec.\n", + "Recognition time = 9.731159210205078 sec.\n", + "大意就是说任何生物学的问题到\n", + "大意就是说任何生物学的问题\n", + "1950/2707\n", + "1951/2707\n", + "1952/2707\n", + "1953/2707\n", + "Audio time = 4.05 sec.\n", + "Recognition time = 10.21561884880066 sec.\n", + "都要从演化的交通去分析才有意义\n", + "都要从演化的角度去分析才有意义\n", + "1954/2707\n", + "1955/2707\n", + "1956/2707\n", + "1957/2707\n", + "Audio time = 3.34 sec.\n", + "Recognition time = 12.388890743255615 sec.\n", + "如果从演化了角度我们想一想\n", + "如果从演化的角度我们想一想\n", + "1958/2707\n", + "1959/2707\n", + "1960/2707\n", + "1961/2707\n", + "Audio time = 1.98 sec.\n", + "Recognition time = 9.58765721321106 sec.\n", + "为什么要睡觉\n", + "为什么要睡觉\n", + "1962/2707\n", + "1963/2707\n", + "1964/2707\n", + "1965/2707\n", + "Audio time = 3.3 sec.\n", + "Recognition time = 10.277790307998657 sec.\n", + "为什么地球上东问你睡了几亿年了\n", + "为什么地球上的动物已经睡了几亿年了\n", + "1966/2707\n", + "1967/2707\n", + "1968/2707\n", + "1969/2707\n", + "Audio time = 3.2 sec.\n", + "Recognition time = 11.172950983047485 sec.\n", + "就如果从这个叫伦分析的话我\n", + "如果从这个角度来分析的话\n", + "1970/2707\n", + "1971/2707\n", + "1972/2707\n", + "1973/2707\n", + "Audio time = 3.42 sec.\n", + "Recognition time = 9.000153303146362 sec.\n", + "我们可能会得到一些新的提示\n", + "我们可能会得到一些新的提示\n", + "1974/2707\n", + "1975/2707\n", + "1976/2707\n", + "1977/2707\n", + "Audio time = 4.95 sec.\n", + "Recognition time = 10.396843671798706 sec.\n", + "虽然涤纶尚东都大多数中午都需要睡觉\n", + "虽然地球上大多数动物都需要睡觉\n", + "1978/2707\n", + "1979/2707\n", + "1980/2707\n", + "1981/2707\n", + "Audio time = 3.05 sec.\n", + "Recognition time = 8.751291990280151 sec.\n", + "他们的睡眠其实还挺不一样的\n", + "它们的睡眠其实还挺不一样的\n", + "1982/2707\n", + "1983/2707\n", + "1984/2707\n", + "1985/2707\n", + "Audio time = 4.6 sec.\n", + "Recognition time = 8.490720987319946 sec.\n", + "比如说一种叫做野猴的动物\n", + "比如说一种叫做夜猴的动物\n", + "1986/2707\n", + "1987/2707\n", + "1988/2707\n", + "1989/2707\n", + "Audio time = 2.58 sec.\n", + "Recognition time = 8.635629177093506 sec.\n", + "他就需要睡的比较久\n", + "它就需要睡得比较久\n", + "1990/2707\n", + "1991/2707\n", + "1992/2707\n", + "1993/2707\n", + "Audio time = 3.45 sec.\n", + "Recognition time = 10.498374938964844 sec.\n", + "他每天可能要睡大约十七个小时\n", + "它每天可能要睡大约17个小时\n", + "1994/2707\n", + "1995/2707\n", + "1996/2707\n", + "1997/2707\n", + "Audio time = 4.1 sec.\n", + "Recognition time = 11.285339117050171 sec.\n", + "你的出五毛该来每天睡十二个半小时\n", + "你的宠物猫大概每天睡12个半小时\n", + "1998/2707\n", + "1999/2707\n", + "2000/2707\n", + "2001/2707\n", + "Audio time = 4.45 sec.\n", + "Recognition time = 10.137523889541626 sec.\n", + "我们人类的一般是需要八个小时所有的睡眠\n", + "我们人类一般需要8个小时左右的睡眠\n", + "2002/2707\n", + "2003/2707\n", + "2004/2707\n", + "2005/2707\n", + "Audio time = 2.87 sec.\n", + "Recognition time = 10.034235954284668 sec.\n", + "而有一些动物就睡的比较少比如\n", + "而有一些动物就睡得比较少\n", + "2006/2707\n", + "2007/2707\n", + "2008/2707\n", + "2009/2707\n", + "Audio time = 3.63 sec.\n", + "Recognition time = 9.728991985321045 sec.\n", + "比如说山羊和马\n", + "比如说山羊和马\n", + "2010/2707\n", + "2011/2707\n", + "2012/2707\n", + "2013/2707\n", + "2014/2707\n", + "Audio time = 3.32 sec.\n", + "Recognition time = 10.138468980789185 sec.\n", + "到这里大家可能会很好奇不\n", + "到这里大家可能会很好奇\n", + "2015/2707\n", + "2016/2707\n", + "2017/2707\n", + "2018/2707\n", + "Audio time = 3.18 sec.\n", + "Recognition time = 10.477406978607178 sec.\n", + "或不还有动物睡得更少\n", + "会不会还有动物睡得更少\n", + "2019/2707\n", + "2020/2707\n", + "2021/2707\n", + "2022/2707\n", + "Audio time = 2.58 sec.\n", + "Recognition time = 11.842370986938477 sec.\n", + "甚至是不用睡觉的\n", + "甚至是不用睡觉呢\n", + "2023/2707\n", + "2024/2707\n", + "2025/2707\n", + "2026/2707\n", + "Audio time = 3.25 sec.\n", + "Recognition time = 8.909492015838623 sec.\n", + "也是可能有这样的动物的\n", + "也是可能有这样的动物的\n", + "2027/2707\n", + "2028/2707\n", + "2029/2707\n", + "2030/2707\n", + "Audio time = 5.08 sec.\n" + ] + } + ], + "source": [ + "subtitles = []\n", + "new_subtitles = []\n", + "srtfile = \"data/yixi_original.srt\"\n", + "srtfile_recognized = \"data/yixi.srt\"\n", + "wavfile = \"data/yixi.wav\"\n", + "\n", + "rate, data = read_wav(wavfile)\n", + "\n", + "with open(srtfile, 'r') as f:\n", + " for line in f:\n", + " subtitles.append(line.strip())\n", + "\n", + "j = 0\n", + "for i in range(len(subtitles)):\n", + " print(str(i)+\"/\"+str(len(subtitles)))\n", + " if \"-->\" in subtitles[i]:\n", + " time1, time2 = [timeStamp2Num(x, rate) for x in subtitles[i].split(\" --> \")]\n", + " time1 = max([0, time1-8000])\n", + " time2 = time2+8000\n", + " print(\"Audio time = \"+str((time2-time1)/16000.0)+\" sec.\")\n", + " \n", + " recog_starting_time = time.time()\n", + " currentdata = data[time1:time2]\n", + " if len(currentdata)<100:\n", + " continue\n", + " currentdata = mergeChannels(currentdata)\n", + " if len(currentdata)>160240:\n", + " j+=1\n", + " new_subtitles.append(str(j))\n", + " new_subtitles.append(subtitles[i])\n", + " new_subtitles.append(\"语句太长,识别失败\")\n", + " new_subtitles.append(\"\")\n", + " continue\n", + " currentdata = zero_padding_1d(currentdata, 160240)\n", + " a_seg = AudioSegment(currentdata, rate)\n", + " xs = np.transpose(np.array([af.featurize(a_seg)]), [0,2,1])\n", + " \n", + " pred = model.predict(sess, xs)[0]\n", + " pred_dense = sparseTuples2dense(pred)\n", + " detected_line = []\n", + " for stuff in pred_dense[0]:\n", + " if stuff!=-1:\n", + " detected_line.append(stuff)\n", + " if len(detected_line)<1:\n", + " continue\n", + " pinyin = pyParser.decodeIndices(detected_line, useUnderline = False)\n", + " response = urlopen(\"https://www.google.com/inputtools/request?ime=pinyin&ie=utf-8&oe=utf-8&app=translate&num=10&text=\"+pinyin)\n", + " html = response.read()\n", + " result = (html.decode('utf8')).split(\",\")[2][2:-1]\n", + " \n", + " print(\"Recognition time = \"+str(time.time()-recog_starting_time)+\" sec.\")\n", + " print(result)\n", + " print(subtitles[i+1])\n", + " \n", + " j+=1\n", + " new_subtitles.append(str(j))\n", + " new_subtitles.append(subtitles[i])\n", + " new_subtitles.append(result)\n", + " new_subtitles.append(\"\")\n", + "\n", + "new_subtitles = new_subtitles[:-1]\n", + "with open(srtfile_recognized, 'w+') as f:\n", + " for line in new_subtitles:\n", + " f.write(line+\"\\n\")\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# 去掉空格,改数字,英文,和“他,她,它”\n", + "subtitles = []\n", + "new_subtitles = []\n", + "srtfile = \"data/zongli_original.srt\"\n", + "srtfile_recognized = \"data/zongli.srt\"\n", + "wavfile = \"data/zongli.wav\"\n", + "\n", + "rate, data = read_wav(wavfile)\n", + "\n", + "with open(srtfile, 'r') as f:\n", + " for line in f:\n", + " subtitles.append(line.strip())\n", + "\n", + "j = 0\n", + "for i in range(len(subtitles))):\n", + " print(str(i)+\"/\"+str(len(subtitles)))\n", + " if \"-->\" in subtitles[i]:\n", + " time1, time2 = [timeStamp2Num(x, rate) for x in subtitles[i].split(\" --> \")]\n", + " time1 = max([0, time1-8000])\n", + " time2 = time2+8000\n", + " \n", + " currentdata = data[time1:time2]\n", + " if len(currentdata)<100:\n", + " continue\n", + " currentdata = mergeChannels(currentdata)\n", + " if len(currentdata)>160240:\n", + " j+=1\n", + " new_subtitles.append(str(j))\n", + " new_subtitles.append(subtitles[i])\n", + " new_subtitles.append(subtitles[i+1])\n", + " new_subtitles.append(\"\")\n", + " continue\n", + " currentdata = zero_padding_1d(currentdata, 160240)\n", + " a_seg = AudioSegment(currentdata, rate)\n", + " xs = np.transpose(np.array([af.featurize(a_seg)]), [0,2,1])\n", + " \n", + " pred = model.predict(sess, xs)[0]\n", + " pred_dense = sparseTuples2dense(pred)\n", + " detected_line = []\n", + " for stuff in pred_dense[0]:\n", + " if stuff!=-1:\n", + " detected_line.append(stuff)\n", + " if len(detected_line)<1:\n", + " continue\n", + " pinyin = pyParser.decodeIndices(detected_line, useUnderline = False)\n", + " response = urlopen(\"https://www.google.com/inputtools/request?ime=pinyin&ie=utf-8&oe=utf-8&app=translate&num=10&text=\"+pinyin)\n", + " html = response.read()\n", + " result = (html.decode('utf8')).split(\",\")[2][2:-1]\n", + " \n", + " print(result)\n", + " print(subtitles[i+1])\n", + " \n", + " j+=1\n", + " new_subtitles.append(str(j))\n", + " new_subtitles.append(subtitles[i])\n", + " new_subtitles.append(result)\n", + " new_subtitles.append(\"\")\n", + "\n", + "new_subtitles = new_subtitles[:-1]\n", + "with open(srtfile_recognized, 'w+') as f:\n", + " for line in new_subtitles:\n", + " f.write(line+\"\\n\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "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.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/subtitle_demo.py b/subtitle_demo.py new file mode 100644 index 0000000..9a800bf --- /dev/null +++ b/subtitle_demo.py @@ -0,0 +1,57 @@ +import os +import time +import warnings +warnings.filterwarnings("ignore", message="numpy.dtype size changed") +warnings.filterwarnings("ignore", message="numpy.ufunc size changed") +with warnings.catch_warnings(): + warnings.simplefilter("ignore") + import tensorflow as tf +import numpy as np +from urllib.request import urlopen + +from lib.tools_batch import * +from lib.tools_math import * +from lib.tools_sparse import * +from lib.contrib.audio_featurizer import AudioFeaturizer +from lib.contrib.audio import AudioSegment +from model901 import * +model_name = "v901" + +def timeStamp2Num(timeStamp, rate): + """ + timeStamp str: 00:00:01,879 + rate int: the sampling rate + return int + """ + secs, millisec = timeStamp.split(",") + hour, minute, sec = secs.split(":") + millisec = float(millisec)*0.001 + sec = float(hour)*3600+float(minute)*60+float(sec) + num = int(rate*(sec+millisec)) + return num + +pyParser = pinyinParser("lib/pinyinDictNoTone.pickle") +model = model(409) +af = AudioFeaturizer() + +with tf.Session() as sess: + saver = tf.train.Saver() + saver.restore(sess, "models/"+model_name+"/"+model_name+"_0.ckpt") + + rate, data = read_wav("data/test.wav") + data = mergeChannels(data) + data = zero_padding_1d(data, 160240) + a_seg = AudioSegment(data, rate) + xs = np.transpose(np.array([af.featurize(a_seg)]), [0,2,1]) + + pred = model.predict(sess, xs)[0] + pred_dense = sparseTuples2dense(pred) + detected_line = [] + for stuff in pred_dense[0]: + if stuff!=-1: + detected_line.append(stuff) + pinyin = pyParser.decodeIndices(detected_line, useUnderline = False) + print(pinyin) + response = urlopen("https://www.google.com/inputtools/request?ime=pinyin&ie=utf-8&oe=utf-8&app=translate&num=10&text="+pinyin) + html = response.read() + result = html.split(",")[2][2:-1] diff --git a/test_audio.wav b/test_audio.wav new file mode 100644 index 0000000000000000000000000000000000000000..97caa74ffca10d0dfc784cc40c77056a3706d22e GIT binary patch literal 244748 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ȌTikq66mWvi>D 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%0DuRPa&I0}<6IeG0hdTJ^JiXS97{XThw*?XkBa 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 Nxw`1Gh+@8||9`hD-N66= literal 0 HcmV?d00001 diff --git a/train901.py b/train901.py new file mode 100644 index 0000000..1266e0b --- /dev/null +++ b/train901.py @@ -0,0 +1,74 @@ +import os +os.environ["CUDA_VISIBLE_DEVICES"] = input("Which GPU? ") +import time +import warnings +warnings.filterwarnings("ignore", message="numpy.dtype size changed") +warnings.filterwarnings("ignore", message="numpy.ufunc size changed") +with warnings.catch_warnings(): + warnings.simplefilter("ignore") + import tensorflow as tf +import numpy as np + +from lib.tools_batch import * +from lib.tools_math import * +from model901 import * + +def get_learningRate(step): + # return max(4e-4*(0.99999**step), 2e-5) + return 2e-4 + +TEST_ROUND = 1 +BATCH_SIZE = 128 +TEST_SIZE = 16 +AUGMENTATION = True +NUM_STEP = int(1e7) + +model_name = "v901" +saving_period = 200 +num_labels = 407 +num_class = 409 +bg = BatchGetter("../data/data_aishell/wav", "../data/data_aishell/transcript/aishell_transcript_v0.8.txt", + "lib/pinyinDictNoTone.pickle", "../data/backgrounds/", server = True) +bg2 = BatchGetter("../data/youtube_subtitles/wav", "../data/youtube_subtitles/subs.txt", + "lib/pinyinDictNoTone.pickle", "../data/backgrounds/", server = True) +pyParser = pinyinParser("lib/pinyinDictNoTone.pickle") +model = model(num_class) +if model_name not in os.listdir('models/'): + os.mkdir('models/'+model_name) + +gpu_options = tf.GPUOptions(allow_growth=True) +with tf.Session(config=tf.ConfigProto(gpu_options=gpu_options,allow_soft_placement=True,log_device_placement=False)) as sess: + + sess.run(tf.global_variables_initializer()) + saver = tf.train.Saver() + # tensorboard --logdir logs/ + summary_writer = tf.summary.FileWriter(logdir = "logs", graph = tf.get_default_graph()) + saver.restore(sess, "models/"+model_name+"/"+model_name+"_0.ckpt") + + for i in range(1, NUM_STEP+1): + + lr = get_learningRate(i) + if i%2==0: + xs, ys = bg.get_batch(BATCH_SIZE, batch_type = 'train') + else: + xs, ys = bg2.get_batch(BATCH_SIZE, batch_type = 'train') + loss, summary = model.train(sess, lr, xs, ys) + summary_writer.add_summary(summary, i) + print(i, loss) + + if i%saving_period == 0: + print("Learning rate =", lr) + save_path = saver.save(sess, "models/"+model_name+"/"+model_name+"_"+str(int(i/50000))+".ckpt") + print("Model saved in path: "+save_path) + + ave_loss = 0.0 + for i in range(2): + if i==0: + xs, ys = bg.get_batch(TEST_SIZE, batch_type = 'test', augmentation = False) + else: + xs, ys = bg2.get_batch(TEST_SIZE, batch_type = 'test', augmentation = False) + loss = model.get_loss(sess, xs, ys) + pred = model.predict(sess, xs)[0] + report_accuracy(pred, ys, pyParser) + ave_loss+=loss + print("Test Loss = "+str(ave_loss/float(TEST_ROUND))) diff --git a/train902.py b/train902.py new file mode 100644 index 0000000..68dfb37 --- /dev/null +++ b/train902.py @@ -0,0 +1,74 @@ +import os +os.environ["CUDA_VISIBLE_DEVICES"] = input("Which GPU? ") +import time +import warnings +warnings.filterwarnings("ignore", message="numpy.dtype size changed") +warnings.filterwarnings("ignore", message="numpy.ufunc size changed") +with warnings.catch_warnings(): + warnings.simplefilter("ignore") + import tensorflow as tf +import numpy as np + +from lib.tools_batch import * +from lib.tools_math import * +from model902 import * + +def get_learningRate(step): + # return max(4e-4*(0.99999**step), 2e-5) + return 2e-4 + +TEST_ROUND = 1 +BATCH_SIZE = 64 +TEST_SIZE = 16 +AUGMENTATION = True +NUM_STEP = int(1e7) + +model_name = "v902" +saving_period = 200 +num_labels = 407 +num_class = 409 +bg = BatchGetter("../data/data_aishell/wav", "../data/data_aishell/transcript/aishell_transcript_v0.8.txt", + "lib/pinyinDictNoTone.pickle", "../data/backgrounds/", server = True) +bg2 = BatchGetter("../data/youtube_subtitles/wav", "../data/youtube_subtitles/subs.txt", + "lib/pinyinDictNoTone.pickle", "../data/backgrounds/", server = True) +pyParser = pinyinParser("lib/pinyinDictNoTone.pickle") +model = model(num_class) +if model_name not in os.listdir('models/'): + os.mkdir('models/'+model_name) + +gpu_options = tf.GPUOptions(allow_growth=True) +with tf.Session(config=tf.ConfigProto(gpu_options=gpu_options,allow_soft_placement=True,log_device_placement=False)) as sess: + + sess.run(tf.global_variables_initializer()) + saver = tf.train.Saver() + # tensorboard --logdir logs/ + summary_writer = tf.summary.FileWriter(logdir = "logs", graph = tf.get_default_graph()) + saver.restore(sess, "models/"+model_name+"/"+model_name+"_0.ckpt") + + for i in range(1, NUM_STEP+1): + + lr = get_learningRate(i) + if i%2==0: + xs, ys = bg.get_batch(BATCH_SIZE, batch_type = 'train') + else: + xs, ys = bg2.get_batch(BATCH_SIZE, batch_type = 'train') + loss, summary = model.train(sess, lr, xs, ys) + summary_writer.add_summary(summary, i) + print(i, loss) + + if i%saving_period == 0: + print("Learning rate =", lr) + save_path = saver.save(sess, "models/"+model_name+"/"+model_name+"_"+str(int(i/50000))+".ckpt") + print("Model saved in path: "+save_path) + + ave_loss = 0.0 + for i in range(2): + if i==0: + xs, ys = bg.get_batch(TEST_SIZE, batch_type = 'test', augmentation = False) + else: + xs, ys = bg2.get_batch(TEST_SIZE, batch_type = 'test', augmentation = False) + loss = model.get_loss(sess, xs, ys) + pred = model.predict(sess, xs)[0] + report_accuracy(pred, ys, pyParser) + ave_loss+=loss + print("Test Loss = "+str(ave_loss/float(TEST_ROUND))) diff --git a/train903.py b/train903.py new file mode 100644 index 0000000..cf46f1a --- /dev/null +++ b/train903.py @@ -0,0 +1,74 @@ +import os +os.environ["CUDA_VISIBLE_DEVICES"] = input("Which GPU? ") +import time +import warnings +warnings.filterwarnings("ignore", message="numpy.dtype size changed") +warnings.filterwarnings("ignore", message="numpy.ufunc size changed") +with warnings.catch_warnings(): + warnings.simplefilter("ignore") + import tensorflow as tf +import numpy as np + +from lib.tools_batch import * +from lib.tools_math import * +from model903 import * + +def get_learningRate(step): + # return max(4e-4*(0.99999**step), 2e-5) + return 2e-4 + +TEST_ROUND = 1 +BATCH_SIZE = 32 +TEST_SIZE = 16 +AUGMENTATION = True +NUM_STEP = int(1e7) + +model_name = "v903" +saving_period = 200 +num_labels = 407 +num_class = 409 +bg = BatchGetter("../data/data_aishell/wav", "../data/data_aishell/transcript/aishell_transcript_v0.8.txt", + "lib/pinyinDictNoTone.pickle", "../data/backgrounds/", server = True) +bg2 = BatchGetter("../data/youtube_subtitles/wav", "../data/youtube_subtitles/subs.txt", + "lib/pinyinDictNoTone.pickle", "../data/backgrounds/", server = True) +pyParser = pinyinParser("lib/pinyinDictNoTone.pickle") +model = model(num_class) +if model_name not in os.listdir('models/'): + os.mkdir('models/'+model_name) + +gpu_options = tf.GPUOptions(allow_growth=True) +with tf.Session(config=tf.ConfigProto(gpu_options=gpu_options,allow_soft_placement=True,log_device_placement=False)) as sess: + + sess.run(tf.global_variables_initializer()) + saver = tf.train.Saver() + # tensorboard --logdir logs/ + summary_writer = tf.summary.FileWriter(logdir = "logs", graph = tf.get_default_graph()) + saver.restore(sess, "models/"+model_name+"/"+model_name+"_0.ckpt") + + for i in range(1, NUM_STEP+1): + + lr = get_learningRate(i) + if i%2==0: + xs, ys = bg.get_batch(BATCH_SIZE, batch_type = 'train') + else: + xs, ys = bg2.get_batch(BATCH_SIZE, batch_type = 'train') + loss, summary = model.train(sess, lr, xs, ys) + summary_writer.add_summary(summary, i) + print(i, loss) + + if i%saving_period == 0: + print("Learning rate =", lr) + save_path = saver.save(sess, "models/"+model_name+"/"+model_name+"_"+str(int(i/50000))+".ckpt") + print("Model saved in path: "+save_path) + + ave_loss = 0.0 + for i in range(2): + if i==0: + xs, ys = bg.get_batch(TEST_SIZE, batch_type = 'test', augmentation = False) + else: + xs, ys = bg2.get_batch(TEST_SIZE, batch_type = 'test', augmentation = False) + loss = model.get_loss(sess, xs, ys) + pred = model.predict(sess, xs)[0] + report_accuracy(pred, ys, pyParser) + ave_loss+=loss + print("Test Loss = "+str(ave_loss/float(TEST_ROUND)))