franck-li
Committed by GitHub

change [1<<28] to [1<<10], to fix build issues on GOARCH=386 that [1<<28] too large (#1916)

Co-authored-by: liyuzhi <liyuzhi@info.easeus.com.cn>
@@ -659,7 +659,7 @@ func (s *OfflineStream) GetResult() *OfflineRecognizerResult { @@ -659,7 +659,7 @@ func (s *OfflineStream) GetResult() *OfflineRecognizerResult {
659 result.Emotion = C.GoString(p.emotion) 659 result.Emotion = C.GoString(p.emotion)
660 result.Event = C.GoString(p.event) 660 result.Event = C.GoString(p.event)
661 result.Tokens = make([]string, n) 661 result.Tokens = make([]string, n)
662 - tokens := (*[1 << 28]*C.char)(unsafe.Pointer(p.tokens_arr))[:n:n] 662 + tokens := (*[1 << 10]*C.char)(unsafe.Pointer(p.tokens_arr))[:n:n]
663 for i := 0; i < n; i++ { 663 for i := 0; i < n; i++ {
664 result.Tokens[i] = C.GoString(tokens[i]) 664 result.Tokens[i] = C.GoString(tokens[i])
665 } 665 }
@@ -667,7 +667,7 @@ func (s *OfflineStream) GetResult() *OfflineRecognizerResult { @@ -667,7 +667,7 @@ func (s *OfflineStream) GetResult() *OfflineRecognizerResult {
667 return result 667 return result
668 } 668 }
669 result.Timestamps = make([]float32, n) 669 result.Timestamps = make([]float32, n)
670 - timestamps := (*[1 << 28]C.float)(unsafe.Pointer(p.timestamps))[:n:n] 670 + timestamps := (*[1 << 10]C.float)(unsafe.Pointer(p.timestamps))[:n:n]
671 for i := 0; i < n; i++ { 671 for i := 0; i < n; i++ {
672 result.Timestamps[i] = float32(timestamps[i]) 672 result.Timestamps[i] = float32(timestamps[i])
673 } 673 }
@@ -858,7 +858,7 @@ func (tts *OfflineTts) Generate(text string, sid int, speed float32) *GeneratedA @@ -858,7 +858,7 @@ func (tts *OfflineTts) Generate(text string, sid int, speed float32) *GeneratedA
858 858
859 // see https://stackoverflow.com/questions/48756732/what-does-1-30c-yourtype-do-exactly-in-cgo 859 // see https://stackoverflow.com/questions/48756732/what-does-1-30c-yourtype-do-exactly-in-cgo
860 // :n:n means 0:n:n, means low:high:capacity 860 // :n:n means 0:n:n, means low:high:capacity
861 - samples := (*[1 << 28]C.float)(unsafe.Pointer(audio.samples))[:n:n] 861 + samples := (*[1 << 10]C.float)(unsafe.Pointer(audio.samples))[:n:n]
862 // copy(ans.Samples, samples) 862 // copy(ans.Samples, samples)
863 for i := 0; i < n; i++ { 863 for i := 0; i < n; i++ {
864 ans.Samples[i] = float32(samples[i]) 864 ans.Samples[i] = float32(samples[i])
@@ -921,7 +921,7 @@ func (buffer *CircularBuffer) Get(start int, n int) []float32 { @@ -921,7 +921,7 @@ func (buffer *CircularBuffer) Get(start int, n int) []float32 {
921 921
922 result := make([]float32, n) 922 result := make([]float32, n)
923 923
924 - p := (*[1 << 28]C.float)(unsafe.Pointer(samples))[:n:n] 924 + p := (*[1 << 10]C.float)(unsafe.Pointer(samples))[:n:n]
925 for i := 0; i < n; i++ { 925 for i := 0; i < n; i++ {
926 result[i] = float32(p[i]) 926 result[i] = float32(p[i])
927 } 927 }
@@ -1017,7 +1017,7 @@ func (vad *VoiceActivityDetector) Front() *SpeechSegment { @@ -1017,7 +1017,7 @@ func (vad *VoiceActivityDetector) Front() *SpeechSegment {
1017 n := int(f.n) 1017 n := int(f.n)
1018 ans.Samples = make([]float32, n) 1018 ans.Samples = make([]float32, n)
1019 1019
1020 - samples := (*[1 << 28]C.float)(unsafe.Pointer(f.samples))[:n:n] 1020 + samples := (*[1 << 10]C.float)(unsafe.Pointer(f.samples))[:n:n]
1021 1021
1022 for i := 0; i < n; i++ { 1022 for i := 0; i < n; i++ {
1023 ans.Samples[i] = float32(samples[i]) 1023 ans.Samples[i] = float32(samples[i])
@@ -1171,7 +1171,7 @@ func (ex *SpeakerEmbeddingExtractor) Compute(stream *OnlineStream) []float32 { @@ -1171,7 +1171,7 @@ func (ex *SpeakerEmbeddingExtractor) Compute(stream *OnlineStream) []float32 {
1171 1171
1172 // see https://stackoverflow.com/questions/48756732/what-does-1-30c-yourtype-do-exactly-in-cgo 1172 // see https://stackoverflow.com/questions/48756732/what-does-1-30c-yourtype-do-exactly-in-cgo
1173 // :n:n means 0:n:n, means low:high:capacity 1173 // :n:n means 0:n:n, means low:high:capacity
1174 - c := (*[1 << 28]C.float)(unsafe.Pointer(embedding))[:n:n] 1174 + c := (*[1 << 10]C.float)(unsafe.Pointer(embedding))[:n:n]
1175 1175
1176 for i := 0; i < n; i++ { 1176 for i := 0; i < n; i++ {
1177 ans[i] = float32(c[i]) 1177 ans[i] = float32(c[i])
@@ -1273,7 +1273,7 @@ func (m *SpeakerEmbeddingManager) AllSpeakers() []string { @@ -1273,7 +1273,7 @@ func (m *SpeakerEmbeddingManager) AllSpeakers() []string {
1273 } 1273 }
1274 1274
1275 // https://stackoverflow.com/questions/62012070/convert-array-of-strings-from-cgo-in-go 1275 // https://stackoverflow.com/questions/62012070/convert-array-of-strings-from-cgo-in-go
1276 - p := (*[1 << 28]*C.char)(unsafe.Pointer(all_speakers))[:n:n] 1276 + p := (*[1 << 10]*C.char)(unsafe.Pointer(all_speakers))[:n:n]
1277 1277
1278 ans := make([]string, n) 1278 ans := make([]string, n)
1279 1279
@@ -1307,7 +1307,7 @@ func ReadWave(filename string) *Wave { @@ -1307,7 +1307,7 @@ func ReadWave(filename string) *Wave {
1307 1307
1308 ans := &Wave{} 1308 ans := &Wave{}
1309 ans.SampleRate = int(w.sample_rate) 1309 ans.SampleRate = int(w.sample_rate)
1310 - samples := (*[1 << 28]C.float)(unsafe.Pointer(w.samples))[:n:n] 1310 + samples := (*[1 << 10]C.float)(unsafe.Pointer(w.samples))[:n:n]
1311 1311
1312 ans.Samples = make([]float32, n) 1312 ans.Samples = make([]float32, n)
1313 1313
@@ -1428,7 +1428,7 @@ func (sd *OfflineSpeakerDiarization) Process(samples []float32) []OfflineSpeaker @@ -1428,7 +1428,7 @@ func (sd *OfflineSpeakerDiarization) Process(samples []float32) []OfflineSpeaker
1428 1428
1429 ans := make([]OfflineSpeakerDiarizationSegment, n) 1429 ans := make([]OfflineSpeakerDiarizationSegment, n)
1430 1430
1431 - p := (*[1 << 28]C.struct_SherpaOnnxOfflineSpeakerDiarizationSegment)(unsafe.Pointer(s))[:n:n] 1431 + p := (*[1 << 10]C.struct_SherpaOnnxOfflineSpeakerDiarizationSegment)(unsafe.Pointer(s))[:n:n]
1432 1432
1433 for i := 0; i < n; i++ { 1433 for i := 0; i < n; i++ {
1434 ans[i].Start = float32(p[i].start) 1434 ans[i].Start = float32(p[i].start)
@@ -1725,7 +1725,7 @@ func (tagging *AudioTagging) Compute(s *OfflineStream, topK int32) []AudioEvent @@ -1725,7 +1725,7 @@ func (tagging *AudioTagging) Compute(s *OfflineStream, topK int32) []AudioEvent
1725 defer C.SherpaOnnxAudioTaggingFreeResults(r) 1725 defer C.SherpaOnnxAudioTaggingFreeResults(r)
1726 result := make([]AudioEvent, 0) 1726 result := make([]AudioEvent, 0)
1727 1727
1728 - p := (*[1 << 28]*C.struct_SherpaOnnxAudioEvent)(unsafe.Pointer(r)) 1728 + p := (*[1 << 10]*C.struct_SherpaOnnxAudioEvent)(unsafe.Pointer(r))
1729 i := 0 1729 i := 0
1730 for { 1730 for {
1731 if p[i] == nil { 1731 if p[i] == nil {