# US 10,319,353 B2 · Method for audio sample playback using mapped impulse responses

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,319,353 B2
- Document ID: US10319353B2
- Status: Granted
- Kind: B2
- Application number: 15/694,667
- Filed: 2017-09-01
- Published: 2018-03-01
- Granted: 2019-06-11
- Earliest claimed: 2016-09-01
- Assignees: The Stone Family Trust of 1992
- Applicants: The Stone Family Trust of 1992
- Inventors: Christopher L. Stone
- Web page: https://patentgrep.com/patent/US10319353B2

## CPC

- G10H 1/0091: {Means for obtaining special acoustic effects (combined with modulation G10H1/043)}
- G06F 16/61: Indexing; Data structures therefor; Storage structures
- G10H 1/02: Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
- G10H 1/08: by combining tones (G10H1/14, G10H1/16 take precedence; chord G10H1/38)
- G10H 3/125: {Extracting or recognising the pitch or fundamental frequency of the picked up signal}
- G10H 5/02: using generation of basic tones
- G10H 7/10: using coefficients or parameters stored in a memory, e.g. Fourier coefficients (G10H7/12 takes precedence)
- G10H 2240/145: Sound library, i.e. involving the specific use of a musical database as a sound bank or wavetable; indexing, interfacing, protocols or processing therefor
- G10H 2250/235: Fourier transform; Discrete Fourier Transform [DFT]; Fast Fourier Transform [FFT]
- G10L 25/51: for comparison or discrimination
- G10L 25/93: Discriminating between voiced and unvoiced parts of speech signals (G10L25/90 takes precedence)
- G10H: ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

A sample library for sample notes, wherein each note has been samples at a plurality of dynamic layers, each note having a main sample and a plurality of impulse response samples. Each impulse response sample corresponding to a deconvolution of the main note and one corresponding dynamic layer sample. During playback of a note the main sample is convoluted with a corresponding impulse response sample to produce a simulated target note.

## Claims

### Claim 1

A method for constructing an audio sample library stored in a digital form, comprising:
obtaining a plurality of main samples, each main sample corresponding to a respective sound, and storing the plurality of main samples in digital form;
generating a plurality of impulse response (IR) samples by a deconvolution of a selected main sample and a sample of a target note, the target note reflecting a different dynamic level of the selected main sample, and storing the plurality of IR samples in digital form;
mapping each IR sample to the selected main sample of the plurality of main samples;
wherein each of the plurality of main samples comprises a sample recording of a note having highest frequency information among a plurality of sample recordings of the note, each having a different dynamic level.

### Claim 2 (depends on 1)

The method of claim 1, further comprising storing a plurality of attack recordings, each attack recording being mapped to one of the IR samples.

### Claim 3 (depends on 2)

The method of claim 2, wherein each of the plurality of attack recordings comprises an IR signal of an attack.

### Claim 4 (depends on 1)

The method of claim 1, wherein each of the IR samples is stored in a time domain.

### Claim 5 (depends on 1)

The method of claim 1, wherein each of the IR samples is mapped onto one of volume control values.

### Claim 6 (depends on 4)

The method of claim 4, wherein each of the IR samples further comprises a DC offset and a Nyquist frequency.

### Claim 7 (depends on 1)

The method of claim 1, wherein each of the IR samples comprises a deconvolution of a spectral average of the selected main sample and a spectral average of the target note.

### Claim 8

A method for constructing and operating a music sample library, comprising:
obtaining a plurality of samples;
dividing the plurality of samples into a plurality of sub-samples, each sub-sample comprising a plurality of recorded samples corresponding to a single note of a single musical instrument, wherein each of the plurality of recorded samples comprises a dynamic level of the single note;
for each of the sub-samples performing the steps:
determining the recorded sample having highest level of frequency information within the sub-sample and designating that sample as main sample, and designating the remaining recorded samples as target samples;
calculating a plurality of impulse response (IR) signals by deconvoluting each of the target samples with the main sample;
storing the main sample and the IR signals.

### Claim 9 (depends on 8)

The method of claim 8, wherein calculating a plurality of IR signals further comprises calculating spectral average of each main sample and target sample.

### Claim 10 (depends on 9)

The method of claim 9, wherein calculating a plurality of IR signals further comprises applying fast Fourier transform to each of the spectral average of each main sample and target sample.

### Claim 11 (depends on 10)

The method of claim 10, further comprising windowing each of the spectral average of each main sample and target sample prior to performing the fast Fourier transform.

### Claim 12 (depends on 11)

The method of claim 11, wherein the step of windowing includes setting to zero start and end of each of a stored time-domain of the spectral average of each main sample and target sample.

### Claim 13 (depends on 11)

The method of claim 11, wherein the step of windowing comprises applying Hamming windowing.

### Claim 14 (depends on 8)

The method of claim 8, wherein calculating each IR signal comprises:
performing FFTs on successive segments of the main sample at selected intervals to thereby obtain a frequency domain representation of each segment of the main sample;
performing FFTs on successive segments of the target sample at selected intervals to thereby obtain a frequency domain representation of each segment of the target sample;
averaging all of the frequency domain representations of the segments of the main sample to thereby create a spectral average of the main sample;
averaging all of the frequency domain representations of the segments of the target sample to thereby create a spectral average of the target sample;
applying inverse FFT to the spectral average of the main sample to thereby obtain a time domain representation of the spectral average of the main sample;
applying inverse FFT to the spectral average of the target sample to thereby obtain a time domain representation of the spectral average of the target sample;
applying a windowing function to the time domain representations of the spectral averages of the main sample;
applying a windowing function to the time domain representations of the spectral averages of the target sample;
applying FFT to the windowed time domain representations of the spectral averages of the main sample, to obtain frequency domain data of the main sample;
applying FFT to the windowed time domain representations of the spectral averages of the target sample, to obtain frequency domain data of the target sample;
deconvolving the frequency domain data of the main sample and the frequency domain data of the target sample, to thereby obtain frequency domain representation of the IR;
applying an inverse FFT to the frequency domain representation of the IR, to thereby produce a time domain representation of the IR signals;
storing time domain representation of the IR signals in correspondence to the main sample.

### Claim 15 (depends on 8)

The method of claim 8, wherein the step of calculating a plurality of impulse response signals is performed in a frequency domain, and wherein each IR signal is transformed into time domain prior to performing the storing step.

### Claim 16 (depends on 8)

The method of claim 8, further comprising storing an initial segment of each of the target samples, wherein the initial segment corresponds to an attack portion of the target sample.

### Claim 17 (depends on 8)

The method of claim 8, wherein whenever receiving a command to play a target sample, performing further steps comprising:
fetching a corresponding main sample;
fetching a corresponding IR signal;
convoluting the corresponding main sample and the corresponding IR signal to thereby generate a simulated target sample;
outputting the simulated target sample.

### Claim 18 (depends on 16)

The method of claim 16, wherein whenever receiving a command to play a target sample, performing further steps comprising:
fetching a corresponding main sample;
fetching a corresponding initial segment;
fetching a corresponding IR signal;
convoluting the corresponding main sample and the corresponding IR signal to thereby generate a simulated target sample;
outputting the initial segment first and then outputting the simulated target sample.

### Claim 19 (depends on 18)

The method of claim 18, further comprising crossfading the initial segment and the simulated target sample.
