namespace OCES.Resonance.Core; /// /// 音频文件元数据实体类,对应音频资产管理系统中的文件记录 /// public class AudioFileMeta { #region 必备条目 /// 主键ID,音频文件的唯一数字标识符 public required int Id { get; set; } /// 全局唯一标识符,通常为UUID,用于跨系统识别 public required string UniqueId { get; set; } /// 文件的MD5值,用于查重 public required string Md5 { get; set; } /// 原始导入路径,音频文件被导入时的完整文件路径 public required string Path { get; set; } /// 文件名,包含扩展名的音频文件名称(如 sound.wav) public required string Filename { get; set; } /// 文件夹,文件所在的文件夹名称 public required string Folder { get; set; } /// 目录,文件的存储目录路径 public required string Directory { get; set; } /// 时长,音频文件的播放长度(通常以秒为单位) public required double Duration { get; set; } /// 位深度,音频采样位深(如 16、24、32 bit) public required int BitDepth { get; set; } /// 声道数,如 1=单声道、2=立体声、6=5.1环绕声 public required int Channels { get; set; } /// 采样率,如 44100、48000、96000 Hz public required double SampleRate { get; set; } /// 文件类型,音频格式(WAV、MP3、AIFF、FLAC等) public required string Type { get; set; } /// 导入日期,音频入库的时间 public required DateTime DateAdded { get; set; } /// 修改日期,音频创建或录制的日期 public required DateTime OriginalModificationDate { get; set; } /// 创建时间,音频文件的原始创建时间 public required DateTime OriginationTime { get; set; } #endregion ///声道配置 public string? ChannelLayout { get; set; } /// 短ID,便于人工识别或显示的简短标识 public string? ShortId { get; set; } /// 节拍速度,每分钟节拍数,用于音乐类音频 public double? Bpm { get; set; } /// 帧率,视频同步用的时间基准(如 24fps、25fps、30fps) public string? FrameRate { get; set; } /// 时间码,用于音视频同步的时间戳信息 public int? Timecode { get; set; } /// 描述,音频内容的文字说明 public string? Description { get; set; } /// 分类,音频的大类(如:音效、音乐、对白、环境音) public string? Category { get; set; } /// 子分类,更细分的类别(如:交通→汽车→引擎) public string? Subcategory { get; set; } /// CatId public string? CatId { get; set; } public string? CategoryFull { get; set; } /// 流派,音乐风格分类(如:摇滚、古典、电子) public string? Genre { get; set; } /// 风格,更具体的风格描述 public string? Style { get; set; } /// 情绪,音频传达的情感氛围(如:紧张、欢快、悲伤) public string? Mood { get; set; } /// 关键词,用于搜索的标签,多个关键词通常用逗号分隔 public string? Keywords { get; set; } /// 评分,音频质量或推荐度评分(如 0-5星) public uint? Rating { get; set; } /// 艺术家,表演者或演奏者名称 public string? Artist { get; set; } /// 作曲家,音乐创作者 public string? Composer { get; set; } /// 设计师,音效设计师名称 public string? Designer { get; set; } /// 录音师,现场录音人员 public string? Recordist { get; set; } /// 出版商,发行方或版权持有方 public string? Publisher { get; set; } /// 制造商,音频库或设备的制作方 public string? Manufacturer { get; set; } /// 来源方,原始创建者或来源机构 public string? BwfOriginator { get; set; } /// 来源引用,原始来源的参考编号 public string? BwfOriginatorRef { get; set; } public DateTime? BwfDate { get; set; } public string? BwfDescription { get; set; } /// 项目名称,所属制作项目 public string? ProjectName { get; set; } /// 音频库,所属音效库或音乐库的名称 public string? Library { get; set; } /// CD标题,原始CD专辑名称 public string? CdTitle { get; set; } public int? DiscNumber { get; set; } /// 曲目标题,音乐或音轨的标题 public string? TrackTitle { get; set; } public int? TrackNumber { get; set; } /// 剧集,所属剧集或系列编号 public string? Episode { get; set; } /// 场景,对应的影视场景标识 public string? Scene { get; set; } /// 条次,录音的版本号或拍摄条次 public string? Take { get; set; } /// 磁带,原始磁带编号(历史遗留字段) public string? Tape { get; set; } /// 提示号,播放列表或乐谱中的编号 public int? CueNumber { get; set; } /// 同步点,用于音视频同步的参考点 public int? SyncPoint { get; set; } public DateTime? ReleaseDate { get; set; } public int? TrackYear { get; set; } /// 是否已编辑,布尔值(0=否,1=是) public bool? IsEdited { get; set; } /// 是否已分割,布尔值,标记是否从长文件中分割出来 public bool? IsSplit { get; set; } /// 位置,录音地点或存储位置 public string? Location { get; set; } /// Content group description Used if the sound belongs to a larger category of sounds/music. For example, classical music is often sorted in different musical sections (e.g. "Piano Concerto"). public string? Group { get; set; } /// 标记点,音频内的关键时间点标记 public string? Markers { get; set; } /// 注释,用户或系统添加的备注 public string? Comments { get; set; } /// 备注,额外的说明信息 public string? Notes { get; set; } /// 版权,版权声明信息 public string? Copyright { get; set; } /// 编码历史,BWF格式的编码历史记录 public string? CodingHistory { get; set; } /// 麦克风,录音使用的麦克风型号或设置 public string? Microphone { get; set; } public string? MicPerspective { get; set; } // 用户自定义字段(共8个) /// 用户自定义字段1 public string? User1 { get; set; } /// 用户自定义字段2 public string? User2 { get; set; } /// 用户自定义字段3 public string? User3 { get; set; } /// 用户自定义字段4 public string? User4 { get; set; } /// 用户自定义字段5 public string? User5 { get; set; } /// 用户自定义字段6 public string? User6 { get; set; } /// 用户自定义字段7 public string? User7 { get; set; } /// 用户自定义字段8 public string? User8 { get; set; } }