https://livekit.io logo
Join Slack
Powered by
# helpdesk
  • r

    rapid-exabyte-31869

    06/14/2023, 11:44 AM
    Edit: Fixed.
    livekit-cli project add
    Hey there! Is anyone else having issues with LiveKit-CLI? The demo (https://example.livekit.io/) works perfectly with the token I generate, and my server responds well. But when I try to execute '`livekit-cli join-room ...`' it gives me the following response: "_could not establish signal connection_." I've tried it on both Linux and Windows with the same result. Can someone help me?
  • s

    steep-balloon-41261

    06/14/2023, 12:01 PM
    This message was deleted.
    👀 1
    r
    b
    • 3
    • 2
  • s

    steep-balloon-41261

    06/14/2023, 12:33 PM
    This message was deleted.
    d
    g
    • 3
    • 2
  • s

    steep-balloon-41261

    06/15/2023, 3:31 AM
    This message was deleted.
    m
    a
    h
    • 4
    • 3
  • s

    steep-balloon-41261

    06/15/2023, 6:49 AM
    This message was deleted.
    b
    b
    • 3
    • 3
  • s

    steep-balloon-41261

    06/15/2023, 6:16 PM
    This message was deleted.
    d
    • 2
    • 1
  • s

    steep-balloon-41261

    06/15/2023, 10:01 PM
    This message was deleted.
    d
    m
    a
    • 4
    • 7
  • s

    steep-balloon-41261

    06/16/2023, 9:17 AM
    This message was deleted.
    g
    g
    • 3
    • 6
  • s

    steep-balloon-41261

    06/16/2023, 12:58 PM
    This message was deleted.
    b
    p
    • 3
    • 12
  • s

    steep-balloon-41261

    06/16/2023, 1:54 PM
    This message was deleted.
    b
    d
    • 3
    • 4
  • m

    mammoth-eye-41400

    06/16/2023, 6:04 PM
    Hello everyone. I have a question. In file https://github.com/livekit-examples/kitt/blob/24ffc914e65de967b166af11f15e2650a8330860/lkgpt-service/pkg/service/gptparticipant.go#LL530C54-L530C66 , instead of reading from the stream data, I am trying to read from a file. I tried different code posting here one of them. But I am getting error '"msg":"Error sending packet to QueueReader","error":"invalid format", . Does anyone had this problem? is there any example code to try sending file audio?
    Copy code
    file, err := os.Open("../../test_audio.ogg")
    if err != nil {
    	fmt.Println("Error opening file:", err)
    	return "", err
    }
    defer file.Close()
    
    client := new(http.Client)
    
    buffer := make([]byte, 1024)
    
    for {
    
      go func() {
        defer close(currentCh)
        defer wg.Done()
    
        for {
          n, err := file.Read(buffer)
          if err != nil {
            if err == io.EOF {
              break
            }
            fmt.Println("Error reading file:", err, n)
            return
          }
    
          // Send the packet of data to QueueReader
          err = p.gptTrack.QueueReader(bytes.NewReader(buffer[:n]))
          if err != nil {
            logger.Errorw("Error sending packet to QueueReader", err)
            return
          }
        }
    
        _ = p.sendStatePacket(state_Speaking)
        wg.Add(1)
      }()
    }
  • s

    steep-balloon-41261

    06/16/2023, 8:01 PM
    This message was deleted.
    d
    e
    • 3
    • 4
  • s

    steep-balloon-41261

    06/17/2023, 9:34 PM
    This message was deleted.
    d
    j
    • 3
    • 7
  • s

    steep-balloon-41261

    06/17/2023, 9:36 PM
    This message was deleted.
    j
    r
    d
    • 4
    • 3
  • s

    steep-balloon-41261

    06/18/2023, 7:25 AM
    This message was deleted.
    r
    d
    • 3
    • 6
  • s

    steep-balloon-41261

    06/18/2023, 11:52 AM
    This message was deleted.
    ✅ 1
    j
    • 2
    • 2
  • s

    steep-balloon-41261

    06/18/2023, 5:14 PM
    This message was deleted.
    e
    n
    • 3
    • 10
  • s

    steep-balloon-41261

    06/19/2023, 7:48 AM
    This message was deleted.
    b
    e
    +2
    • 5
    • 33
  • s

    steep-balloon-41261

    06/19/2023, 1:57 PM
    This message was deleted.
    h
    m
    • 3
    • 4
  • s

    steep-balloon-41261

    06/19/2023, 4:02 PM
    This message was deleted.
    m
    r
    • 3
    • 5
  • s

    steep-balloon-41261

    06/19/2023, 7:43 PM
    This message was deleted.
    m
    g
    +2
    • 5
    • 6
  • s

    steep-balloon-41261

    06/20/2023, 6:44 AM
    This message was deleted.
    f
    d
    • 3
    • 8
  • s

    steep-balloon-41261

    06/20/2023, 10:45 AM
    This message was deleted.
    e
    r
    a
    • 4
    • 5
  • s

    steep-balloon-41261

    06/20/2023, 3:15 PM
    This message was deleted.
    g
    m
    +2
    • 5
    • 12
  • s

    steep-balloon-41261

    06/20/2023, 5:13 PM
    This message was deleted.
    m
    h
    b
    • 4
    • 4
  • s

    steep-balloon-41261

    06/20/2023, 6:16 PM
    This message was deleted.
    m
    a
    • 3
    • 2
  • s

    steep-balloon-41261

    06/20/2023, 8:06 PM
    This message was deleted.
    m
    i
    r
    • 4
    • 6
  • f

    fancy-army-59540

    06/21/2023, 12:46 AM
    This is regarding MEET KITT, i took the code and instead of Google transcribe , i am using deepgram api to transcribe the speech. the response is always empty. can you please suggest what could be wrong in it. ? this code is on transcriber.go
    Copy code
    func (t *Transcriber) start() error {
    	defer func() {
    		close(t.closeCh)
    	}()
    
    	for {
    		// stream, err := t.newStream()
    		stream, err := t.newDeepgramStream()
    		if err != nil {
    			if status, ok := status.FromError(err); ok && status.Code() == codes.Canceled {
    				return nil
    			}
    
    			logger.Errorw("failed to create a new speech stream", err)
    			t.results <- RecognizeResult{
    				Error: err,
    			}
    			return err
    		}
    
    		endStreamCh := make(chan struct{})
    		nextCh := make(chan struct{})
    
    		// Forward oggreader to the speech stream
    		go func() {
    			defer close(nextCh)
    			buf := make([]byte, 1024)
    			for {
    				select {
    				case <-endStreamCh:
    					return
    				default:
    					n, err := t.oggReader.Read(buf)
    					if err != nil {
    						if err != io.EOF {
    							logger.Errorw("failed to read from ogg reader", err)
    						}
    						return
    					}
    
    					if n <= 0 {
    						continue // No data
    					}
    
    					if err := stream.WriteMessage(websocket.BinaryMessage, buf[:n]); err != nil {
    						if err != io.EOF {
    							logger.Errorw("failed to forward audio data to speech stream", err)
    							t.results <- RecognizeResult{
    								Error: err,
    							}
    						}
    						return
    					}
    				}
    			}
    
    		}()
    
    		// Read transcription results
    		for {
    			_, msg, err := stream.ReadMessage() // Read from Deepgram
    			if err != nil {
    				log.Println("failed to read transcription message", err)
    				break
    			} else {
    				log.Println("Success awesome !!")
    			}
    
    			jsonParsed, _ := gabs.ParseJSON(msg)
    
    			log.Printf("recv 0--------------------------00000 : %s", jsonParsed.Path("channel.alternatives.0.transcript").String())
    			var txtMsg = jsonParsed.Path("channel.alternatives.0.transcript").String()
    
    			t.results <- RecognizeResult{
    				Text:    txtMsg,
    				IsFinal: true,
    			}
    		}
    
    		close(endStreamCh)
    
    		// When nothing is written on the transcriber (The track is muted), this will block because the oggReader
    		// is waiting for data. It avoids to create useless speech streams. (Also we end up here because Google automatically close the
    		// previous stream when there's no "activity")
    		//
    		// Otherwise (When we have data) it is used to wait for the end of the current stream,
    		// so we can create the next one and reset the oggSerializer
    		<-nextCh
    
    		// Create a new oggSerializer each time we open a new SpeechStream
    		// This is required because the stream requires ogg headers to be sent again
    		t.lock.Lock()
    		t.oggSerializer = nil
    		t.lock.Unlock()
    	}
    }
    
    
    func (t *Transcriber) newDeepgramStream() (*websocket.Conn, error) {
    
    	dg := *deepgram.NewClient("<MY API KEY....>")
    	options := deepgram.LiveTranscriptionOptions{
    		Language:  "en-US",
    		Punctuate: true,
    	}
    
    	dgConn, _, err := dg.LiveTranscription(options)
    	dgConn.SetWriteDeadline(time.Time{})
    	dgConn.SetReadDeadline(time.Time{})
    
    	if err != nil {
    		return nil, err
    	}
    
    	return dgConn, nil
    }
  • h

    hundreds-orange-8321

    06/21/2023, 6:02 AM
    Hi, are there any updates for the PiP quick guides on iOS?
  • s

    steep-balloon-41261

    06/21/2023, 6:06 AM
    This message was deleted.
    m
    a
    s
    • 4
    • 6
1...868788...91Latest