app.gainforest.ac.audio

gainforest.earth

Schema Diff

+2 -1

From

CID
bafyreifm375mia3...
Indexed At
2026-04-29 13:07 UTC
View this version

To

CID
bafyreihhiocqerm...
Indexed At
2026-04-29 14:33 UTC
View this version

Compatibility Analysis

Backward Compatible

No changes detected.

1 1
{
2 2
  "id": "app.gainforest.ac.audio",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "blob",
11 11
          "metadata",
12 12
          "createdAt"
13 13
        ],
14 14
        "properties": {
15 15
          "blob": {
16 16
            "ref": "app.gainforest.common.defs#audio",
17 17
            "type": "ref",
18 18
            "description": "The audio file blob stored on the PDS."
19 19
          },
20 20
          "name": {
21 21
            "type": "string",
22 22
            "description": "A short human-readable name or label for this audio recording.",
23 23
            "maxGraphemes": 256
24 24
          },
25 25
          "tags": {
26 26
            "type": "array",
27 27
            "items": {
28 28
              "type": "string",
29 29
              "maxGraphemes": 64
30 30
            },
31 31
            "maxLength": 20,
32 32
            "description": "Freeform tags for the recording (e.g., 'dawn-chorus', 'rain', 'chainsaw', 'anthropogenic-noise'). Aligns with AC ac:tag."
33 33
          },
34 34
          "license": {
35 35
            "type": "string",
36 36
            "description": "License for this recording (e.g., CC-BY-4.0, CC0-1.0). Aligns with AC dcterms:rights.",
37 37
            "maxGraphemes": 256
38 38
          },
39 39
          "siteRef": {
40 40
            "type": "string",
41 41
            "format": "at-uri",
42 42
            "description": "AT-URI of the organization site record where this audio was captured."
43 43
          },
44 44
          "metadata": {
45 45
            "ref": "#metadata",
46 46
            "type": "ref",
47 47
            "description": "Technical audio metadata (codec, sample rate, duration, frequency bounds, etc.)."
48 48
          },
49 49
          "createdAt": {
50 50
            "type": "string",
51 51
            "format": "datetime",
52 52
            "description": "Timestamp of record creation in the ATProto PDS."
53 53
          },
54 54
          "thumbnail": {
55 55
            "ref": "app.gainforest.common.defs#imageThumbnail",
56 56
            "type": "ref",
57 57
            "description": "Thumbnail image for display in list views."
58 58
          },
59 59
          "recordedBy": {
60 60
            "type": "string",
61 61
            "description": "Name of the person or agent who made the recording. Aligns with AC dc:creator. For automated deployments, this is the person who deployed the device.",
62 62
            "maxGraphemes": 512
63 63
          },
64 64
          "description": {
65 65
            "ref": "app.gainforest.common.defs#richtext",
66 66
            "type": "ref",
67 67
            "description": "A longer human-readable description of the audio recording content."
68 68
          },
69 69
          "spectrogram": {
70 70
            "ref": "app.gainforest.common.defs#spectrogram",
71 71
            "type": "ref",
72 72
            "description": "Spectrogram image of the recording (visual frequency-time representation)."
73 73
          },
74 74
          "deploymentRef": {
75 75
            "type": "string",
76 76
            "format": "at-uri",
77 77
            "description": "AT-URI of the ac.deployment record describing the recording device setup (device model, gain, location, schedule, etc.)."
78 78
          },
79 79
          "occurrenceRef": {
80 80
            "type": "string",
81 81
            "format": "at-uri",
82 82
            "description": "AT-URI of the dwc.occurrence record this audio is evidence for. Use when this recording documents a specific species detection or biodiversity observation."
83 83
          }
84 84
        }
85 -
      }
85 +
      },
86 +
      "description": "An audio recording record with technical metadata and optional links to occurrence, deployment, and site records."
86 87
    },
87 88
    "metadata": {
88 89
      "type": "object",
89 90
      "required": [
90 91
        "channels",
91 92
        "duration",
92 93
        "sampleRate",
93 94
        "recordedAt"
94 95
      ],
95 96
      "properties": {
96 97
        "codec": {
97 98
          "type": "string",
98 99
          "description": "Audio codec (e.g., 'PCM', 'FLAC', 'MP3', 'AAC').",
99 100
          "maxGraphemes": 32
100 101
        },
101 102
        "bitDepth": {
102 103
          "type": "integer",
103 104
          "maximum": 64,
104 105
          "minimum": 8,
105 106
          "description": "Bits per sample (e.g., 16, 24, 32)."
106 107
        },
107 108
        "channels": {
108 109
          "type": "integer",
109 110
          "minimum": 1,
110 111
          "description": "Number of audio channels (1 = mono, 2 = stereo)."
111 112
        },
112 113
        "duration": {
113 114
          "type": "string",
114 115
          "description": "Duration of the recording in seconds (e.g., '300.0').",
115 116
          "maxGraphemes": 32
116 117
        },
117 118
        "fileFormat": {
118 119
          "type": "string",
119 120
          "description": "File format (e.g., 'WAV', 'FLAC', 'MP3'). Aligns with AC dc:format.",
120 121
          "maxGraphemes": 32
121 122
        },
122 123
        "recordedAt": {
123 124
          "type": "string",
124 125
          "format": "datetime",
125 126
          "description": "Date and time the audio was captured (start of recording). Aligns with AC xmp:CreateDate."
126 127
        },
127 128
        "sampleRate": {
128 129
          "type": "integer",
129 130
          "minimum": 1,
130 131
          "description": "Sample rate in Hz (e.g., 44100, 48000, 384000 for ultrasonic). Aligns with AC mo:sample_rate."
131 132
        },
132 133
        "fileSizeBytes": {
133 134
          "type": "integer",
134 135
          "minimum": 0,
135 136
          "description": "File size in bytes."
136 137
        },
137 138
        "maxFrequencyHz": {
138 139
          "type": "integer",
139 140
          "minimum": 0,
140 141
          "description": "Highest frequency present in the recording in Hz. Aligns with AC ac:freqHigh."
141 142
        },
142 143
        "minFrequencyHz": {
143 144
          "type": "integer",
144 145
          "minimum": 0,
145 146
          "description": "Lowest frequency present in the recording in Hz. Aligns with AC ac:freqLow."
146 147
        },
147 148
        "filterLowPassHz": {
148 149
          "type": "integer",
149 150
          "minimum": 0,
150 151
          "description": "Low-pass filter cutoff frequency in Hz applied during or after recording. Aligns with AC ac:filterLowPass."
151 152
        },
152 153
        "filterHighPassHz": {
153 154
          "type": "integer",
154 155
          "minimum": 0,
155 156
          "description": "High-pass filter cutoff frequency in Hz applied during or after recording. Aligns with AC ac:filterHighPass."
156 157
        },
157 158
        "signalToNoiseRatio": {
158 159
          "type": "string",
159 160
          "description": "Signal-to-noise ratio in dB.",
160 161
          "maxGraphemes": 32
161 162
        }
162 163
      },
163 164
      "description": "Technical audio metadata. These are properties of the audio file itself, not the recording context (location, weather, device). Aligns with AC Resource Creation Vocabulary and Music Ontology terms."
164 165
    }
165 166
  },
166 167
  "$type": "com.atproto.lexicon.schema",
167 168
  "lexicon": 1,
168 169
  "description": "Generic audio resource record aligned with the TDWG Audiovisual Core standard (http://www.tdwg.org/standards/638). Represents a single audio recording (field recording, soundscape, species call) with its technical metadata. Links to a dwc.occurrence as evidence and optionally to an ac.deployment describing the recording device setup. Does not carry location, weather, habitat, or device fields — those belong on dwc.event, dwc.occurrence, or ac.deployment respectively."
169 170
}

Compare Other Versions

Lexicon Garden

@