class_docstr: SpeechEncoder encodes speech into streams of (pseudo-)units, unit durations,
  and, optionally, F0.
class_docstr_tok: ["SpeechEncoder","encodes","speech","into","streams","of","(","pseudo-",")","units",",","unit","durations",",","and",",","optionally",",","F0","."]
docstr: Returns:
      torch.device: device where the speech encoder resides
docstr_tok: ["Returns",":","torch.device",":","device","where","the","speech","encoder","resides"]
code: def device(self) -> torch.device:
      """
      Returns:
          torch.device: device where the speech encoder resides
      """
      return self._float_tensor.device
  
file_path: textlesslib/textless/data/speech_encoder.py
imports: import torch
  import torch.nn
  import torchaudio
  from typing import Optional, Callable, Dict
  from textless import dispatch_dense_model, dispatch_quantizer
  from textless import dispatch_dense_model
  from textless.data.f0_preprocess import get_f0, align_f0_to_durations, F0_FRAME_SPACE
  from .collater_utils import wrap_bos_eos
label_desc: Use image node_id 3 for calling the SpeechEncoder obj's underlying member method code with example usage: obj.device() and returns: self