Initial commit: ACE-Step UI - Open source music generation interface
This commit is contained in:
@@ -0,0 +1,145 @@
|
||||
export interface Song {
|
||||
id: string;
|
||||
title: string;
|
||||
lyrics: string;
|
||||
style: string;
|
||||
coverUrl: string;
|
||||
duration: string;
|
||||
createdAt: Date;
|
||||
isGenerating?: boolean;
|
||||
queuePosition?: number; // Position in queue (undefined = actively generating, number = waiting in queue)
|
||||
tags: string[];
|
||||
audioUrl?: string;
|
||||
isPublic?: boolean;
|
||||
likeCount?: number;
|
||||
viewCount?: number;
|
||||
userId?: string;
|
||||
creator?: string;
|
||||
creator_avatar?: string;
|
||||
}
|
||||
|
||||
export interface Playlist {
|
||||
id: string;
|
||||
name: string;
|
||||
description?: string;
|
||||
coverUrl?: string;
|
||||
cover_url?: string;
|
||||
songIds?: string[];
|
||||
isPublic?: boolean;
|
||||
is_public?: boolean;
|
||||
user_id?: string;
|
||||
creator?: string;
|
||||
created_at?: string;
|
||||
song_count?: number;
|
||||
songs?: any[];
|
||||
}
|
||||
|
||||
export interface Comment {
|
||||
id: string;
|
||||
songId: string;
|
||||
userId: string;
|
||||
username: string;
|
||||
content: string;
|
||||
createdAt: Date;
|
||||
}
|
||||
|
||||
export interface GenerationParams {
|
||||
// Mode
|
||||
customMode: boolean;
|
||||
|
||||
// Simple Mode
|
||||
songDescription?: string;
|
||||
|
||||
// Custom Mode
|
||||
prompt: string;
|
||||
lyrics: string;
|
||||
style: string;
|
||||
title: string;
|
||||
|
||||
// Common
|
||||
instrumental: boolean;
|
||||
vocalLanguage: string;
|
||||
|
||||
// Music Parameters
|
||||
bpm: number;
|
||||
keyScale: string;
|
||||
timeSignature: string;
|
||||
duration: number;
|
||||
|
||||
// Generation Settings
|
||||
inferenceSteps: number;
|
||||
guidanceScale: number;
|
||||
batchSize: number;
|
||||
randomSeed: boolean;
|
||||
seed: number;
|
||||
thinking: boolean;
|
||||
audioFormat: 'mp3' | 'flac';
|
||||
inferMethod: 'ode' | 'sde';
|
||||
shift: number;
|
||||
|
||||
// LM Parameters
|
||||
lmTemperature: number;
|
||||
lmCfgScale: number;
|
||||
lmTopK: number;
|
||||
lmTopP: number;
|
||||
lmNegativePrompt: string;
|
||||
|
||||
// Expert Parameters
|
||||
referenceAudioUrl?: string;
|
||||
sourceAudioUrl?: string;
|
||||
audioCodes?: string;
|
||||
repaintingStart?: number;
|
||||
repaintingEnd?: number;
|
||||
instruction?: string;
|
||||
audioCoverStrength?: number;
|
||||
taskType?: string;
|
||||
useAdg?: boolean;
|
||||
cfgIntervalStart?: number;
|
||||
cfgIntervalEnd?: number;
|
||||
customTimesteps?: string;
|
||||
useCotMetas?: boolean;
|
||||
useCotCaption?: boolean;
|
||||
useCotLanguage?: boolean;
|
||||
autogen?: boolean;
|
||||
constrainedDecodingDebug?: boolean;
|
||||
allowLmBatch?: boolean;
|
||||
getScores?: boolean;
|
||||
getLrc?: boolean;
|
||||
scoreScale?: number;
|
||||
lmBatchChunkSize?: number;
|
||||
trackName?: string;
|
||||
completeTrackClasses?: string[];
|
||||
isFormatCaption?: boolean;
|
||||
}
|
||||
|
||||
export interface PlayerState {
|
||||
currentSong: Song | null;
|
||||
isPlaying: boolean;
|
||||
progress: number;
|
||||
volume: number;
|
||||
}
|
||||
|
||||
export interface User {
|
||||
id: string;
|
||||
username: string;
|
||||
createdAt: Date;
|
||||
followerCount?: number;
|
||||
followingCount?: number;
|
||||
isFollowing?: boolean;
|
||||
isAdmin?: boolean;
|
||||
avatar_url?: string;
|
||||
banner_url?: string;
|
||||
}
|
||||
|
||||
export interface UserProfile {
|
||||
user: User;
|
||||
publicSongs: Song[];
|
||||
publicPlaylists: Playlist[];
|
||||
stats: {
|
||||
totalSongs: number;
|
||||
totalLikes: number;
|
||||
};
|
||||
}
|
||||
|
||||
// Simplified views for ACE-Step UI
|
||||
export type View = 'create' | 'library' | 'profile' | 'song' | 'playlist' | 'search';
|
||||
Reference in New Issue
Block a user