OSDN Git Service

読み上げ機能実装途中
authorqwerty2501 <riot313@gmail.com>
Sun, 19 Feb 2012 15:15:29 +0000 (00:15 +0900)
committerqwerty2501 <riot313@gmail.com>
Sun, 19 Feb 2012 15:15:29 +0000 (00:15 +0900)
16 files changed:
nlite.sln
nlite.suo
open_jtalk_lib/open_jtalk_lib.h
speaker/ReadMe.txt [new file with mode: 0644]
speaker/mei_normal.cpp [new file with mode: 0644]
speaker/mei_normal.h [new file with mode: 0644]
speaker/open_jtalk_core.cpp [new file with mode: 0644]
speaker/open_jtalk_core.h [new file with mode: 0644]
speaker/speaker.vcxproj [new file with mode: 0644]
speaker/speaker.vcxproj.filters [new file with mode: 0644]
speaker/speaker.vcxproj.user [new file with mode: 0644]
speaker/speaker_define.h [new file with mode: 0644]
speaker/speaker_include.h [new file with mode: 0644]
speaker/stdafx.cpp [new file with mode: 0644]
speaker/stdafx.h [new file with mode: 0644]
speaker/targetver.h [new file with mode: 0644]

index 8d07067..9b86048 100644 (file)
--- a/nlite.sln
+++ b/nlite.sln
@@ -40,6 +40,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nlite_stub", "nlite_stub\nl
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "open_jtalk_lib", "open_jtalk_lib\open_jtalk_lib.vcxproj", "{125DDEDE-934B-4B5D-B2F3-6635B1E99EC1}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speaker", "speaker\speaker.vcxproj", "{FBE9021E-5717-4EEE-A3AC-E4516C8A29AD}"
+EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
                Debug|Win32 = Debug|Win32
@@ -82,6 +84,10 @@ Global
                {125DDEDE-934B-4B5D-B2F3-6635B1E99EC1}.Debug|Win32.Build.0 = Debug|Win32
                {125DDEDE-934B-4B5D-B2F3-6635B1E99EC1}.Release|Win32.ActiveCfg = Release|Win32
                {125DDEDE-934B-4B5D-B2F3-6635B1E99EC1}.Release|Win32.Build.0 = Release|Win32
+               {FBE9021E-5717-4EEE-A3AC-E4516C8A29AD}.Debug|Win32.ActiveCfg = Debug|Win32
+               {FBE9021E-5717-4EEE-A3AC-E4516C8A29AD}.Debug|Win32.Build.0 = Debug|Win32
+               {FBE9021E-5717-4EEE-A3AC-E4516C8A29AD}.Release|Win32.ActiveCfg = Release|Win32
+               {FBE9021E-5717-4EEE-A3AC-E4516C8A29AD}.Release|Win32.Build.0 = Release|Win32
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 05d20bc..409e1de 100644 (file)
Binary files a/nlite.suo and b/nlite.suo differ
index 2a02ff2..7505dc1 100644 (file)
@@ -57,7 +57,6 @@
 
 #include "open_jtalk\mecab\src\mecab.h"
 #include "hts_engine_API\include\HTS_engine.h"
-#include "hts_engine_API\lib\HTS_hidden.h"
 #include "open_jtalk\jpcommon\jpcommon.h"
 #include "open_jtalk\njd\njd.h"
 #include "open_jtalk\mecab2njd\mecab2njd.h"
diff --git a/speaker/ReadMe.txt b/speaker/ReadMe.txt
new file mode 100644 (file)
index 0000000..6eee5a0
--- /dev/null
@@ -0,0 +1,43 @@
+========================================================================
+    スタティック ライブラリ: speaker プロジェクトの概要
+========================================================================
+
+この speaker ライブラリ プロジェクトは、AppWizard 
+により作成されました。
+
+このファイルには、speaker 
+アプリケーションを構成する各ファイルの内容の概要が含まれています。
+
+
+speaker.vcxproj
+    これは、アプリケーション ウィザードを使用して生成された VC++ 
+    プロジェクトのメイン プロジェクト ファイルです。
+    ファイルを生成した Visual C++ のバージョンに関する情報と、アプリケーション 
+    ウィザードで選択されたプラットフォーム、
+    構成、およびプロジェクト機能に関する情報が含まれています。
+
+speaker.vcxproj.filters
+    これは、アプリケーション ウィザードで生成された VC++ プロジェクトのフィルター 
+    ファイルです。 
+    このファイルには、プロジェクト内のファイルとフィルターとの間の関連付けに関する
+    情報が含まれています。 この関連付けは、特定のノー
+    ドで同様の拡張子を持つファイルのグループ化を
+    示すために IDE で使用されます (たとえば、".cpp" ファイルは "ソース ファイル" 
+    フィルターに関連付けられています)。
+
+
+/////////////////////////////////////////////////////////////////////////////
+
+StdAfx.h、StdAfx.cpp
+    これらのファイルは、speaker.pch 
+    という名前のプリコンパイル済みヘッダー (PCH) ファイルと、StdAfx.obj 
+    という名前のプリコンパイル済みの型ファイルを構築するために使用されます。
+
+/////////////////////////////////////////////////////////////////////////////
+その他のメモ :
+
+AppWizard では "TODO:" 
+コメントを使用して、ユーザーが追加またはカスタマイズする必要のあるソース 
+コードを示します。
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/speaker/mei_normal.cpp b/speaker/mei_normal.cpp
new file mode 100644 (file)
index 0000000..4f7e340
--- /dev/null
@@ -0,0 +1,35 @@
+#include "stdafx.h"
+#include "speaker_include.h"
+
+
+namespace speaker{
+namespace openJtalk{
+
+
+///
+///\83R\83\93\83X\83g\83\89\83N\83^
+///
+CMeiNormal::CMeiNormal()
+{}
+
+
+///
+///\8f\89\8aú\89»\8aÖ\90\94
+///
+void CMeiNormal::Initialize(){
+
+       COpenJtalkCore::Initialize(true,48000,240,0.55,0,0.0,1600,0.5,false,0.7,0.5,1.0);
+
+       return;
+}
+
+
+void CMeiNormal::Load(const TChar_P voiceDataDir,const TChar_P dictionaryDataDir){
+
+       //COpenJtalkCore::Load(voiceDataDir,dictionaryDataDir,"dur.pdf","tree-dur.inf","mgc.pdf",
+       return;
+}
+
+
+}
+}
\ No newline at end of file
diff --git a/speaker/mei_normal.h b/speaker/mei_normal.h
new file mode 100644 (file)
index 0000000..c80a5a3
--- /dev/null
@@ -0,0 +1,30 @@
+#pragma once
+
+
+namespace speaker{
+namespace openJtalk{
+
+       class CMeiNormal:public COpenJtalkCore{
+
+
+               ///
+               ///\83R\83\93\83X\83g\83\89\83N\83^
+               ///
+               CMeiNormal();
+
+
+               ///
+               ///\8f\89\8aú\89»\8aÖ\90\94
+               ///
+               void Initialize();
+
+
+               ///
+               ///\89¹\90º\83f\81[\83^\93Ç\82Ý\8eæ\82è
+               ///
+               void Load(const TChar_P voiceDataDir,const TChar_P dictionaryDataDir);
+       };
+
+
+}
+}
\ No newline at end of file
diff --git a/speaker/open_jtalk_core.cpp b/speaker/open_jtalk_core.cpp
new file mode 100644 (file)
index 0000000..fe8a611
--- /dev/null
@@ -0,0 +1,100 @@
+#include "stdafx.h"
+#include "speaker_include.h"
+
+namespace speaker{
+namespace openJtalk{
+
+
+
+COpenJtalkCore::COpenJtalkCore():
+manageFlag(false){}
+
+
+COpenJtalkCore::~COpenJtalkCore(){
+       if(this->manageFlag == true)this->Clear();
+}
+
+void COpenJtalkCore::Initialize( HTS_Boolean use_lpf, int sampling_rate,
+                          int fperiod, double alpha, int stage, double beta, int audio_buff_size,
+                          double uv_threshold, HTS_Boolean use_log_gain, double gv_weight_mgc,
+                          double gv_weight_lf0, double gv_weight_lpf){
+                                                         if(this->manageFlag == true)this->Clear();
+                                                         ::OpenJTalk_initialize(&this->openJtalk_internal,use_lpf,sampling_rate,fperiod,alpha,stage,
+                                                                 beta,audio_buff_size,uv_threshold,use_log_gain,gv_weight_mgc,gv_weight_lf0,gv_weight_lpf);
+
+                                                         this->manageFlag = true;
+}
+
+void COpenJtalkCore::Load( const TChar_P in_voiceDataDir,const TChar_P in_dictinalyDataDir, Char_P fn_ms_dur, Char_P fn_ts_dur,
+            Char_P fn_ms_mgc, Char_P fn_ts_mgc, Char_P *fn_ws_mgc, int num_ws_mgc,
+            Char_P fn_ms_lf0, Char_P fn_ts_lf0, Char_P *fn_ws_lf0, int num_ws_lf0,
+            Char_P fn_ms_lpf, Char_P fn_ts_lpf, Char_P *fn_ws_lpf, int num_ws_lpf,
+            Char_P fn_ms_gvm, Char_P fn_ts_gvm, Char_P fn_ms_gvl, Char_P fn_ts_gvl,
+            Char_P fn_ms_gvf, Char_P fn_ts_gvf,Char_P fn_gv_switch){
+
+                               if(this->manageFlag == true){
+
+                                       CStringA dictionaryDataDir(in_dictinalyDataDir);                        //\8e«\8f\91\83f\81[\83^\83f\83B\83\8c\83N\83g\83\8a
+                                       CStringA voiceDataDir(in_voiceDataDir);                         //\89¹\90º\81[\83f\81[\83^\83f\83B\83\8c\83N\83g\83\8a
+
+                                       std::vector<Char_P> ws_mgcList(num_ws_mgc);
+
+
+                                       for(int ws_mgc_index = 0;ws_mgc_index < num_ws_mgc;++ws_mgc_index){
+
+                                               ws_mgcList.push_back((char *)(const char*)(voiceDataDir + fn_ws_mgc[ws_mgc_index]));
+                                       }
+
+                                       std::vector<Char_P> ws_lf0List(num_ws_lf0);
+
+                                       for(int ws_lf0Index = 0;ws_lf0Index < num_ws_lf0;++ws_lf0Index){
+
+                                               ws_mgcList.push_back((char *)(const char*)(voiceDataDir + fn_ws_mgc[ws_lf0Index]));
+                                       }
+
+                                       std::vector<Char_P> ws_lpfList(num_ws_lpf);
+
+                                       for(int ws_lpfIndex = 0;ws_lpfIndex < num_ws_lpf;++ws_lpfIndex){
+
+                                               ws_mgcList.push_back((char *)(const char*)(voiceDataDir + fn_ws_mgc[ws_lpfIndex]));
+                                       }
+
+                                       ::OpenJTalk_load(&this->openJtalk_internal,
+                                               (char *)(const char*)(dictionaryDataDir),
+                                               (char *)(const char*)(voiceDataDir +fn_ms_dur),
+                                               (char *)(const char*)(voiceDataDir +fn_ts_dur),
+                                               (char *)(const char*)(voiceDataDir +fn_ms_mgc),
+                                               (char *)(const char*)(voiceDataDir +fn_ts_mgc),
+                                               &ws_mgcList[0],
+                                               num_ws_mgc,
+                                               (char *)(const char*)(voiceDataDir +fn_ms_lf0),
+                                               (char *)(const char*)(voiceDataDir +fn_ts_lf0),
+                                               &ws_mgcList[0],
+                                               num_ws_lf0,
+                                               (char *)(const char*)(voiceDataDir +fn_ms_lpf),
+                                               (char *)(const char*)(voiceDataDir +fn_ts_lpf),
+                                               &ws_lpfList[0],
+                                               num_ws_lpf,
+                                               (char *)(const char*)(voiceDataDir +fn_ms_gvm),
+                                               (char *)(const char*)(voiceDataDir +fn_ts_gvm),
+                                               (char *)(const char*)(voiceDataDir +fn_ms_gvl),
+                                               (char *)(const char*)(voiceDataDir +fn_ts_gvl),
+                                               (char *)(const char*)(voiceDataDir +fn_ms_gvf),
+                                               (char *)(const char*)(voiceDataDir +fn_ts_gvf),
+                                               fn_gv_switch
+                                               );
+                               }
+}
+               
+void COpenJtalkCore::Synthesis( Char_P txt, FILE * wavfp, FILE * logfp){
+       ::OpenJTalk_synthesis(&this->openJtalk_internal,txt,wavfp,logfp);
+}
+
+
+void COpenJtalkCore::Clear(){
+       ::OpenJTalk_clear(&this->openJtalk_internal);
+       this->manageFlag = false;
+}
+
+}
+}
\ No newline at end of file
diff --git a/speaker/open_jtalk_core.h b/speaker/open_jtalk_core.h
new file mode 100644 (file)
index 0000000..ad76cc5
--- /dev/null
@@ -0,0 +1,71 @@
+#pragma once
+
+namespace speaker{
+namespace openJtalk{
+       
+       ///
+       ///OpenJtalk\82ð\83\89\83b\83v\82µ\82½\83N\83\89\83X
+       ///\83f\83B\83\8c\83N\83g\83\8a\82Ì\88µ\82¢\82Ì\8aÈ\88Õ\89»\82Æ\83I\83u\83W\83F\83N\83g\82ð\83f\83X\83g\83\89\83N\83^\82Å\8e©\93®\94j\8aü\82³\82ê\82é\82æ\82¤\82É\82µ\82½\82à\82Ì
+       ///
+       class COpenJtalkCore{
+
+       private:
+               OpenJTalk openJtalk_internal;           //\93à\95\94\83I\83u\83W\83F\83N\83g
+               bool manageFlag;                                        //\8aÇ\97\9d\83t\83\89\83O
+               
+
+       protected:
+               ///
+               ///\83R\83\93\83X\83g\83\89\83N\83^
+               ///
+               COpenJtalkCore();
+
+               ///
+               ///\83f\83X\83g\83\89\83N\83^
+               ///
+               virtual ~COpenJtalkCore();
+
+               //\83R\83s\81[\83K\81[\83h
+       private:
+               COpenJtalkCore (const COpenJtalkCore&);
+               COpenJtalkCore& operator=(const COpenJtalkCore&);
+
+       protected:
+               ///
+               ///\8f\89\8aú\89»\8aÖ\90\94
+               ///
+               void Initialize( HTS_Boolean use_lpf, int sampling_rate,
+                          int fperiod, double alpha, int stage, double beta, int audio_buff_size,
+                          double uv_threshold, HTS_Boolean use_log_gain, double gv_weight_mgc,
+                          double gv_weight_lf0, double gv_weight_lpf);
+
+
+               ///
+               ///\89¹\90º\83t\83@\83C\83\8b\93Ç\82Ý\8d\9e\82Ý
+               ///
+               void Load( const TChar_P in_voiceDataDir,const TChar_P in_dictinalyDataDir, Char_P fn_ms_dur, Char_P fn_ts_dur,
+                    Char_P fn_ms_mgc, Char_P fn_ts_mgc, Char_P *fn_ws_mgc, int num_ws_mgc,
+                    Char_P fn_ms_lf0, Char_P fn_ts_lf0, Char_P *fn_ws_lf0, int num_ws_lf0,
+                    Char_P fn_ms_lpf, Char_P fn_ts_lpf, Char_P *fn_ws_lpf, int num_ws_lpf,
+                    Char_P fn_ms_gvm, Char_P fn_ts_gvm, Char_P fn_ms_gvl, Char_P fn_ts_gvl,
+                    Char_P fn_ms_gvf, Char_P fn_ts_gvf, Char_P fn_gv_switch);
+               
+       public:
+
+               ///
+               ///\89¹\90º\8d\87\90¬
+               ///
+               void Synthesis( Char_P txt, FILE * wavfp, FILE * logfp);
+
+
+       
+               ///
+               ///\83I\83u\83W\83F\83N\83g\82Ì\83N\83\8a\83A
+               ///
+               void Clear();
+
+       };
+       
+
+}
+}
\ No newline at end of file
diff --git a/speaker/speaker.vcxproj b/speaker/speaker.vcxproj
new file mode 100644 (file)
index 0000000..d5a802c
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{FBE9021E-5717-4EEE-A3AC-E4516C8A29AD}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>speaker</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <IncludePath>$(solutiondir)open_jtalk_lib;$(IncludePath)</IncludePath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <IncludePath>$(solutiondir)open_jtalk_lib;$(IncludePath)</IncludePath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>Use</PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>Use</PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <None Include="ReadMe.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="mei_normal.h" />
+    <ClInclude Include="open_jtalk_core.h" />
+    <ClInclude Include="speaker_define.h" />
+    <ClInclude Include="speaker_include.h" />
+    <ClInclude Include="stdafx.h" />
+    <ClInclude Include="targetver.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="mei_normal.cpp" />
+    <ClCompile Include="open_jtalk_core.cpp" />
+    <ClCompile Include="stdafx.cpp">
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+    </ClCompile>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/speaker/speaker.vcxproj.filters b/speaker/speaker.vcxproj.filters
new file mode 100644 (file)
index 0000000..e18f22f
--- /dev/null
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="ソース ファイル">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="ヘッダー ファイル">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="リソース ファイル">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="ReadMe.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="stdafx.h">
+      <Filter>ヘッダー ファイル</Filter>
+    </ClInclude>
+    <ClInclude Include="targetver.h">
+      <Filter>ヘッダー ファイル</Filter>
+    </ClInclude>
+    <ClInclude Include="open_jtalk_core.h">
+      <Filter>ヘッダー ファイル</Filter>
+    </ClInclude>
+    <ClInclude Include="speaker_include.h">
+      <Filter>ヘッダー ファイル</Filter>
+    </ClInclude>
+    <ClInclude Include="speaker_define.h">
+      <Filter>ヘッダー ファイル</Filter>
+    </ClInclude>
+    <ClInclude Include="mei_normal.h">
+      <Filter>ヘッダー ファイル</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="stdafx.cpp">
+      <Filter>ソース ファイル</Filter>
+    </ClCompile>
+    <ClCompile Include="open_jtalk_core.cpp">
+      <Filter>ソース ファイル</Filter>
+    </ClCompile>
+    <ClCompile Include="mei_normal.cpp">
+      <Filter>ソース ファイル</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/speaker/speaker.vcxproj.user b/speaker/speaker.vcxproj.user
new file mode 100644 (file)
index 0000000..ace9a86
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/speaker/speaker_define.h b/speaker/speaker_define.h
new file mode 100644 (file)
index 0000000..48d9b31
--- /dev/null
@@ -0,0 +1,22 @@
+#pragma once
+
+namespace speaker{
+
+       typedef char Char;
+       typedef wchar_t WChar;
+
+#ifdef _UNICODE
+
+       typedef WChar TChar;
+
+#else
+
+       typedef Char TChar;
+
+#endif
+
+
+       typedef Char *Char_P;
+       typedef WChar *WChar_P;
+       typedef TChar *TChar_P;
+}
\ No newline at end of file
diff --git a/speaker/speaker_include.h b/speaker/speaker_include.h
new file mode 100644 (file)
index 0000000..0636735
--- /dev/null
@@ -0,0 +1,8 @@
+#pragma once
+
+#include <open_jtalk_lib.h>
+
+#include "speaker_define.h"
+
+#include "open_jtalk_core.h"
+#include "mei_normal.h"
\ No newline at end of file
diff --git a/speaker/stdafx.cpp b/speaker/stdafx.cpp
new file mode 100644 (file)
index 0000000..c511a01
--- /dev/null
@@ -0,0 +1,8 @@
+// stdafx.cpp : \95W\8f\80\83C\83\93\83N\83\8b\81[\83h speaker.pch \82Ì\82Ý\82ð
+// \8aÜ\82Þ\83\\81[\83\83t\83@\83C\83\8b\82Í\81A\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\83w\83b\83_\81[\82É\82È\82è\82Ü\82·\81B
+// stdafx.obj \82É\82Í\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\8c^\8fî\95ñ\82ª\8aÜ\82Ü\82ê\82Ü\82·\81B
+
+#include "stdafx.h"
+
+// TODO: \82±\82Ì\83t\83@\83C\83\8b\82Å\82Í\82È\82­\81ASTDAFX.H \82Å\95K\97v\82È
+// \92Ç\89Á\83w\83b\83_\81[\82ð\8eQ\8fÆ\82µ\82Ä\82­\82¾\82³\82¢\81B
diff --git a/speaker/stdafx.h b/speaker/stdafx.h
new file mode 100644 (file)
index 0000000..d7efdb3
--- /dev/null
@@ -0,0 +1,16 @@
+// stdafx.h : \95W\8f\80\82Ì\83V\83X\83e\83\80 \83C\83\93\83N\83\8b\81[\83\83t\83@\83C\83\8b\82Ì\83C\83\93\83N\83\8b\81[\83\83t\83@\83C\83\8b\81A\82Ü\82½\82Í
+// \8eQ\8fÆ\89ñ\90\94\82ª\91½\82­\81A\82©\82Â\82 \82Ü\82è\95Ï\8dX\82³\82ê\82È\82¢\81A\83v\83\8d\83W\83F\83N\83g\90ê\97p\82Ì\83C\83\93\83N\83\8b\81[\83\83t\83@\83C\83\8b
+// \82ð\8bL\8fq\82µ\82Ü\82·\81B
+//
+
+#pragma once
+
+#include "targetver.h"
+
+#define WIN32_LEAN_AND_MEAN             // Windows \83w\83b\83_\81[\82©\82ç\8eg\97p\82³\82ê\82Ä\82¢\82È\82¢\95\94\95ª\82ð\8f\9c\8aO\82µ\82Ü\82·\81B
+
+
+
+// TODO: \83v\83\8d\83O\83\89\83\80\82É\95K\97v\82È\92Ç\89Á\83w\83b\83_\81[\82ð\82±\82±\82Å\8eQ\8fÆ\82µ\82Ä\82­\82¾\82³\82¢\81B
+#include <atlstr.h>
+#include <vector>
diff --git a/speaker/targetver.h b/speaker/targetver.h
new file mode 100644 (file)
index 0000000..10b7ccd
--- /dev/null
@@ -0,0 +1,8 @@
+#pragma once
+
+// SDKDDKVer.h \82ð\83C\83\93\83N\83\8b\81[\83h\82·\82é\82Æ\81A\97\98\97p\82Å\82«\82é\8dÅ\82à\8fã\88Ê\82Ì Windows \83v\83\89\83b\83g\83t\83H\81[\83\80\82ª\92è\8b`\82³\82ê\82Ü\82·\81B
+
+// \88È\91O\82Ì Windows \83v\83\89\83b\83g\83t\83H\81[\83\80\97p\82É\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\83r\83\8b\83h\82·\82é\8fê\8d\87\82Í\81AWinSDKVer.h \82ð\83C\83\93\83N\83\8b\81[\83h\82µ\81A
+// SDKDDKVer.h \82ð\83C\83\93\83N\83\8b\81[\83h\82·\82é\91O\82É\81A\83T\83|\81[\83g\91Î\8fÛ\82Æ\82·\82é\83v\83\89\83b\83g\83t\83H\81[\83\80\82ð\8e¦\82·\82æ\82¤\82É _WIN32_WINNT \83}\83N\83\8d\82ð\90Ý\92è\82µ\82Ü\82·\81B
+
+#include <SDKDDKVer.h>