Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/atomic14/ch32v003-audio
/ functions
Functions
165 in github.com/atomic14/ch32v003-audio
⨍
Functions
165
◇
Types & classes
47
↓ 13 callers
Method
getBits
(bits: number)
buzzer-studio/src/talkieStream.ts:161
↓ 12 callers
Function
findClosestValue
(actual: number, table: number[])
buzzer-studio/src/encoder/closestValueFinder.ts:5
↓ 10 callers
Method
getSynthesisK
(variant: ChipVariant, kIndex: number)
buzzer-studio/src/tmsTables.ts:241
↓ 10 callers
Method
isUnvoiced
* Voiced/unvoiced detection using 2 criteria * * Uses two criteria: * 1. Low energy: originalEnergy < minEnergyThreshold → unvoiced (always c
buzzer-studio/src/encoder/reflector.ts:161
↓ 8 callers
Method
mixer_bind_track
Bind a NoteCmd sequence to a track/voice. pitch_shift >= 1
PolyphonicSoundFirmware/src/polyphonic_player.cpp:101
↓ 7 callers
Method
parameters
* Get encoded parameters for this frame * Returns a map of parameter names to quantized values
buzzer-studio/src/encoder/frameData.ts:37
↓ 6 callers
Function
getDefaultSettings
* Helper to create default settings with all required fields
buzzer-studio/src/lpcEncoder.test.ts:26
↓ 5 callers
Function
createTestWav
* Create a minimal valid WAV file in memory * PCM, 8000 Hz, 16-bit, mono
buzzer-studio/src/lpcEncoder.test.ts:65
↓ 5 callers
Function
encodeFramesToBinary
( codingTable: CodingTable, parametersList: Record<string, number>[] )
buzzer-studio/src/encoder/binaryEncoder.ts:12
↓ 5 callers
Method
encodeWav
* Encode WAV file to LPC hex data
buzzer-studio/src/lpcEncoder.ts:140
↓ 5 callers
Method
isVoiced
()
buzzer-studio/src/encoder/frameData.ts:87
↓ 4 callers
Function
nibblesToHex
(nibbles: string[])
buzzer-studio/src/encoder/hexConverter.ts:23
↓ 4 callers
Method
stop
()
buzzer-studio/src/player.ts:87
↓ 3 callers
Method
draw
()
buzzer-studio/src/visualizer.ts:129
↓ 3 callers
Method
exportBitTimings
(params: SoundParameters)
buzzer-studio/src/soundEngine.ts:130
↓ 3 callers
Function
getCurrentPath
()
buzzer-studio/src/lib/router.svelte.ts:2
↓ 3 callers
Method
translateCoefficients
* Leroux-Gueguen algorithm for finding reflection coefficients * This is a more numerically stable variant of Levinson-Durbin * * @param codi
buzzer-studio/src/encoder/reflector.ts:63
↓ 2 callers
Function
aForLag
* Calculate autocorrelation for a specific lag
buzzer-studio/src/encoder/autocorrelator.ts:61
↓ 2 callers
Method
calculateFrameEnergy
* Calculate frame energy for voiced/unvoiced detection * Can calculate from original or emphasized signal
buzzer-studio/src/lpcEncoder.ts:328
↓ 2 callers
Method
formattedRMS
* Format RMS from residual energy * Scale to 16-bit amplitude space
buzzer-studio/src/encoder/reflector.ts:48
↓ 2 callers
Method
frameIsVoiced
Use voiced override on a frame if present
buzzer-studio/src/lpcEncoder.ts:552
↓ 2 callers
Method
getChipConfig
(variant: ChipVariant)
buzzer-studio/src/tmsTables.ts:235
↓ 2 callers
Function
getMaxAbsolute
* Helper to get max absolute value from Float32Array
buzzer-studio/src/lpcEncoder.test.ts:14
↓ 2 callers
Method
parameterizedValueForK
(k: number, binNo: number)
buzzer-studio/src/encoder/frameData.ts:68
↓ 2 callers
Function
parseWav
(arrayBuffer: ArrayBuffer)
buzzer-studio/src/encoder/wavParser.ts:17
↓ 2 callers
Method
resize
()
buzzer-studio/src/visualizer.ts:73
↓ 2 callers
Method
rev
(a: number)
buzzer-studio/src/talkieStream.ts:154
↓ 2 callers
Method
stopFrame
* Create a stop frame (silence)
buzzer-studio/src/encoder/frameData.ts:27
↓ 1 callers
Function
applyButterworthLowPass2ndOrder
( samples: Float32Array, cutoffHz: number, sampleRate: number )
buzzer-studio/src/encoder/audioPreprocessor.ts:127
↓ 1 callers
Method
applyUnvoicedMultiplier
* Apply unvoiced multiplier to all unvoiced frames (BlueWizard RMSNormalizer.m lines 39-44) * This is ALWAYS applied, regardless of normalization s
buzzer-studio/src/lpcEncoder.ts:626
↓ 1 callers
Function
centerClip
* Center-clipping to emphasize periodic excitation and reduce formant influence
buzzer-studio/src/encoder/pitchEstimator.ts:239
↓ 1 callers
Function
correctOctaveErrors
* Sub-multiple detection for octave error correction * Checks if the detected pitch is actually a harmonic of the true pitch
buzzer-studio/src/encoder/pitchEstimator.ts:186
↓ 1 callers
Function
estimatePitch
( frame: Float32Array, config: Partial<PitchEstimatorConfig> = {}, debug: boolean = false )
buzzer-studio/src/encoder/pitchEstimator.ts:40
↓ 1 callers
Function
findBestPeriod
* Find the period with maximum autocorrelation
buzzer-studio/src/encoder/pitchEstimator.ts:140
↓ 1 callers
Function
generateCodeFromProcessedTracks
( processedTracks: ProcessedTrack[], baseName: string = 'midi_export' )
buzzer-studio/src/midiConverter.ts:206
↓ 1 callers
Method
generateSound
(params: SoundParameters)
buzzer-studio/src/soundEngine.ts:40
↓ 1 callers
Function
getCoefficients
(samples: Float32Array, maxLag: number)
buzzer-studio/src/encoder/autocorrelator.ts:10
↓ 1 callers
Function
getNormalizedCoefficients
( samples: Float32Array, minPeriod: number, maxPeriod: number )
buzzer-studio/src/encoder/autocorrelator.ts:25
↓ 1 callers
Method
hasNext
Talkie/src/TalkieStream.h:51
↓ 1 callers
Method
hasNext
()
buzzer-studio/src/talkieStream.ts:150
↓ 1 callers
Method
hasNext
Returns true if more samples are available (override from AudioStream)
SamplePlayback/src/IMAAdpcmStream.h:19
↓ 1 callers
Function
interpolatePitch
* Parabolic interpolation for sub-sample pitch precision * Uses three points around the peak to estimate true maximum
buzzer-studio/src/encoder/pitchEstimator.ts:156
↓ 1 callers
Method
kBinFor
(k: number)
buzzer-studio/src/tmsTables.ts:254
↓ 1 callers
Method
loadAndResampleWav
* Load and resample WAV for preview (without full encoding)
buzzer-studio/src/lpcEncoder.ts:122
↓ 1 callers
Function
midiToFreq
* Convert MIDI note number to frequency in Hz * A4 = 440 Hz at MIDI note 69
buzzer-studio/src/midiConverter.ts:30
↓ 1 callers
Method
midiToNoteName
(midi: number)
buzzer-studio/src/visualizer.ts:222
↓ 1 callers
Function
mix_to_u8
---------------------------------- Soft clip and bias to 8-bit sample ----------------------------------
PolyphonicSoundFirmware/src/polyphonic_player.cpp:27
↓ 1 callers
Method
nextSample
* Generate the next audio sample at 8KHz. * * This implements a 10-stage lattice filter driven by either: * - Voiced excitation: Periodic chirp wav
Talkie/src/TalkieStream.cpp:290
↓ 1 callers
Method
nextSample
()
buzzer-studio/src/talkieStream.ts:315
↓ 1 callers
Method
nextSample
SamplePlayback/src/ADPCM2BitStream.cpp:20
↓ 1 callers
Function
nibblesFromBinary
* Convert binary string to array of 4-bit nibbles
buzzer-studio/src/encoder/binaryEncoder.ts:36
↓ 1 callers
Method
normalizeUnvoicedRMS
* Normalize unvoiced RMS using peak normalization (BlueWizard RMSNormalizer.m lines 24-37) * Finds max RMS across all unvoiced frames and scales to
buzzer-studio/src/lpcEncoder.ts:594
↓ 1 callers
Method
normalizeVoicedRMS
* Normalize voiced RMS using peak normalization (BlueWizard RMSNormalizer.m lines 9-22) * Finds max RMS across all voiced frames and scales to rmsL
buzzer-studio/src/lpcEncoder.ts:562
↓ 1 callers
Function
notesToCommands
* Convert notes to NoteCmd format * Rests are represented as notes with period_us = 0
buzzer-studio/src/midiConverter.ts:90
↓ 1 callers
Method
parameterizedValueForPitch
(pitch: number)
buzzer-studio/src/encoder/frameData.ts:77
↓ 1 callers
Method
parameterizedValueForRMS
(rms: number)
buzzer-studio/src/encoder/frameData.ts:72
↓ 1 callers
Method
parameters
()
buzzer-studio/src/tmsTables.ts:277
↓ 1 callers
Method
pause
()
buzzer-studio/src/player.ts:63
↓ 1 callers
Function
period_us_to_phase_inc
--------------------------------------- Utility: integer-only freq -> phase_inc phase_inc = (freq * 2^32) / FS_HZ where freq = 1e6 / period_us so phas
PolyphonicSoundFirmware/src/polyphonic_player.cpp:17
↓ 1 callers
Method
play
Talkie/src/player.cpp:82
↓ 1 callers
Method
play
PolyphonicSoundFirmware/src/polyphonic_player.cpp:121
↓ 1 callers
Method
play
()
buzzer-studio/src/player.ts:45
↓ 1 callers
Method
play
SamplePlayback/src/player.cpp:85
↓ 1 callers
Function
play_music
* Plays the music by iterating through note commands and toggling the GPIO pin * * @param max_len_us Maximum playback time in microseconds (used to
SimpleSoundFirmware/src/music.cpp:11
↓ 1 callers
Method
processFrames
* Process audio samples into LPC frames * Following BlueWizard's algorithm with selective buffer usage: * - Voiced/unvoiced detection uses BOTH
buzzer-studio/src/lpcEncoder.ts:349
↓ 1 callers
Method
processNextFrame
()
buzzer-studio/src/talkieStream.ts:187
↓ 1 callers
Function
processTracksForExport
(midi: Midi, trackIndices: number[])
buzzer-studio/src/midiConverter.ts:156
↓ 1 callers
Function
readSamples
* Read and convert PCM samples to normalized float32 mono
buzzer-studio/src/encoder/wavParser.ts:102
↓ 1 callers
Method
reset
* Reset the speech synthesizer to start from the beginning of the data. * Clears all filter state and synthesis parameters. * The first frame will b
Talkie/src/TalkieStream.cpp:157
↓ 1 callers
Method
reset
()
buzzer-studio/src/talkieStream.ts:119
↓ 1 callers
Method
reset
SamplePlayback/src/player.cpp:119
↓ 1 callers
Function
reverseBitsInNibble
* Reverse bits within a 4-bit nibble * Example: 0010 (2) → 0100 (4)
buzzer-studio/src/encoder/hexConverter.ts:10
↓ 1 callers
Method
say
* Start speaking encoded speech data * @param address Pointer to LPC-encoded speech data * @param mode Speech chip to emulate (TMS5220 or TMS510
Talkie/src/TalkieStream.h:37
↓ 1 callers
Method
scheduleNotes
()
buzzer-studio/src/player.ts:119
↓ 1 callers
Method
scrollToPlayhead
()
buzzer-studio/src/visualizer.ts:107
↓ 1 callers
Method
setupClickHandler
()
buzzer-studio/src/visualizer.ts:49
↓ 1 callers
Function
splitIntoMonophonicStreams
* Split a track's notes into monophonic streams (no overlapping notes per stream) * Notes with small overlaps will have their duration adjusted rathe
buzzer-studio/src/midiConverter.ts:39
↓ 1 callers
Method
updateTime
()
buzzer-studio/src/player.ts:164
↓ 1 callers
Method
valueToBinary
* Convert a value to binary string with specified bit width * Clamps value to prevent overflow
buzzer-studio/src/encoder/bitHelpers.ts:9
↓ 1 callers
Function
yinEstimate
* Minimal YIN implementation (difference function + CMND) returning period or 0 if none
buzzer-studio/src/encoder/pitchEstimator.ts:261
Method
ADPCM2BitStream
SamplePlayback/src/ADPCM2BitStream.h:9
Method
Delay_Ms
SimpleSoundFirmware/src/HAL.h:112
Method
Delay_Us
SimpleSoundFirmware/src/HAL.h:114
Function
EXTI7_0_IRQHandler
SimpleSoundFirmware/src/main.cpp:11
Function
HardFault_Handler
Talkie/src/main.cpp:162
Function
HardFault_Handler
PolyphonicSoundFirmware/src/main.cpp:57
Function
HardFault_Handler
SamplePlayback/src/main.cpp:51
Function
HardFault_Handler
SimpleSoundFirmware/src/main.cpp:67
Method
IMAAdpcmStream
SamplePlayback/src/IMAAdpcmStream.h:6
Function
NMI_Handler
Talkie/src/main.cpp:161
Function
NMI_Handler
PolyphonicSoundFirmware/src/main.cpp:56
Function
NMI_Handler
SamplePlayback/src/main.cpp:50
Function
NMI_Handler
SimpleSoundFirmware/src/main.cpp:65
Method
Player
Talkie/src/player.cpp:9
Method
Player
SamplePlayback/src/player.cpp:10
Method
PolyphonicPlayer
PolyphonicSoundFirmware/src/polyphonic_player.cpp:36
Method
TalkieStream
Talkie/src/TalkieStream.cpp:150
Function
applyHammingWindow
(frame: Float32Array)
buzzer-studio/src/encoder/audioPreprocessor.ts:71
Function
applyHighPassFilter
( samples: Float32Array, cutoffHz: number, sampleRate: number )
buzzer-studio/src/encoder/audioPreprocessor.ts:82
Function
applyLowPassFilter
( samples: Float32Array, cutoffHz: number, sampleRate: number )
buzzer-studio/src/encoder/audioPreprocessor.ts:104
next →
1–100 of 165, ranked by callers