MCPcopy Create free account
hub / github.com/dennisppaul/wellen / SAM

Class SAM

lib/SAM/java/wellen/SAM.java:32–303  ·  view source on GitHub ↗

generates low-fi text-to-speech audio synthesis.

Source from the content-addressed store, hash-verified

30 * generates low-fi text-to-speech audio synthesis.
31 */
32public class SAM implements DSPNodeOutput {
33
34 private static final int[] mMIDItoSAMMap = new int[128];
35 /* mapping MIDI pitch to SAM pitch */
36 private float[] mBuffer;
37 private boolean mIsDoneSpeaking;
38 private float mSampleBufferCounter;
39 private float mSampleSpeed;
40
41 static {
42 mMIDItoSAMMap[21] = 0; // A0
43 mMIDItoSAMMap[22] = 0; // A#0
44 mMIDItoSAMMap[23] = 0; // B0
45 mMIDItoSAMMap[24] = 255; // C1
46 mMIDItoSAMMap[25] = 230; // C#1
47 mMIDItoSAMMap[26] = 210; // D1
48 mMIDItoSAMMap[27] = 190; // D#1
49 mMIDItoSAMMap[28] = 175; // E1
50 mMIDItoSAMMap[29] = 165; // F1
51 mMIDItoSAMMap[30] = 158; // F#1
52 mMIDItoSAMMap[31] = 150; // G1
53 mMIDItoSAMMap[32] = 142; // G#1
54 mMIDItoSAMMap[33] = 132; // A1
55 mMIDItoSAMMap[34] = 128; // A#1
56 mMIDItoSAMMap[35] = 121; // B1
57 mMIDItoSAMMap[36] = 114; // C2
58 mMIDItoSAMMap[37] = 108; // C#2
59 mMIDItoSAMMap[38] = 100; // D2
60 mMIDItoSAMMap[39] = 96; // D#2
61 mMIDItoSAMMap[40] = 90; // E2
62 mMIDItoSAMMap[41] = 86; // F2
63 mMIDItoSAMMap[42] = 80; // F#2
64 mMIDItoSAMMap[43] = 76; // G2
65 mMIDItoSAMMap[44] = 72; // G#2
66 mMIDItoSAMMap[45] = 68; // A2
67 mMIDItoSAMMap[46] = 64; // A#2
68 mMIDItoSAMMap[47] = 60; // B2
69 mMIDItoSAMMap[48] = 57; // C3
70 mMIDItoSAMMap[49] = 54; // C#3
71 mMIDItoSAMMap[50] = 51; // D3
72 mMIDItoSAMMap[51] = 48; // D#3
73 mMIDItoSAMMap[52] = 45; // E3
74 mMIDItoSAMMap[53] = 43; // F3
75 mMIDItoSAMMap[54] = 40; // F#3
76 mMIDItoSAMMap[55] = 38; // G3
77 mMIDItoSAMMap[56] = 36; // G#3
78 mMIDItoSAMMap[57] = 34; // A3
79 mMIDItoSAMMap[58] = 32; // A#3
80 mMIDItoSAMMap[59] = 30; // B3
81 mMIDItoSAMMap[60] = 28; // C4
82 mMIDItoSAMMap[61] = 27; // C#4
83 mMIDItoSAMMap[62] = 25; // D4
84 mMIDItoSAMMap[63] = 24; // D#4
85 mMIDItoSAMMap[64] = 23; // E4
86 mMIDItoSAMMap[65] = 21; // F4
87 mMIDItoSAMMap[66] = 20; // F#4
88 mMIDItoSAMMap[67] = 19; // G4
89 mMIDItoSAMMap[68] = 18; // G#4

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected