1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
INSERT OR REPLACE INTO audio_tracks (id, sample_rate, format) VALUES ('spectrogramming', 8000, 'u8') RETURNING id;
WITH RECURSIVE
audio AS
(SELECT *, 160 AS gain FROM audio_tracks WHERE id = 'spectrogramming'),
note_positions(position) AS
(SELECT 0 UNION ALL
SELECT position + 1 FROM note_positions, audio
WHERE position < 100000),
samples(value, position) AS
(SELECT
(100.0*SIN(position * 2.0 / sample_rate) + 1.0) / 2.0 * gain
, position
FROM note_positions, audio)
INSERT INTO audio_track_samples (audio_track_id, value, position) SELECT 'spectrogramming', value, position FROM samples ORDER BY position;
|