keep phase between tones, for real this time
This commit is contained in:
parent
c450d90372
commit
f2a9da7ce9
2 changed files with 9 additions and 13 deletions
|
@ -3,13 +3,13 @@ extends Node3D
|
|||
func encode_sstv():
|
||||
#var encoder = Martin1.new()
|
||||
var encoder = RobotBW8.new()
|
||||
#var cameraImage = get_viewport().get_texture().get_image()
|
||||
var cameraImage = get_viewport().get_texture().get_image()
|
||||
#var cameraImage = load("res://tests/checker.png").get_image()
|
||||
#var cameraImage = load("res://tests/spiral.png").get_image()
|
||||
var cameraImage = load("res://tests/testtest.png").get_image()
|
||||
#var cameraImage = load("res://tests/testtest.png").get_image()
|
||||
#var cameraImage = load("res://tests/testtest2.png").get_image()
|
||||
#var cameraImage = load("res://tests/testtest3.png").get_image()
|
||||
var audioBuffer = encoder.EncodeSSTV(cameraImage)
|
||||
var audioBuffer = encoder.EncodeSSTV(cameraImage, false)
|
||||
encoder.SaveAsWav("res://../sstv.wav")
|
||||
|
||||
# Spew that audio yo.
|
||||
|
@ -24,7 +24,7 @@ func encode_sstv():
|
|||
var startTimer = 0
|
||||
var first = true
|
||||
func _process(delta):
|
||||
if startTimer > 10 and first:
|
||||
if startTimer > 20 and first:
|
||||
first = false
|
||||
encode_sstv()
|
||||
|
||||
|
|
|
@ -47,19 +47,17 @@ func EncodeHeader(vis: Array):
|
|||
|
||||
outputFloats.append_array(GenerateTone(SYNC_PULSE_FREQ, VIS_BIT_LENGTH))
|
||||
|
||||
var lastPhase = 0.0
|
||||
var phase = 0.0
|
||||
|
||||
func GenerateTone(frequency: float, duration: float) -> PackedFloat32Array:
|
||||
var samples = PackedFloat32Array()
|
||||
var totalSamples = int(duration * SAMPLE_RATE)
|
||||
var phase = 0.0
|
||||
|
||||
var timeStep = 1.0 / SAMPLE_RATE
|
||||
for i in range(totalSamples):
|
||||
var time = float(i) / SAMPLE_RATE
|
||||
phase = TWO_PI * frequency * time
|
||||
var sample = sin(lastPhase + phase)
|
||||
phase += TWO_PI * frequency * timeStep
|
||||
var sample = sin(phase)
|
||||
samples.append(sample)
|
||||
lastPhase = phase
|
||||
|
||||
return samples
|
||||
|
||||
|
@ -68,7 +66,6 @@ func GenerateToneFromCurve(frequencies: Array, duration: float) -> PackedFloat32
|
|||
var totalSamples = int(duration * SAMPLE_RATE)
|
||||
var points = frequencies.size()
|
||||
|
||||
var phase = 0.0
|
||||
var timeStep = 1.0 / SAMPLE_RATE
|
||||
|
||||
for i in range(totalSamples):
|
||||
|
@ -86,9 +83,8 @@ func GenerateToneFromCurve(frequencies: Array, duration: float) -> PackedFloat32
|
|||
|
||||
phase += TWO_PI * freq * timeStep
|
||||
|
||||
var sample = sin(lastPhase + phase)
|
||||
var sample = sin(phase)
|
||||
samples.append(sample)
|
||||
lastPhase = phase
|
||||
|
||||
return samples
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue