Click here to Skip to main content
16,008,183 members
Home / Discussions / C#
   

C#

 
AnswerRe: How can I check if a table exists? Pin
The Man from U.N.C.L.E.12-Nov-09 9:36
The Man from U.N.C.L.E.12-Nov-09 9:36 
GeneralRe: How can I check if a table exists? Pin
Emmet_Brown12-Nov-09 9:39
Emmet_Brown12-Nov-09 9:39 
GeneralRe: How can I check if a table exists? Pin
Emmet_Brown12-Nov-09 9:47
Emmet_Brown12-Nov-09 9:47 
GeneralRe: How can I check if a table exists? Pin
The Man from U.N.C.L.E.12-Nov-09 10:48
The Man from U.N.C.L.E.12-Nov-09 10:48 
GeneralRe: How can I check if a table exists? Pin
Emmet_Brown12-Nov-09 10:56
Emmet_Brown12-Nov-09 10:56 
AnswerRe: How can I check if a table exists? Pin
PIEBALDconsult12-Nov-09 9:46
mvePIEBALDconsult12-Nov-09 9:46 
Question[Message Deleted] Pin
Michael Smacks12-Nov-09 8:46
Michael Smacks12-Nov-09 8:46 
QuestionHow to convert Dialogic .vox to .wav using c# or vb Pin
bruze12-Nov-09 8:45
bruze12-Nov-09 8:45 
Can any one help,

How to convert Dialogic .vox to .wav file using c# or vb.

I have dialog vox file,I need to convert Dialogic .vox to .wav file using c# or vb.

Below code using convert ADPCM Vox to Wav but my requirement is Dialogic .vox to .wav



Module moduleVOX2WAV

    Dim WaveHeader() As Int32 = New Int32() {&H46464952, &HFFFFFFDB, &H45564157, &H20746D66, 16, &H10001, 6000, 12000, &H100002, &H61746164, -1}
    Dim IndexShift() As Int16 = New Int16() {-1, -1, -1, -1, 2, 4, 6, 8}
    Dim StepSize() As Int16 = New Int16() {16, 17, 19, 21, 23, 25, 28, 31, 34, 37, 41, 45, 50, 55, 60, 66, 73, 80, 88, 97, 107, 118, 130, 143, 157, 173, 190, 209, 230, 253, 279, 307, 337, 371, 408, 449, 494, 544, 598, 658, 724, 796, 876, 963, 1060, 1166, 1282, 1411, 1552, 1707, 1878, 2066, 2272, 2499, 2749, 3024, 3327, 3660, 4026, 4428, 4871, 5358, 5894, 6484, 7132, 7845, 8630, 9493, 10442, 11487, 12635, 13899, 15289, 16818, 18500, 20350, 22385, 24623, 27086, 29794}
    Dim Nibble2Bit(,) As Int16 = New Int16(,) {{0, 0, 0, 0}, {0, 0, 0, 1}, {0, 0, 1, 0}, {0, 0, 1, 1}, {0, 1, 0, 0}, {0, 1, 0, 1}, {0, 1, 1, 0}, {0, 1, 1, 1}, {1, 0, 0, 0}, {1, 0, 0, 1}, {1, 0, 1, 0}, {1, 0, 1, 1}, {1, 1, 0, 0}, {1, 1, 0, 1}, {1, 1, 1, 0}, {1, 1, 1, 1}}
    Dim SignTable() As Int16 = New Int16() {1, -1}
    Dim StepSizeIndex As Int16 = 0
    Dim Signal As Int16 = -2
    Dim AvgBuffer() As Int16 = New Int16() {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    Dim AvgIndex As Int16 = 0
    Dim Total As Int32 = 0
    Dim Length As Int32
    Dim Offset As Int32
    Dim nibble As Int16
    Dim ReadBuffer(4096) As Byte
    Dim WriteBuffer(8192) As Int16

    Public Sub Convert(ByVal srcVOXFile As String, ByVal destWAVFile As String)
        Dim strm As New IO.FileStream(srcVOXFile, IO.FileMode.Open, IO.FileAccess.Read)
        FileOpen(2, destWAVFile, OpenMode.Binary, OpenAccess.Write, OpenShare.LockWrite)
        FilePut(2, WaveHeader)
        Length = 4096
        While Length = 4096
            Length = strm.Read(ReadBuffer, 0, 4096)
            For Offset = 0 To Length - 1
                nibble = 0
                Signal += Decode(ReadBuffer(Offset) \ 16)
                If (Signal > 2047 Or Signal < -2047) Then Truncate()
                WriteBuffer(2 * Offset) = Signal
                nibble = 1
                Signal += Decode(ReadBuffer(Offset) Mod 16)
                If (Signal > 2047 Or Signal < -2047) Then Truncate()
                WriteBuffer(2 * Offset + 1) = Signal
            Next
            FilePut(2, WriteBuffer)
            Total += Length
        End While
        strm.Close() : strm = Nothing
        Total = 4 * Total
        Length = Total + 36
        FilePut(2, Length, 4 + 1)
        FilePut(2, Total, 40 + 1)
        FileClose(2)
    End Sub

    Public Function Decode(ByVal i As Byte) As Int16
        Dim diff As Int16
        Dim value As Int32
        value = 2 * Total + 2 * Offset + nibble
        diff = SignTable(Nibble2Bit(i, 0)) * (StepSize(StepSizeIndex) * Nibble2Bit(i, 1) + (StepSize(StepSizeIndex) / 2) * Nibble2Bit(i, 2) + (StepSize(StepSizeIndex) / 4) * Nibble2Bit(i, 3) + (StepSize(StepSizeIndex) / 8))
        StepSizeIndex = StepSizeIndex + IndexShift(i Mod 8)
        If StepSizeIndex < 0 Then StepSizeIndex = 0
        If StepSizeIndex > 48 Then
            StepSizeIndex = 48
        End If
        Return diff
    End Function

    Public Sub Truncate()
        Dim value As Int32
        value = 2 * Total + 2 * Offset + nibble
        If Signal > 2047 Then Signal = 2047
        If Signal < -2047 Then Signal = -2047
    End Sub

End Module



Thanks,
Bruze
AnswerRe: How to convert Dialogic .vox to .wav using c# or vb Pin
Christian Graus12-Nov-09 9:17
protectorChristian Graus12-Nov-09 9:17 
QuestionListView or not? Pin
Blubbo12-Nov-09 8:28
Blubbo12-Nov-09 8:28 
AnswerRe: ListView or not? Pin
Saksida Bojan12-Nov-09 8:41
Saksida Bojan12-Nov-09 8:41 
GeneralRe: ListView or not? Pin
Blubbo13-Nov-09 3:10
Blubbo13-Nov-09 3:10 
Questionhow to get the recognized phoneme in SAPI [modified] Pin
Xelalem12-Nov-09 7:49
Xelalem12-Nov-09 7:49 
AnswerRe: how to get the recognized phoneme in SAPI Pin
Elgimas14-Nov-09 12:12
Elgimas14-Nov-09 12:12 
GeneralRe: how to get the recognized phoneme in SAPI Pin
Xelalem15-Nov-09 6:00
Xelalem15-Nov-09 6:00 
GeneralRe: how to get the recognized phoneme in SAPI Pin
Elgimas19-Nov-09 15:52
Elgimas19-Nov-09 15:52 
QuestionMultiple inheritance.. Pin
kumar sanghvi12-Nov-09 7:33
kumar sanghvi12-Nov-09 7:33 
AnswerRe: Multiple inheritance.. Pin
Abhishek Sur12-Nov-09 8:03
professionalAbhishek Sur12-Nov-09 8:03 
AnswerRe: Multiple inheritance.. Pin
Christian Graus12-Nov-09 9:24
protectorChristian Graus12-Nov-09 9:24 
AnswerRe: Multiple inheritance.. Pin
PIEBALDconsult12-Nov-09 9:37
mvePIEBALDconsult12-Nov-09 9:37 
AnswerRe: Multiple inheritance.. Pin
Shameel12-Nov-09 22:42
professionalShameel12-Nov-09 22:42 
GeneralRe: Multiple inheritance.. Pin
Paulo Zemek13-Nov-09 2:02
Paulo Zemek13-Nov-09 2:02 
Questionhow to find list of all the url tabs of IE presently running (multiple tabs) its name as application for each find cpu usage? Pin
namratabuddhadev12-Nov-09 6:58
namratabuddhadev12-Nov-09 6:58 
AnswerRe: how to find list of all the url tabs of IE presently running (multiple tabs) its name as application for each find cpu usage? Pin
The Man from U.N.C.L.E.12-Nov-09 9:43
The Man from U.N.C.L.E.12-Nov-09 9:43 
AnswerRe: how to find list of all the url tabs of IE presently running (multiple tabs) its name as application for each find cpu usage? Pin
Shameel12-Nov-09 22:46
professionalShameel12-Nov-09 22:46 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.