ניסיתם להעזר בAI?אשמח לעזרה לקוד באנגולר (ts) לפונקציה שחותכת קובץ אודיו לפי טווח של שניית ההתחלה ושניית סוף ולאחר מכן מורידה את הקובץ אודיו החתוך
import { Component } from '@angular/core';
@Component({
selector: 'app-audio-cutter',
template: `
<input type="file" (change)="onFileSelected($event)" accept="audio/*">
<div>
<label>Start Time (seconds):</label>
<input type="number" [(ngModel)]="startTime">
</div>
<div>
<label>End Time (seconds):</label>
<input type="number" [(ngModel)]="endTime">
</div>
<button (click)="cutAndDownloadAudio()">Cut and Download Audio</button>
`
})
export class AudioCutterComponent {
selectedFile: File | null = null;
startTime: number = 0;
endTime: number = 0;
onFileSelected(event: Event) {
const fileInput = event.target as HTMLInputElement;
this.selectedFile = fileInput.files && fileInput.files[0];
}
cutAndDownloadAudio() {
if (this.selectedFile) {
const reader = new FileReader();
reader.onload = () => {
const audioContext = new AudioContext();
audioContext.decodeAudioData(reader.result as ArrayBuffer).then((audioBuffer) => {
const startOffset = this.startTime * audioBuffer.sampleRate;
const endOffset = this.endTime * audioBuffer.sampleRate;
const newAudioBuffer = audioContext.createBuffer(
audioBuffer.numberOfChannels,
endOffset - startOffset,
audioBuffer.sampleRate
);
for (let channel = 0; channel < audioBuffer.numberOfChannels; channel++) {
const sourceData = audioBuffer.getChannelData(channel);
const newData = newAudioBuffer.getChannelData(channel);
for (let i = 0; i < newData.length; i++) {
newData[i] = sourceData[i + startOffset];
}
}
const audioData = newAudioBuffer.getChannelData(0);
const dataBlob = new Blob([this.convertToWav(audioData, newAudioBuffer.sampleRate)], { type: 'audio/wav' });
const url = URL.createObjectURL(dataBlob);
const link = document.createElement('a');
link.href = url;
link.download = 'cut_audio.wav';
link.click();
});
};
reader.readAsArrayBuffer(this.selectedFile);
}
}
convertToWav(audioData: Float32Array, sampleRate: number): ArrayBuffer {
const buffer = new ArrayBuffer(44 + audioData.length * 2);
const view = new DataView(buffer);
// RIFF chunk descriptor
this.writeUTFBytes(view, 0, 'RIFF');
view.setUint32(4, 36 + audioData.length * 2, true);
this.writeUTFBytes(view, 8, 'WAVE');
// FMT sub-chunk
this.writeUTFBytes(view, 12, 'fmt ');
view.setUint32(16, 16, true);
view.setUint16(20, 1, true);
view.setUint16(22, 1, true);
view.setUint32(24, sampleRate, true);
view.setUint32(28, sampleRate * 2, true);
view.setUint16(32, 2, true);
view.setUint16(34, 16, true);
// Data sub-chunk
this.writeUTFBytes(view, 36, 'data');
view.setUint32(40, audioData.length * 2, true);
// Write the audio samples
let offset = 44;
for (let i = 0; i < audioData.length; i++, offset += 2) {
const s = Math.max(-1, Math.min(1, audioData[i]));
view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true);
}
return buffer;
}
writeUTFBytes(view: DataView, offset: number, string: string) {
for (let i = 0; i < string.length; i++) {
view.setUint8(offset + i, string.charCodeAt(i));
}
}
}
מי זה?לקלוד
מי זה?
לוח לימודים
מסלולי לימוד שאפשר לההצטרף
אליהם ממש עכשיו:
26.09
כ"ג אלול
פתיחת מסלול
מאסטר בשיווק דיגיטלי
מלגות גבוהות!
19.11
י"ח חשוון
פתיחת מסלול
חדשנות AI ובינה מלאכותית
קורס מקוצר
25.11
כ"ד
פתיחת מסלול
פרסום קופי+
מלגות גבוהות!
27.11
כ"ו חשוון
פתיחת מסלול
פיתוח בוטים ואוטומציות עסקיות
מלגות גבוהות!
27.11
כ"ו חשוון
פתיחת מסלול
עיצוב גרפי ודיגיטל - בסילבוס חדש ומטורף!
מלגות גבוהות!
תהילים פרק קו
א הַלְלוּיָהּ הוֹדוּ לַיי כִּי טוֹב כִּי לְעוֹלָם חַסְדּוֹ:ב מִי יְמַלֵּל גְּבוּרוֹת יי יַשְׁמִיעַ כָּל תְּהִלָּתוֹ:ג אַשְׁרֵי שֹׁמְרֵי מִשְׁפָּט עֹשֵׂה צְדָקָה בְכָל עֵת:ד זָכְרֵנִי יי בִּרְצוֹן עַמֶּךָ פָּקְדֵנִי בִּישׁוּעָתֶךָ:ה לִרְאוֹת בְּטוֹבַת בְּחִירֶיךָ לִשְׂמֹחַ בְּשִׂמְחַת גּוֹיֶךָ לְהִתְהַלֵּל עִם נַחֲלָתֶךָ:ו חָטָאנוּ עִם אֲבוֹתֵינוּ הֶעֱוִינוּ הִרְשָׁעְנוּ:ז אֲבוֹתֵינוּ בְמִצְרַיִם לֹא הִשְׂכִּילוּ נִפְלְאוֹתֶיךָ לֹא זָכְרוּ אֶת רֹב חֲסָדֶיךָ וַיַּמְרוּ עַל יָם בְּיַם סוּף:ח וַיּוֹשִׁיעֵם לְמַעַן שְׁמוֹ לְהוֹדִיעַ אֶת גְּבוּרָתוֹ:ט וַיִּגְעַר בְּיַם סוּף וַיֶּחֱרָב וַיּוֹלִיכֵם בַּתְּהֹמוֹת כַּמִּדְבָּר:י וַיּוֹשִׁיעֵם מִיַּד שׂוֹנֵא וַיִּגְאָלֵם מִיַּד אוֹיֵב:יא וַיְכַסּוּ מַיִם צָרֵיהֶם אֶחָד מֵהֶם לֹא נוֹתָר:יב וַיַּאֲמִינוּ בִדְבָרָיו יָשִׁירוּ תְּהִלָּתוֹ:יג מִהֲרוּ שָׁכְחוּ מַעֲשָׂיו לֹא חִכּוּ לַעֲצָתוֹ:יד וַיִּתְאַוּוּ תַאֲוָה בַּמִּדְבָּר וַיְנַסּוּ אֵל בִּישִׁימוֹן:טו וַיִּתֵּן לָהֶם שֶׁאֱלָתָם וַיְשַׁלַּח רָזוֹן בְּנַפְשָׁם:טז וַיְקַנְאוּ לְמֹשֶׁה בַּמַּחֲנֶה לְאַהֲרֹן קְדוֹשׁ יי:יז תִּפְתַּח אֶרֶץ וַתִּבְלַע דָּתָן וַתְּכַס עַל עֲדַת אֲבִירָם:יח וַתִּבְעַר אֵשׁ בַּעֲדָתָם לֶהָבָה תְּלַהֵט רְשָׁעִים:יט יַעֲשׂוּ עֵגֶל בְּחֹרֵב וַיִּשְׁתַּחֲווּ לְמַסֵּכָה:כ וַיָּמִירוּ אֶת כְּבוֹדָם בְּתַבְנִית שׁוֹר אֹכֵל עֵשֶׂב:כא שָׁכְחוּ אֵל מוֹשִׁיעָם עֹשֶׂה גְדֹלוֹת בְּמִצְרָיִם:כב נִפְלָאוֹת בְּאֶרֶץ חָם נוֹרָאוֹת עַל יַם סוּף:כג וַיֹּאמֶר לְהַשְׁמִידָם לוּלֵי מֹשֶׁה בְחִירוֹ עָמַד בַּפֶּרֶץ לְפָנָיו לְהָשִׁיב חֲמָתוֹ מֵהַשְׁחִית:כד וַיִּמְאֲסוּ בְּאֶרֶץ חֶמְדָּה לֹא הֶאֱמִינוּ לִדְבָרוֹ:כה וַיֵּרָגְנוּ בְאָהֳלֵיהֶם לֹא שָׁמְעוּ בְּקוֹל יי:כו וַיִּשָּׂא יָדוֹ לָהֶם לְהַפִּיל אוֹתָם בַּמִּדְבָּר:כז וּלְהַפִּיל זַרְעָם בַּגּוֹיִם וּלְזָרוֹתָם בָּאֲרָצוֹת:כח וַיִּצָּמְדוּ לְבַעַל פְּעוֹר וַיֹּאכְלוּ זִבְחֵי מֵתִים:כט וַיַּכְעִיסוּ בְּמַעַלְלֵיהֶם וַתִּפְרָץ בָּם מַגֵּפָה:ל וַיַּעֲמֹד פִּינְחָס וַיְפַלֵּל וַתֵּעָצַר הַמַּגֵּפָה:לא וַתֵּחָשֶׁב לוֹ לִצְדָקָה לְדֹר וָדֹר עַד עוֹלָם:לב וַיַּקְצִיפוּ עַל מֵי מְרִיבָה וַיֵּרַע לְמֹשֶׁה בַּעֲבוּרָם:לג כִּי הִמְרוּ אֶת רוּחוֹ וַיְבַטֵּא בִּשְׂפָתָיו:לד לֹא הִשְׁמִידוּ אֶת הָעַמִּים אֲשֶׁר אָמַר יי לָהֶם:לה וַיִּתְעָרְבוּ בַגּוֹיִם וַיִּלְמְדוּ מַעֲשֵׂיהֶם:לו וַיַּעַבְדוּ אֶת עֲצַבֵּיהֶם וַיִּהְיוּ לָהֶם לְמוֹקֵשׁ:לז וַיִּזְבְּחוּ אֶת בְּנֵיהֶם וְאֶת בְּנוֹתֵיהֶם לַשֵּׁדִים:לח וַיִּשְׁפְּכוּ דָם נָקִי דַּם בְּנֵיהֶם וּבְנוֹתֵיהֶם אֲשֶׁר זִבְּחוּ לַעֲצַבֵּי כְנָעַן וַתֶּחֱנַף הָאָרֶץ בַּדָּמִים:לט וַיִּטְמְאוּ בְמַעֲשֵׂיהֶם וַיִּזְנוּ בְּמַעַלְלֵיהֶם:מ וַיִּחַר אַף יי בְּעַמּוֹ וַיְתָעֵב אֶת נַחֲלָתוֹ:מא וַיִּתְּנֵם בְּיַד גּוֹיִם וַיִּמְשְׁלוּ בָהֶם שֹׂנְאֵיהֶם:מב וַיִּלְחָצוּם אוֹיְבֵיהֶם וַיִּכָּנְעוּ תַּחַת יָדָם:מג פְּעָמִים רַבּוֹת יַצִּילֵם וְהֵמָּה יַמְרוּ בַעֲצָתָם וַיָּמֹכּוּ בַּעֲוֹנָם:מד וַיַּרְא בַּצַּר לָהֶם בְּשָׁמְעוֹ אֶת רִנָּתָם:מה וַיִּזְכֹּר לָהֶם בְּרִיתוֹ וַיִּנָּחֵם כְּרֹב (חסדו) חֲסָדָיו:מו וַיִּתֵּן אוֹתָם לְרַחֲמִים לִפְנֵי כָּל שׁוֹבֵיהֶם:מז הוֹשִׁיעֵנוּ יי אֱלֹהֵינוּ וְקַבְּצֵנוּ מִן הַגּוֹיִם לְהֹדוֹת לְשֵׁם קָדְשֶׁךָ לְהִשְׁתַּבֵּחַ בִּתְהִלָּתֶךָ:מח בָּרוּךְ יי אֱלֹהֵי יִשְׂרָאֵל מִן הָעוֹלָם וְעַד הָעוֹלָם וְאָמַר כָּל הָעָם אָמֵן הַלְלוּיָהּ: