Comments (8)
@vitorespindola In turret systems you will sometimes record a multi-channel speaker in ONE recording file. As a result the recording file may have more than one call in it. The 'offset' is necessary to tell you how many seconds into the recording a particular call begins.
You are right the duration is redundant. I can simply be calculated by subtracting the endTime from the startTime of the call record.
To further clarify offset here is an example.
- You are recording all your speaker calls to one recording file.
- At 9:00:00AM Jim begins a call on the speaker line A by performing a push-to-talk (PTT). The recording begins, let say file name REC98765.mp4.
- About 2 seconds later Joe shouts to Jim on a separate speaker line B.
- About 4 seconds later Joe stops shouting to Jim on speaker line B.
- About 10 seconds later Jim stops talking on line A.
The above will generate two call records and one recording files as follows:
Call Record 1: startTime=9:00:00, endTime=9:00:10, offset=00:00:00, filename=REC98765.mp4
Call Record 2: startTime=9:00:02, endTime=9:00:04, offset=00:00:02, filename=REC98765.mp4
from voice-metadata-standard.
@leop-tcto In the current draft we have callStartTime in the document root and then startTime and endTime for each callRecord. So if we substract startTime(from Call Record 2) with the callStartTime(global) we will have the same result I think.
Following your example I've tried to create a partial example here:
{
...
"callStartTime": "2019-07-11T09:00:00+00:00",
...
callRecords: [
{
// Jim
"startTime": "2019-07-11T09:00:00+00:00",
"endTime": "2019-07-11T09:00:10+00:00",
},
{
// Joe
"startTime": "2019-07-11T09:00:02+00:00",
"endTime": "2019-07-11T09:00:04+00:00"
}
]
}
Another question is shall we use relative(offset/duration) or absolute(startTime/endTime) here? I prefer to use absolute on all date-time fields in the standard for validation purposes.
from voice-metadata-standard.
Vitor - I dont think that works. These would appear as two separate calls. It would be very confusing to base a call start time on when a recording takes place. Maybe this should be recordingstarttime?
from voice-metadata-standard.
@kemmiso I think @vitorespindola mean that the item called callStartTime is really recordingStartTime. If we rename it to that maybe it will help? @vitorespindola is this what you mean?
from voice-metadata-standard.
Yep sorry - that was kind of what I was saying/clarifying.
from voice-metadata-standard.
@leop-tcto @kemmiso, yes. callStartTime is the name in the current draft, and I agree that renaming to recordingStartTime will make it clearer.
@leop-tcto do you think this way will work without the offset attribute?
{
...
"recordingStartTime": "2019-07-11T09:00:00+00:00",
...
"callRecords": [
{
// Jim
"startTime": "2019-07-11T09:00:00+00:00",
"endTime": "2019-07-11T09:00:10+00:00",
},
{
// Joe
"startTime": "2019-07-11T09:00:02+00:00",
"endTime": "2019-07-11T09:00:04+00:00"
}
]
}
from voice-metadata-standard.
@vitorespindola I agree that we do not need offset if we have what you propose. Offset could be calculated by subtracting the call record start time from the call recording start time.
from voice-metadata-standard.
@leop-tcto @kemmiso I've created a PR based on our discussion. Please evaluate and comment or approve it.
Please check out the following items:
-
callStartTime is renamed to recordingStartTime - This is OK if the initial idea of the callStartTime field(originally timeStampForCallStart from Cloud9) is to store the recording start time. @leop-tcto this is the initial idea of timeStampForCallStart field or it is related to initial call connection?
-
It keeps absolute date-time fields(startTime/endTime) instead of the relative ones(offset/duration).
-
There are some changes in the description of the fields, please review them.
from voice-metadata-standard.
Related Issues (15)
- Standard Grammar HOT 2
- all IDs should be UUIDs HOT 1
- app specific fields should be removed HOT 3
- be flexible on the hashing algorithm HOT 3
- Finance or General metadata? HOT 5
- Define required fields on the JSON Schema HOT 1
- Move universalCallID to schema root HOT 1
- move confluence roadmap here HOT 2
- Structure the schema into reusable and clearer parts
- Support call transcription HOT 2
- Add example files
- Examples should not have both JSON and YML HOT 2
- enum call-types prevent future-proofing. HOT 3
- farEnd language confusing HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from voice-metadata-standard.