Skip to content

Instantly share code, notes, and snippets.

View mbykov's full-sized avatar

Michael Bykov mbykov

View GitHub Profile
@mbykov
mbykov / List.svelte
Created December 18, 2025 04:32
src/routes/List.svelte
<!-- src/routes/List.svelte -->
<script>
import { navigateTo } from '$lib/store.js';
import { createPersistedArray } from '$lib/stores/persisted-store.svelte.js';
import { icons } from '$lib/images/icons.js';
import { MicrophoneOutline } from "flowbite-svelte-icons";
// Используем persisted array для заметок
let records = createPersistedArray('voice-notes', []);
@mbykov
mbykov / asr-client.js
Created December 16, 2025 06:47
src/lib/asr-client.js
export class SherpaASRClient {
constructor() {
this.ws = null;
this.audioContext = null;
this.workletNode = null;
this.mediaStream = null;
this.isRecording = false;
this.isConnected = false;
this.isShuttingDown = false;
this.sampleRate = 16000;
@mbykov
mbykov / Asr.svelte
Last active December 18, 2025 04:28
src/routes/Asr.svelte
<!-- src/routes/Asr.svelte -->
<script>
import { onMount, onDestroy } from 'svelte';
import { navigateTo, currentNoteId } from '$lib/store.js';
import { createPersistedArray } from '$lib/stores/persisted-store.svelte.js';
import { SherpaASRClient } from '$lib/asr-client.js';
import { MicrophoneOutline, CheckOutline } from "flowbite-svelte-icons";
// import { createTranscriptProcessor } from '$lib/transcript-processor.js';
// import { createCommandProcessor } from '$lib/command-processor.js';