Neurostimulation systems and methods
The present application discloses and describes neurostimulation systems and methods that include, among other features, (i) neural stimulation through audio with dynamic modulation characteristics, (ii) audio content serving and creation based on modulation characteristics, (iii) extending audio tracks while avoiding audio discontinuities, and (iv) non-auditory neurostimulation and methods, including non-auditory neurostimulation for anesthesia recovery.
1. Tangible, non-transitory computer-readable media comprising program instructions, wherein the program instructions, when executed by one or more processors, cause a computing system to perform functions comprising:
segmenting an individual audio track into a plurality of audio segments;
determining similarities between individual audio segments of the plurality of audio segments;
after receiving a request to generate an extended audio track, generating the extended audio track in an ongoing manner until determining to stop generating the extended audio track such that the extended audio track has a duration that is longer than a duration of the individual audio track from which the extended audio track was generated, wherein generating the extended audio track comprises joining together at least a first portion of the individual audio track that includes a first audio segment with a second portion of the individual audio track that includes a second audio segment, and wherein the joining together is based at least in part on one or more similarities between the first audio segment and the second audio segment;
generating a modulated extended audio track by modulating one or more frequency components of the extended audio track; and
while generating the modulated extended audio track by modulating one or more frequency components of the extended audio track, varying one or more modulation characteristics based at least in part on one or more sensor inputs, wherein the modulation characteristics comprise one or more of modulation rate, phase, depth, or waveform shape.
2. The tangible, non-transitory computer-readable media of claim 1 , wherein generating the modulated extended audio track comprises modulating one or more frequency components of the extended audio track according to a first stimulation protocol.
3. The tangible, non-transitory computer-readable media of claim 1 , wherein generating the modulated extended audio track is based at least in part on one or more sensor inputs and on a mapping of sensor-input values and modulation-characteristic values, wherein individual sensor-input values correspond to respective modulation-characteristic values.
4. The tangible, non-transitory computer-readable media of claim 1 , wherein varying one or more modulation characteristics based at least in part on the one or more sensor inputs is based on a mapping of sensor-input values and modulation-characteristic values, wherein individual sensor-input values correspond to respective modulation-characteristic values.
5. The tangible, non-transitory computer-readable media of claim 1 , wherein the functions further comprise:
while generating the modulated extended audio track, switch from generating the modulated extended audio track according to a first stimulation protocol to generating the modulated extended audio track according to a second stimulation protocol after receiving one or more inputs, wherein the one or more inputs comprise at least one of (i) a user input or (ii) a sensor input.
6. The tangible, non-transitory computer-readable media of claim 1 , wherein the first portion of audio and the second portion of audio comprise overlapping portions of the individual audio track.
7. The tangible, non-transitory computer-readable media of claim 1 , wherein the individual audio track is a first audio track in a group of two or more audio tracks comprising the first audio track and a second audio track, and wherein generating the extended audio track further comprises:
joining together a portion of the first audio track with a portion of the second audio track based at least in part on one or more similarities between an audio segment of the first audio track and an audio segment of the second audio track.
8. The tangible, non-transitory computer-readable media of claim 1 , wherein the functions further comprise:
causing playback of the modulated extended audio track via one or more speakers.
9. The tangible, non-transitory computer-readable media of claim 1 , wherein determining to stop generating the extended audio track comprises one of (i) determining that the computing system has been generating the extended audio track for a pre-configured duration of time or (ii) determining that the computing system has received a command to stop generating the extended audio track.
10. The tangible, non-transitory computer-readable media of claim 1 , wherein determining similarities between individual audio segments of the plurality of audio segments comprises:
for individual audio segments, cross-correlating a feature vector corresponding to the individual audio segment with feature vectors corresponding to other audio segments in the plurality of audio segments;
generating a self-similarity matrix based on the cross-correlations that represents similarities between the individual audio segments; and
selecting a first audio segment from the plurality of audio segments to join together with a second audio segment of the plurality of audio segments based on one or more similarities between one or more aspects of the first audio segment and one or more aspects of the second audio segment represented in the self-similarity matrix.
11. The tangible, non-transitory computer-readable media of claim 1 , wherein the functions further comprise:
detecting one or more sensor inputs from one or more sensors, wherein the one or more sensors comprise at least one of an inertial sensor, a microphone, a camera, or a physiological sensor.
12. The tangible, non-transitory computer-readable media of claim 1 , wherein the computing system comprises one or more of a smartphone or a computer server in communication with a smartphone.
13. A method performed by a computing system, the method comprising:
segmenting an individual audio track into a plurality of audio segments;
determining similarities between individual audio segments of the plurality of audio segments;
after receiving a request to generate an extended audio track, generating the extended audio track in an ongoing manner until determining to stop generating the extended audio track such that the extended audio track has a duration that is longer than a duration of the individual audio track from which the extended audio track was generated, wherein generating the extended audio track comprises joining together at least a first portion of the individual audio track that includes a first audio segment with a second portion of the individual audio track that includes a second audio segment, and wherein the joining together is based at least in part on one or more similarities between the first audio segment and the second audio segment;
generating a modulated extended audio track by modulating one or more frequency components of the extended audio track; and
while generating the modulated extended audio track by modulating one or more frequency components of the extended audio track, varying one or more modulation characteristics based at least in part on one or more sensor inputs, wherein the modulation characteristics comprise one or more of modulation rate, phase, depth, or waveform shape.
14. The method of claim 13 , wherein generating the modulated extended audio track comprises modulating one or more frequency components of the extended audio track according to a first stimulation protocol.
15. The method of claim 13 , wherein:
generating the modulated extended audio track is based at least in part on one or more sensor inputs and on a mapping of sensor-input values and modulation-characteristic values, wherein individual sensor-input values correspond to respective modulation-characteristic values; and
varying one or more modulation characteristics based at least in part on the one or more sensor inputs is based on a mapping of sensor-input values and modulation-characteristic values, wherein individual sensor-input values correspond to respective modulation-characteristic values.
16. The method of claim 13 , further comprising:
while generating the modulated extended audio track, switch from generating the modulated extended audio track according to a first stimulation protocol to generating the modulated extended audio track according to a second stimulation protocol after receiving one or more inputs, wherein the one or more inputs comprise at least one of (i) a user input or (ii) a sensor input.
17. The method of claim 13 , wherein the first portion of audio and the second portion of audio comprise overlapping portions of the individual audio track.
18. The method of claim 13 , wherein the individual audio track is a first audio track in a group of two or more audio tracks comprising the first audio track and a second audio track, and wherein generating the extended audio track further comprises:
joining together a portion of the first audio track with a portion of the second audio track based at least in part on one or more similarities between an audio segment of the first audio track and an audio segment of the second audio track.
19. The method of claim 13 , wherein determining to stop generating the extended audio track comprises one of (i) determining that the computing system has been generating the extended audio track for a pre-configured duration of time or (ii) determining that the computing system has received a command to stop generating the extended audio track.
20. The method of claim 13 , wherein determining similarities between individual audio segments of the plurality of audio segments comprises:
for individual audio segments, cross-correlating a feature vector corresponding to the individual audio segment with feature vectors corresponding to other audio segments in the plurality of audio segments;
generating a self-similarity matrix based on the cross-correlations that represents similarities between the individual audio segments; and
selecting a first audio segment from the plurality of audio segments to join together with a second audio segment of the plurality of audio segments based on one or more similarities between one or more aspects of the first audio segment and one or more aspects of the second audio segment represented in the self-similarity matrix.