성문 분석
음성 데이터를 처리하여 화자 간 유사성을 비교하는 기능입니다.
음성 파일에서 x-vector를 추출하여 화자의 특징 벡터를 생성하고 이를 기반으로 두 화자의 벡터 간 코사인 유사도를 계산하여 화자의 유사성을 비교합니다.
유사도 점수를 기반으로 화자가 동일인인지에 대한 해석을 제공합니다.
화자 분석을 통하여 화자가 동일인인지 확인할 수 있습니다
변성을 하거나 말투를 바꾸어도 정확하게 확인이 가능합니다
음성 파일에서 x-vector를 추출하여 화자의 특징 벡터를 생성하고 이를 기반으로 두 화자의 벡터 간 코사인 유사도를 계산하여 화자의 유사성을 비교합니다.
유사도 점수를 기반으로 화자가 동일인인지에 대한 해석을 제공합니다.
화자 분석을 통하여 화자가 동일인인지 확인할 수 있습니다
변성을 하거나 말투를 바꾸어도 정확하게 확인이 가능합니다
AudioWatermark
오디오 서비스를 제공할 때 가장 큰 문제를 따져보자면 불법복제가 아닐까 싶습니다.
오디오 워터마크를 사용하면 사람이 들을 수 없는 음역대에 고유한 전자 식별자를 심어 사용자를 식별할 수 있게 됩니다.
오디오 워터마크를 사용하면 사람이 들을 수 없는 음역대에 고유한 전자 식별자를 심어 사용자를 식별할 수 있게 됩니다.
CloverFramework
Clover Framework는 PHP의 데이터 타입을 객체 형태로 수정하여 PHP의 함수를 사용하지 않고도 기능을 구현할 수 있습니다.
또한 Router, Dependency Injection(DI)과 같은 클래스를 기본적으로 제공하여 빠르게 사이트를 구현할 수 있습니다.
Clover Framework의 CoreJS를 통하여 위치정보 확인, 오디오 플레이어, 오디오 녹음, 브라우저 알림, 웹DB, TTS, 팝업 등의 기능을 간략한 코드를 통하여 구현할 수 있습니다.
또한 Router, Dependency Injection(DI)과 같은 클래스를 기본적으로 제공하여 빠르게 사이트를 구현할 수 있습니다.
Clover Framework의 CoreJS를 통하여 위치정보 확인, 오디오 플레이어, 오디오 녹음, 브라우저 알림, 웹DB, TTS, 팝업 등의 기능을 간략한 코드를 통하여 구현할 수 있습니다.
<?xml version="1.0" ?>
<container>
<services>
<service key="Renderer" class="Clover\Framework\Component\Renderer"/>
<service key="Resource" class="Clover\Framework\Component\Resource"/>
<service key="Logger" class="Clover\Classes\Logging\Logger"/>
</services>
</container>
Clover Framework는 의존성 주입을 통하여 기존의 PHP 파일 단위의 기능 개발 형식을 벗어난 효율적인 패턴을 도입하였습니다.
MVC
익숙한 MVC 패턴과 Annotation을 통한 라우트 경로 설정, Middleware 같은 기능을 통하여 편리하게 어플리케이션을 제작하세요.
class IndexController extends BaseController
{
#[Annotation\Middleware('DefaultMiddleware')]
#[Annotation\Route(method: 'GET', pattern: '/')]
public function index()
{
return $this->render('/App/View/index.php');
}
}
CoreJS
CoreJS에는 EventDispatcher를 통한 컴포넌트가 기본적으로 제공됩니다.
AudioRecorder, AudioPlayer, Clipboard, FileService, GamePad, MediaPlayer, Pagination, ScreenService, NotificationService, EventService, WebsocketService, RequestService, MediaSessionService, OpenGL 등등 다양한 기능을 제공합니다.
AudioRecorder, AudioPlayer, Clipboard, FileService, GamePad, MediaPlayer, Pagination, ScreenService, NotificationService, EventService, WebsocketService, RequestService, MediaSessionService, OpenGL 등등 다양한 기능을 제공합니다.
import { MediaPlayer, VisualizerStyle } from "./src/Component/MediaPlayer";
const mediaPlayer = new MediaPlayer();
mediaPlayer.setContext(document.getElementById("player"));
mediaPlayer.setEvents();
mediaPlayer.setVisualizerStyle("circular");
mediaPlayer.setSpectrum(VisualizerStyle.ROTATE_CIRCLE);
const onClickEvent = function () {
mediaPlayer.connectPanEffector();
mediaPlayer.setParseFrequencyTimeout(1000 / 35);
mediaPlayer.play();
};
document.getElementById("play").addEventListener("click", onClickEvent);
const openGL = new OpenGLObject("canvas");
openGL.initialize();
openGL.setClearBufferBit();
const vertexShadow = `
attribute vec3 position;
uniform mat4 matrixShadowMatrix1;
uniform mat4 matrixShadowMatrix2;
void main() {
gl_Position = matrixShadowMatrix1 * matrixShadowMatrix2 * vec4(position, 1.0);
}
`;
const fragmentShadow = `
precision mediump float;
uniform vec3 color;
void main() {
gl_FragColor = vec4(color, 1.0);
}
`;
const compiledVertexShadow = openGL.getVertexShader(vertexShadow);
const compiledFragmentShadow = openGL.getFragmentShader(fragmentShadow);
const program = openGL.createProgram();
openGL.attachShader(program, compiledVertexShadow);
openGL.attachShader(program, compiledFragmentShadow);
openGL.linkProgram(program);
openGL.useProgram(program);