echogarden 0.11.8 → 0.11.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,74 +9,85 @@
9
9
  //
10
10
  // MDN documentation:
11
11
  // https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode
12
- import { clip } from "../utilities/Utilities.js";
13
- export function lowpassFilter(rawAudio, cutoffFrequency, q = 0.7071) {
14
- return filter(rawAudio, "lowpass", cutoffFrequency, 0, q);
12
+ export function createLowpassFilter(sampleRate, cutoffFrequency, q = 0.7071) {
13
+ return createFilter("lowpass", sampleRate, cutoffFrequency, q, 0);
15
14
  }
16
- export function highpassFilter(rawAudio, cutoffFrequency, q = 0.7071) {
17
- return filter(rawAudio, "highpass", cutoffFrequency, 0, q);
15
+ export function createHighpassFilter(sampleRate, cutoffFrequency, q = 0.7071) {
16
+ return createFilter("highpass", sampleRate, cutoffFrequency, q, 0);
18
17
  }
19
- export function bandpassFilter(rawAudio, centerFrequency, q = 1) {
20
- return filter(rawAudio, "bandpass", centerFrequency, 0, q);
18
+ export function createBandpassFilter(sampleRate, centerFrequency, q = 1) {
19
+ return createFilter("bandpass", sampleRate, centerFrequency, q, 0);
21
20
  }
22
- export function lowshelfFilter(rawAudio, midpointFrequency, gain) {
23
- return filter(rawAudio, "lowshelf", midpointFrequency, gain, 0);
21
+ export function createLowshelfFilter(sampleRate, midpointFrequency, gain) {
22
+ return createFilter("lowshelf", sampleRate, midpointFrequency, 0, gain);
24
23
  }
25
- export function highshelfFilter(rawAudio, midpointFrequency, gain) {
26
- return filter(rawAudio, "highshelf", midpointFrequency, gain, 0);
24
+ export function createHighshelfFilter(sampleRate, midpointFrequency, gain) {
25
+ return createFilter("highshelf", sampleRate, midpointFrequency, 0, gain);
27
26
  }
28
- export function peakingFilter(rawAudio, centerFrequency, gain, q = 1) {
29
- return filter(rawAudio, "peaking", centerFrequency, gain, q);
27
+ export function createPeakingFilter(sampleRate, centerFrequency, q = 1, gain = 0) {
28
+ return createFilter("peaking", sampleRate, centerFrequency, q, gain);
30
29
  }
31
- export function notchFilter(rawAudio, centerFrequency, q = 1) {
32
- return filter(rawAudio, "notch", centerFrequency, 0, q);
30
+ export function createNotchFilter(sampleRate, centerFrequency, q = 1) {
31
+ return createFilter("notch", sampleRate, centerFrequency, q, 0);
33
32
  }
34
- export function allpassFilter(rawAudio, centerFrequency, q = 1) {
35
- return filter(rawAudio, "allpass", centerFrequency, 0, q);
33
+ export function createAllpassFilter(sampleRate, centerFrequency, q = 1) {
34
+ return createFilter("allpass", sampleRate, centerFrequency, q, 0);
36
35
  }
37
- export function filter(rawAudio, filterType, frequency, gain, q) {
38
- const sampleRate = rawAudio.sampleRate;
39
- const filteredAudio = { audioChannels: [], sampleRate };
40
- const coefficients = createFilter(filterType, sampleRate, frequency, q, gain);
41
- for (let channelIndex = 0; channelIndex < rawAudio.audioChannels.length; channelIndex++) {
42
- const channelSamples = rawAudio.audioChannels[channelIndex];
43
- const filteredSamples = filterUsingCoefficients(channelSamples, coefficients);
44
- filteredAudio.audioChannels.push(filteredSamples);
45
- }
46
- return filteredAudio;
36
+ export function createFilter(filterType, sampleRate, frequency, q, gain) {
37
+ const coefficients = getFilterCoefficients(filterType, sampleRate, frequency, q, gain);
38
+ return new BiquadFilter(coefficients);
47
39
  }
48
- export function filterUsingCoefficients(samples, filterCoefficients) {
49
- const sampleCount = samples.length;
50
- const filteredSamples = new Float32Array(sampleCount);
51
- if (sampleCount < 2) {
52
- return filteredSamples;
40
+ export class BiquadFilter {
41
+ b0 = 0;
42
+ b1 = 0;
43
+ b2 = 0;
44
+ a1 = 0;
45
+ a2 = 0;
46
+ prevInput1 = 0;
47
+ prevInput2 = 0;
48
+ prevOutput1 = 0;
49
+ prevOutput2 = 0;
50
+ constructor(coefficients) {
51
+ this.setCoefficients(coefficients);
52
+ }
53
+ step(sample) {
54
+ const filteredSample = (this.b0 * sample) +
55
+ (this.b1 * this.prevInput1) +
56
+ (this.b2 * this.prevInput2) -
57
+ (this.a1 * this.prevOutput1) -
58
+ (this.a2 * this.prevOutput2);
59
+ this.prevInput2 = this.prevInput1;
60
+ this.prevInput1 = sample;
61
+ this.prevOutput2 = this.prevOutput1;
62
+ this.prevOutput1 = filteredSample;
63
+ return filteredSample;
64
+ }
65
+ apply(samples) {
66
+ for (let i = 0; i < samples.length; i++) {
67
+ samples[i] = this.step(samples[i]);
68
+ }
69
+ }
70
+ reset() {
71
+ this.prevInput1 = 0;
72
+ this.prevInput2 = 0;
73
+ this.prevOutput1 = 0;
74
+ this.prevOutput2 = 0;
53
75
  }
54
- const b0 = filterCoefficients.b0;
55
- const b1 = filterCoefficients.b1;
56
- const b2 = filterCoefficients.b2;
57
- const a1 = filterCoefficients.a1;
58
- const a2 = filterCoefficients.a2;
59
- // Prime the pump. (Assumes the signal has length >= 2!)
60
- filteredSamples[0] = b0 * samples[0];
61
- filteredSamples[1] = (b0 * samples[1]) + (b1 * samples[0]) - (a1 * filteredSamples[0]);
62
- // Filter
63
- for (let i = 2; i < sampleCount; i++) {
64
- filteredSamples[i] =
65
- (b0 * samples[i]) +
66
- (b1 * samples[i - 1]) +
67
- (b2 * samples[i - 2]) -
68
- (a1 * filteredSamples[i - 1]) -
69
- (a2 * filteredSamples[i - 2]);
76
+ setCoefficients(coefficients) {
77
+ this.b0 = coefficients.b0;
78
+ this.b1 = coefficients.b1;
79
+ this.b2 = coefficients.b2;
80
+ this.a1 = coefficients.a1;
81
+ this.a2 = coefficients.a2;
70
82
  }
71
- return filteredSamples;
72
83
  }
73
- export function createFilter(filterType, sampleRate, centerFrequency, q, gain) {
84
+ export function getFilterCoefficients(filterType, sampleRate, centerFrequency, q, gain) {
74
85
  const nyquistFrequency = sampleRate / 2;
75
- const freqRatio = clip(centerFrequency / nyquistFrequency, 0, 1);
76
- return filterCreatorFunction[filterType](freqRatio, q, gain);
86
+ const freqRatio = clamp(centerFrequency / nyquistFrequency, 0, 1);
87
+ return filterCoefficientsFunction[filterType](freqRatio, q, gain);
77
88
  }
78
89
  // Lowpass filter.
79
- export function createLowpassFilter(freqRatio, q, gain) {
90
+ export function getLowpassFilterCoefficients(freqRatio, q, gain) {
80
91
  let b0;
81
92
  let b1;
82
93
  let b2;
@@ -107,7 +118,7 @@ export function createLowpassFilter(freqRatio, q, gain) {
107
118
  }
108
119
  return normalizeFilterCoefficients(b0, b1, b2, a0, a1, a2);
109
120
  }
110
- function createHighpassFilter(freqRatio, q, gain) {
121
+ function getHighpassFilterCoefficients(freqRatio, q, gain) {
111
122
  let b0;
112
123
  let b1;
113
124
  let b2;
@@ -148,7 +159,7 @@ function createHighpassFilter(freqRatio, q, gain) {
148
159
  }
149
160
  return normalizeFilterCoefficients(b0, b1, b2, a0, a1, a2);
150
161
  }
151
- function createBandpassFilter(freqRatio, q, gain) {
162
+ function getBandpassFilterCoefficients(freqRatio, q, gain) {
152
163
  let b0;
153
164
  let b1;
154
165
  let b2;
@@ -183,7 +194,7 @@ function createBandpassFilter(freqRatio, q, gain) {
183
194
  }
184
195
  return coefficients;
185
196
  }
186
- function createLowShelfFilter(freqRatio, q, gain) {
197
+ function getLowShelfFilterCoefficients(freqRatio, q, gain) {
187
198
  // q not used
188
199
  let b0;
189
200
  let b1;
@@ -219,7 +230,7 @@ function createLowShelfFilter(freqRatio, q, gain) {
219
230
  }
220
231
  return coefficients;
221
232
  }
222
- function createHighShelfFilter(freqRatio, q, gain) {
233
+ function getHighShelfFilterCoefficients(freqRatio, q, gain) {
223
234
  // q not used
224
235
  let b0;
225
236
  let b1;
@@ -255,7 +266,7 @@ function createHighShelfFilter(freqRatio, q, gain) {
255
266
  }
256
267
  return coefficients;
257
268
  }
258
- function createPeakingFilter(freqRatio, q, gain) {
269
+ function getPeakingFilterCoefficients(freqRatio, q, gain) {
259
270
  let b0;
260
271
  let b1;
261
272
  let b2;
@@ -290,7 +301,7 @@ function createPeakingFilter(freqRatio, q, gain) {
290
301
  }
291
302
  return coefficients;
292
303
  }
293
- function createNotchFilter(freqRatio, q, gain) {
304
+ function getNotchFilterCoefficients(freqRatio, q, gain) {
294
305
  let b0;
295
306
  let b1;
296
307
  let b2;
@@ -324,7 +335,7 @@ function createNotchFilter(freqRatio, q, gain) {
324
335
  }
325
336
  return coefficients;
326
337
  }
327
- function createAllpassFilter(freqRatio, q, gain) {
338
+ function getAllpassFilterCoefficients(freqRatio, q, gain) {
328
339
  let b0;
329
340
  let b1;
330
341
  let b2;
@@ -374,17 +385,20 @@ export function qFactorToBandwidth(q) {
374
385
  const bandwidth = (2 / Math.log(2)) * Math.asinh(1 / (2 * q));
375
386
  return bandwidth;
376
387
  }
388
+ export function clamp(num, min, max) {
389
+ return Math.max(min, Math.min(max, num));
390
+ }
377
391
  // Map the filter type name to a function that computes the filter coefficents
378
392
  // for the given filter type.
379
- const filterCreatorFunction = {
380
- 'lowpass': createLowpassFilter,
381
- 'highpass': createHighpassFilter,
382
- 'bandpass': createBandpassFilter,
383
- 'lowshelf': createLowShelfFilter,
384
- 'highshelf': createHighShelfFilter,
385
- 'peaking': createPeakingFilter,
386
- 'notch': createNotchFilter,
387
- 'allpass': createAllpassFilter
393
+ const filterCoefficientsFunction = {
394
+ 'lowpass': getLowpassFilterCoefficients,
395
+ 'highpass': getHighpassFilterCoefficients,
396
+ 'bandpass': getBandpassFilterCoefficients,
397
+ 'lowshelf': getLowShelfFilterCoefficients,
398
+ 'highshelf': getHighShelfFilterCoefficients,
399
+ 'peaking': getPeakingFilterCoefficients,
400
+ 'notch': getNotchFilterCoefficients,
401
+ 'allpass': getAllpassFilterCoefficients
388
402
  };
389
403
  export const filterTypeName = {
390
404
  'lowpass': 'Lowpass filter',
@@ -1 +1 @@
1
- {"version":3,"file":"BiquadFilter.js","sourceRoot":"","sources":["../../src/dsp/BiquadFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BiquadFilter.js","sourceRoot":"","sources":["../../src/dsp/BiquadFilter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { RawAudio } from "../audio/AudioUtilities.js";
2
2
  import { Lexicon } from "../nlp/Lexicon.js";
3
3
  import { Timeline } from "../utilities/Timeline.js";
4
- export declare function preprocessAndSynthesize(text: string, espeakVoice: string, language: string, lexicons?: Lexicon[], rate?: number, pitch?: number, pitchRange?: number): Promise<{
4
+ export declare function preprocessAndSynthesize(text: string, language: string, espeakOptions: EspeakOptions, lexicons?: Lexicon[]): Promise<{
5
5
  referenceSynthesizedAudio: RawAudio;
6
6
  referenceTimeline: Timeline;
7
7
  fragments: string[];
@@ -9,12 +9,12 @@ export declare function preprocessAndSynthesize(text: string, espeakVoice: strin
9
9
  phonemizedFragmentsSubstitutions: Map<number, string[]>;
10
10
  phonemizedSentence: string[][][];
11
11
  }>;
12
- export declare function synthesizeFragments(fragments: string[], voice: string, insertSeparators?: boolean, rate?: number, pitch?: number, pitchRange?: number): Promise<{
12
+ export declare function synthesizeFragments(fragments: string[], espeakOptions: EspeakOptions, insertSeparators?: boolean): Promise<{
13
13
  rawAudio: RawAudio;
14
14
  timeline: Timeline;
15
15
  events: EspeakEvent[];
16
16
  }>;
17
- export declare function synthesize(text: string, voice: string, ssmlEnabled: boolean, rate?: number, pitch?: number, pitchRange?: number): Promise<{
17
+ export declare function synthesize(text: string, espeakOptions: EspeakOptions): Promise<{
18
18
  rawAudio: RawAudio;
19
19
  events: EspeakEvent[];
20
20
  }>;
@@ -42,5 +42,14 @@ export interface EspeakEvent {
42
42
  word_length: number;
43
43
  id?: string | number;
44
44
  }
45
+ export interface EspeakOptions {
46
+ voice: string;
47
+ ssml: boolean;
48
+ rate: number;
49
+ pitch: number;
50
+ pitchRange: number;
51
+ klatt: boolean;
52
+ }
53
+ export declare const defaultEspeakOptions: EspeakOptions;
45
54
  export declare function testEspeakSynthesisWithPrePhonemizedInputs(text: string): Promise<void>;
46
55
  export declare function testKirshenbaumPhonemization(text: string): Promise<void>;
@@ -12,7 +12,7 @@ import { phonemizeSentence } from "../nlp/EspeakPhonemizer.js";
12
12
  const log = logToStderr;
13
13
  let espeakInstance;
14
14
  let espeakModule;
15
- export async function preprocessAndSynthesize(text, espeakVoice, language, lexicons = [], rate, pitch, pitchRange) {
15
+ export async function preprocessAndSynthesize(text, language, espeakOptions, lexicons = []) {
16
16
  const logger = new Logger();
17
17
  await logger.startAsync("Tokenize and analyze text");
18
18
  let lowerCaseLanguageCode = language.toLowerCase();
@@ -34,8 +34,8 @@ export async function preprocessAndSynthesize(text, espeakVoice, language, lexic
34
34
  continue;
35
35
  }
36
36
  phonemizedFragmentsSubstitutions.set(fragmentIndex, substitutionPhonemes);
37
- const referenceIPA = (await textToPhonemes(fragment, espeakVoice, true)).replaceAll("_", " ");
38
- const referenceKirshenbaum = (await textToPhonemes(fragment, espeakVoice, false)).replaceAll("_", "");
37
+ const referenceIPA = (await textToPhonemes(fragment, espeakOptions.voice, true)).replaceAll("_", " ");
38
+ const referenceKirshenbaum = (await textToPhonemes(fragment, espeakOptions.voice, false)).replaceAll("_", "");
39
39
  const kirshenbaumPhonemes = substitutionPhonemes.map(phone => ipaPhoneToKirshenbaum(phone)).join("");
40
40
  logger.logTitledMessage(`\nLexicon substitution for '${fragment}'`, `IPA: ${substitutionPhonemes.join(" ")} (original: ${referenceIPA}), Kirshenbaum: ${kirshenbaumPhonemes} (reference: ${referenceKirshenbaum})`);
41
41
  const substitutionPhonemesFragment = ` [[${kirshenbaumPhonemes}]] `;
@@ -44,7 +44,7 @@ export async function preprocessAndSynthesize(text, espeakVoice, language, lexic
44
44
  fragments = referenceFragments;
45
45
  preprocessedFragments = normalizedFragments;
46
46
  logger.start("Synthesize preprocessed fragments with eSpeak");
47
- const { rawAudio: referenceSynthesizedAudio, timeline: referenceTimeline } = await synthesizeFragments(preprocessedFragments, espeakVoice, false, rate, pitch, pitchRange);
47
+ const { rawAudio: referenceSynthesizedAudio, timeline: referenceTimeline } = await synthesizeFragments(preprocessedFragments, espeakOptions);
48
48
  await logger.startAsync("Build phonemized tokens");
49
49
  const phonemizedSentence = [];
50
50
  let wordIndex = 0;
@@ -78,7 +78,7 @@ export async function preprocessAndSynthesize(text, espeakVoice, language, lexic
78
78
  logger.end();
79
79
  return { referenceSynthesizedAudio, referenceTimeline, fragments, preprocessedFragments, phonemizedFragmentsSubstitutions, phonemizedSentence };
80
80
  }
81
- export async function synthesizeFragments(fragments, voice, insertSeparators = false, rate, pitch, pitchRange) {
81
+ export async function synthesizeFragments(fragments, espeakOptions, insertSeparators = false) {
82
82
  const logger = new Logger();
83
83
  const sampleRate = await getSampleRate();
84
84
  //fragments = fragments.filter(fragment => fragment.trim() != "")
@@ -97,17 +97,17 @@ export async function synthesizeFragments(fragments, voice, insertSeparators = f
97
97
  .replaceAll("<", "&lt;")
98
98
  .replaceAll(">", "&gt;");
99
99
  if (insertSeparators) {
100
- textWithMarkers += `<mark name="wordstart-${i}"/> | ${fragment} | <mark name="wordend-${i}"/>`;
100
+ textWithMarkers += `<mark name="s-${i}"/> | ${fragment} | <mark name="e-${i}"/>`;
101
101
  }
102
102
  else {
103
103
  if (fragment.endsWith(".")) {
104
104
  fragment += " ()";
105
105
  }
106
- textWithMarkers += `<mark name="wordstart-${i}"/>${fragment}<mark name="wordend-${i}"/> `;
106
+ textWithMarkers += `<mark name="s-${i}"/>${fragment}<mark name="e-${i}"/> `;
107
107
  }
108
108
  }
109
109
  //log(textWithMarkers)
110
- const { rawAudio, events } = await synthesize(textWithMarkers, voice, true, rate, pitch, pitchRange);
110
+ const { rawAudio, events } = await synthesize(textWithMarkers, { ...espeakOptions, ssml: true });
111
111
  // Build word timeline from events
112
112
  const wordTimeline = fragments.map(word => ({
113
113
  type: "word",
@@ -165,8 +165,8 @@ export async function synthesizeFragments(fragments, voice, insertSeparators = f
165
165
  }
166
166
  else if (event.type == "mark") {
167
167
  const markerName = event.id;
168
- if (markerName.startsWith("wordstart-")) {
169
- const markerIndex = parseInt(markerName.substring(10));
168
+ if (markerName.startsWith("s-")) {
169
+ const markerIndex = parseInt(markerName.substring(2));
170
170
  if (markerIndex != wordIndex) {
171
171
  throw new Error(`Word start marker for index ${wordIndex} is not consistent with word index. The words were: ${objToString(fragments)}`);
172
172
  }
@@ -176,8 +176,8 @@ export async function synthesizeFragments(fragments, voice, insertSeparators = f
176
176
  currentWordEntry.startTime = eventTime;
177
177
  currentTokenEntry.startTime = eventTime;
178
178
  }
179
- else if (markerName.startsWith("wordend-")) {
180
- const markerIndex = parseInt(markerName.substring(8));
179
+ else if (markerName.startsWith("e-")) {
180
+ const markerIndex = parseInt(markerName.substring(2));
181
181
  if (markerIndex != wordIndex) {
182
182
  throw new Error(`Word end marker for index ${wordIndex} is not consistent with word index. The words were: ${objToString(fragments)}`);
183
183
  }
@@ -210,7 +210,7 @@ export async function synthesizeFragments(fragments, voice, insertSeparators = f
210
210
  if (tokenTimeline[0].text != '') {
211
211
  continue;
212
212
  }
213
- const wordReferencePhonemes = (await textToPhonemes(wordEntry.text, voice, true)).split("_");
213
+ const wordReferencePhonemes = (await textToPhonemes(wordEntry.text, espeakOptions.voice, true)).split("_");
214
214
  const wordReferenceIPA = wordReferencePhonemes.join(" ");
215
215
  if (wordReferenceIPA.trim().length == 0) {
216
216
  continue;
@@ -266,10 +266,10 @@ export async function synthesizeFragments(fragments, voice, insertSeparators = f
266
266
  }
267
267
  return { rawAudio, timeline: clauseTimeline, events };
268
268
  }
269
- export async function synthesize(text, voice, ssmlEnabled, rate = 150, pitch = 50, pitchRange = 50) {
269
+ export async function synthesize(text, espeakOptions) {
270
270
  const logger = new Logger();
271
271
  logger.start("Get espeak WASM instance");
272
- if (!ssmlEnabled) {
272
+ if (!espeakOptions.ssml) {
273
273
  const { escape } = await import('html-escaper');
274
274
  text = escape(text);
275
275
  }
@@ -277,10 +277,15 @@ export async function synthesize(text, voice, ssmlEnabled, rate = 150, pitch = 5
277
277
  const sampleChunks = [];
278
278
  const allEvents = [];
279
279
  logger.start("Synthesize with eSpeak");
280
- await setVoice(voice);
281
- await setRate(rate);
282
- await setPitch(pitch);
283
- await setPitchRange(pitchRange);
280
+ if (espeakOptions.klatt) {
281
+ await setVoice(`${espeakOptions.voice}+klatt6`);
282
+ }
283
+ else {
284
+ await setVoice(espeakOptions.voice);
285
+ }
286
+ await setRate(espeakOptions.rate);
287
+ await setPitch(espeakOptions.pitch);
288
+ await setPitchRange(espeakOptions.pitchRange);
284
289
  instance.synthesize(text, (samples, events) => {
285
290
  if (samples && samples.length > 0) {
286
291
  sampleChunks.push(int16PcmToFloat32(samples));
@@ -351,12 +356,20 @@ async function getEspeakInstance() {
351
356
  }
352
357
  return { instance: espeakInstance, module: espeakModule };
353
358
  }
359
+ export const defaultEspeakOptions = {
360
+ voice: 'en-us',
361
+ ssml: false,
362
+ rate: 1.0,
363
+ pitch: 1.0,
364
+ pitchRange: 1.0,
365
+ klatt: false
366
+ };
354
367
  export async function testEspeakSynthesisWithPrePhonemizedInputs(text) {
355
368
  const ipaPhonemizedSentence = (await phonemizeSentence(text, "en-us")).flatMap(clause => clause);
356
369
  const kirshenbaumPhonemizedSentence = (await phonemizeSentence(text, "en-us", undefined, false)).flatMap(clause => clause);
357
370
  log(kirshenbaumPhonemizedSentence);
358
371
  const fragments = ipaPhonemizedSentence.map(word => word.map(phoneme => ipaPhoneToKirshenbaum(phoneme)).join("")).map(word => ` [[${word}]] `);
359
- const { rawAudio, timeline } = await synthesizeFragments(fragments, 'en-us');
372
+ const { rawAudio, timeline } = await synthesizeFragments(fragments, defaultEspeakOptions);
360
373
  await playAudioWithTimelinePhones(rawAudio, timeline);
361
374
  }
362
375
  export async function testKirshenbaumPhonemization(text) {
@@ -1 +1 @@
1
- {"version":3,"file":"EspeakTTS.js","sourceRoot":"","sources":["../../src/synthesis/EspeakTTS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EspeakTTS.js","sourceRoot":"","sources":["../../src/synthesis/EspeakTTS.ts"],"names":[],"mappings":"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"}
@@ -134,11 +134,11 @@ export async function synthesize(text, textAnalysisFilePath, signalGenerationFil
134
134
  let rawAudio = { audioChannels, sampleRate: 16000 };
135
135
  if (postprocessOutput) {
136
136
  logger.start("Apply EQ to synthesized audio");
137
- const BiquadFilter = await import("../dsp/BiquadFilter.js");
138
- rawAudio = BiquadFilter.lowshelfFilter(rawAudio, 177, -2.6);
139
- rawAudio = BiquadFilter.peakingFilter(rawAudio, 440, -9.7, bandwidthToQFactor(2));
140
- rawAudio = BiquadFilter.peakingFilter(rawAudio, 1639, 5.2, bandwidthToQFactor(2));
141
- rawAudio = BiquadFilter.highshelfFilter(rawAudio, 5180, 10.6);
137
+ const Biquad = await import("../dsp/BiquadFilter.js");
138
+ Biquad.createLowshelfFilter(rawAudio.sampleRate, 177, -2.6).apply(rawAudio.audioChannels[0]);
139
+ Biquad.createPeakingFilter(rawAudio.sampleRate, 440, bandwidthToQFactor(2), -9.7).apply(rawAudio.audioChannels[0]);
140
+ //Biquad.createPeakingFilter(rawAudio.sampleRate, 1639, bandwidthToQFactor(2), 5.2).apply(rawAudio.audioChannels[0])
141
+ Biquad.createHighshelfFilter(rawAudio.sampleRate, 5180, 10.6).apply(rawAudio.audioChannels[0]);
142
142
  }
143
143
  logger.end();
144
144
  return { rawAudio };
@@ -1 +1 @@
1
- {"version":3,"file":"SvoxPicoTTS.js","sourceRoot":"","sources":["../../src/synthesis/SvoxPicoTTS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SvoxPicoTTS.js","sourceRoot":"","sources":["../../src/synthesis/SvoxPicoTTS.ts"],"names":[],"mappings":"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"}